/ etc / hostnameและ/ etc / hostsนั้นง่าย แต่ก็ไม่ง่ายเหมือนกัน ...
วิธีการตั้งค่า Debian /etc/hostname
และ/etc/hosts
1)แก้ไข/ etc / ชื่อโฮสต์
มี 2 วิธีที่ถูกต้องในการตั้งค่านี้
ทั้งทำให้มัน:
machine
คือชื่อคำง่ายๆสำหรับโปรเซสเซอร์นี้
ตัวอย่างเช่น ' joe
' อาจเป็นชื่อเครื่องที่คุณเลือกเอง
หมายเหตุสิ่งนี้จะต้องมีนามแฝงใน / etc / hosts อธิบายเพิ่มเติมด้านล่าง
หรือ
machine.domain.net
คือชื่อโดเมนที่ผ่านการรับรองโดยสมบูรณ์ (FQDN)
ตัวอย่างเช่น ' joe.xyz.com
'
(นี่คือสมมติว่าคุณมีระเบียน DNS 'A' ที่โฮสต์จาก joe.xyz.com ไปยังที่อยู่ IP ของ joe ของคุณเช่นที่เครื่องของคุณชื่อ joe โดยปกติแล้วคุณจะตั้งค่าระเบียนนี้ในตำแหน่งที่คุณซื้อชื่อโดเมนของคุณ ครู่หนึ่ง.)
เมื่อตั้งค่า/ etc / hostnameแล้วขั้นตอนต่อไปคือการรับคำสั่งhostname --all-fqdn
และdnsdomainname
ทำงานอย่างถูกต้องตามลำดับดังต่อไปนี้:
2)แก้ไข/ etc / hosts
ในนั้นมีบรรทัดสำหรับFQDNของโฮสต์นี้เช่น 'machine.domain.net' นำหน้าด้วยที่อยู่ IP ของเครื่องนี้ (อาจมาจากเซิร์ฟเวอร์ที่อยู่ IP แบบไดนามิก) ดังนี้:
# IP FQDN (CANONICAL_HOSTNAME) ALIASES
#-------------- --------------------------- ------------------------
192.168.1.14 Joe.xyz.com joe
ครั้งแรกที่ทราบว่ากรณีบนหรือล่างไม่ได้เรื่องที่นี่ เคล็ดลับ:การเปิดใช้ตัวพิมพ์ใหญ่บางตัวทำให้เราสามารถสังเกตได้ว่ามีสิ่งใดบ้างที่มาจากในขั้นตอนถัดไป ดังนั้นฉันจึงใช้อักษรตัวใหญ่ของJ oe
โปรดทราบว่าเพื่อให้ง่ายhostname
(เช่น / etc / hostname = 'machine') เพื่อสร้าง FQDN อย่างถูกต้องต้องมีนามแฝงที่ชื่อว่า 'machine' ใน / etc / hosts นั่นเป็นเหตุผลที่นามแฝงโจอยู่ที่นั่น (BTW มันก็โอเคที่จะมีนามแฝงนั้นแม้ว่าคุณจะไม่ได้ใช้ก็ตาม) ไม่เช่นนั้นไม่จำเป็นต้องใช้นามแฝงหรือใช้
นอกจากนี้โปรดทราบว่า 'domain.net' จะต้องแก้ไขได้นั่นคือต้องมีระเบียน A อยู่ใน DNS นี่คือสิ่งที่เรียกว่า ' resolvable ' (เช่นโดยตัวแก้ไข DNS)
3) ตอนนี้ติดตั้งการตั้งค่าใหม่เหล่านี้จาก / etc / hostname และ / etc / hosts ลงในเคอร์เนลโดยเรียกใช้:
$ /etc/init.d/hostname.sh # Or by rebooting
4) ทดสอบชื่อโฮสต์
$ hostname # Reports the hostname previously read from in /etc/hostname.
joe
หรือ
$ hostname
joe.xyz.com
เคล็ดลับ:
โปรดสังเกตว่านี่ไม่ใช่สิ่งที่เป็น / etc / hostname ในปัจจุบันเช่นถ้าคุณแก้ไขอีกครั้งในขณะนี้ แต่แทนที่จะเป็นสิ่งที่เคยอ่านมาก่อนหน้านี้โดยสคริปต์ /etc/init.d/hostname.sh อาจเป็นผลมาจากการรีบูต
โปรดสังเกตด้วยว่า 'j' เป็นตัวพิมพ์เล็กดังนั้นสิ่งนี้จึงแนะนำว่ามาจาก / etc / hostname ไม่ใช่ / etc / hosts
5) ทดสอบ FQDN
$ hostname --all-fqdn #reports the FQDN(s) matched in /etc/hosts.
Joe.xyz.com # It searches /etc/hosts for the joe in /etc/hostname.
# Notice that the 'J' is uppercase.
# This suggest it came from /etc/hosts.
6) ทดสอบชื่อโดเมน DNS
$ dnsdomainname #reports the computed DNS doman name
xyz.com # (i.e. the right most part of the FQDN;
# the part to the right of the first, left most, dot)
# This is coming from Joe.xyz.com in /hosts,
# after 'Joe.' is removed.
ตอนนี้ควรทำให้การตั้งค่าเว็บและเซิร์ฟเวอร์อีเมลง่ายขึ้น
myname
อยู่ใดใน / etc / hosts