การตั้งค่าชื่อโฮสต์มีอะไรบ้าง


13

ฉันมีเซิร์ฟเวอร์ Amazon EC2 หลายแห่งและฉันใช้ Chef เพื่อจัดการการกำหนดค่า ฉันต้องการตั้งค่าชื่อโฮสต์เพื่อให้ bash prompt เป็นประโยชน์มากกว่า

ตอนนี้หลังจากเปิดตัวเซิร์ฟเวอร์ใหม่มันเพิ่งตั้งเป็น:

root@ip-10-123-123-123

ตั้งแต่ฉันใช้อูบุนตู 12 กล่องเหล่านี้ผมปรึกษาหน้าคนที่สอดคล้องกันสำหรับชื่อโฮสต์ มีข้อมูลที่ดีมากมายเกี่ยวกับวิธีการตั้งค่าและพูดคุยเล็กน้อยเกี่ยวกับชื่อโฮสต์และ fqdn แต่มันไม่ได้บอกสิ่งที่ฉันต้องการรู้จริง ๆ :

การตั้งค่าชื่อโฮสต์มีอะไรบ้าง

ฉันต้องการสมมติว่าการตั้งค่าชื่อโฮสต์ส่วนใหญ่เป็นรายการอำนวยความสะดวกสำหรับผู้ใช้และ sysadmins โดยให้กล่องเป็นใบหน้า / ชื่อที่ดีเพื่อให้สามารถจดจำได้ง่ายขึ้นภายใน (ผ่านทางพรอมต์คำสั่งอีเมลที่ส่งไป ฯลฯ ) แต่ฉันไม่คิดบวก

ฉันไม่เห็นชื่อโฮสต์ที่แสดงอยู่ใน/etc/hostsไฟล์ซึ่งดูเหมือนว่าเป็นสัญญาณที่ดีว่าจะไม่มีผลกระทบใด ๆ หากมีการเปลี่ยนแปลง:

127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

ฉันกำลังติดตามใช่ไหม? การตั้งค่าชื่อโฮสต์มีอะไรบ้าง

ปรับปรุง

ฉันพยายามเปลี่ยนชื่อโฮสต์บนอินสแตนซ์ ec2 ของฉันจากip-10-123-123-123เป็นwebserverและhostname --fqdnไม่ทำงานอีกต่อไป ถ้าฉันนำมันกลับมาแล้วมันใช้งานได้ดี Apache ยังให้ข้อผิดพลาดกับฉันเมื่อเริ่มต้นซึ่งไม่สามารถระบุ fqdn ที่เชื่อถือได้ ฉันคิดว่าจะต้องมีวิธีการตั้งชื่อโฮสต์โดยไม่ต้องวุ่นวาย fqdn


ฉันพบด้วยเราสามารถตั้งชื่อโฮสต์ที่จำง่ายสำหรับอินสแตนซ์ EC2 ได้หรือไม่ และโพสต์คำตอบตามสิ่งที่ฉันพบ แต่ก็ยังมีช่องโหว่อยู่บ้าง
cwd

คำตอบ:


15

ฉันแค่อยากจะเพิ่มว่าชื่อโฮสต์ควรจะแก้ไขได้ทั้งผ่าน DNS หรือ / etc / hosts หากไม่เป็นเช่นนั้นเครื่องมือจำนวนมากอาจมีความล่าช้านานเนื่องจากการค้นหาชื่อโฮสต์ที่ล้มเหลว ฉันมีปัญหากับโปรแกรม GUI มากมาย


นี่เป็นจุดสำคัญมาก ฉันจะโหวตมากกว่าหนึ่งครั้งถ้าทำได้ ขอบคุณ!
cwd

สิ่งนี้จะตอบคำถามได้จริง หากคุณเปลี่ยนชื่อโฮสต์เป็นสิ่งที่แก้ไขได้จริงแล้วก็hostname --fqdnยังใช้งานได้
bryant

12

ชื่อโฮสต์ (ตั้งค่าและแสดงโดยhostnameคำสั่งและโดยทั่วไปแล้วเก็บไว้ใน/etc/hostname) จะถูกใช้โดยแอปพลิเคชันท้องถิ่น เครื่องอื่นไม่รู้จักและไม่สามารถใช้เพื่อติดต่อโฮสต์ โดยทั่วไปชื่อโฮสต์จะปรากฏใน shell prompts และแอปพลิเคชั่นต่าง ๆ อาจใช้เพื่อการเข้าสู่ระบบตัวอย่างเช่นโดยซอฟต์แวร์ควบคุมเวอร์ชันเมื่อคุณทำการส่งข้อมูล

ไม่มีการเชื่อมต่อทางเทคนิคระหว่างชื่อโฮสต์และชื่อใด ๆ ที่เครื่องอื่นอาจใช้เพื่อกำหนดเครื่องของคุณ DNSคือสิ่งที่โดยปกติจะใช้ชื่อเครื่องในบริบททางอินเทอร์เน็ต (หรืออย่างแม่นยำมากขึ้น, การเชื่อมต่อเครือข่าย) เป็นความคิดที่ดีถ้าชื่อโฮสต์ของคุณเหมือนกับส่วนประกอบแรกของชื่อ DNS ของอินเทอร์เฟซเครือข่ายของเครื่องที่คนส่วนใหญ่เห็น ตัวอย่างเช่นหากเซิร์ฟเวอร์ของคุณเชื่อมต่อกับส่วนที่เหลือของโลกผ่านทางeth0อินเตอร์เฟส Ethernet และที่อยู่ IP ของeth0มีชื่อfoo.example.comเป็นความคิดที่ดีที่จะเลือกfooเป็นชื่อโฮสต์ของคุณ ถ้าคุณทำเช่นfoo.example.comนั้นมักจะเรียกว่าFQDN(ชื่อโดเมนแบบเต็ม) ของเครื่องของคุณ แต่คุณมีอิสระที่จะปล่อยให้พวกเขาไม่ตรงกัน; ความคลาดเคลื่อนอาจทำให้ผู้ดูแลระบบสับสน แต่ไม่สำคัญกับซอฟต์แวร์

อาจใช้ชื่อโฮสต์โดยโปรโตคอลเครือข่ายบางตัวเพื่อระบุโฮสต์ ถ้าเป็นเช่นนั้นจะต้องมีการส่งโดยกระบวนการท้องถิ่นที่ทำงานบนโฮสต์ ตัวอย่างเช่นในการตั้งค่าบางอย่างไคลเอ็นต์DHCPจะส่งชื่อโฮสต์ไปยังเซิร์ฟเวอร์ DHCP เพื่อรับที่อยู่ IP เซิร์ฟเวอร์ DHCP อาจใช้ชื่อโฮสต์ที่อ้างสิทธิ์เพื่อตัดสินใจว่าจะใช้ที่อยู่ IP ของแอตทริบิวต์ของไคลเอ็นต์ ในการตั้งค่าดังกล่าวจำเป็นต้องมีชื่อโฮสต์ที่ตรงกับชื่อ DNS

ที่เกี่ยวข้อง: ทำไมชื่อโฮสต์ของฉันต่างจาก Emacs? ; วิธีทำให้เครื่องสามารถเข้าถึงได้จาก LAN โดยใช้ชื่อโฮสต์


1
ไม่ใช่เรื่องจริงที่เครื่องอื่นไม่รู้จัก ชื่อโฮสต์นั้นถูกส่งโดยระบบปฏิบัติการหลายระบบไปยังเซิร์ฟเวอร์ DHCP เมื่อร้องขอการเช่า DHCP และเซิร์ฟเวอร์ DHCP / DNS จำนวนมากใช้เพื่ออัปเดตโซน DNS ภายในเครื่อง mDNS ใช้ชื่อโฮสต์ใช้โดย samba (ในการติดตั้ง samba เริ่มต้นส่วนใหญ่) จะปรากฏในเซิร์ฟเวอร์ HTTP ...
Stéphane Chazelas

@sch จุดที่ดีเกี่ยวกับการพูดถึง DHCP ฉันไม่ทราบจุดของคุณเกี่ยวกับ httpd: เป็นกระบวนการในตัวเครื่องที่อาจตัดสินใจส่งชื่อโฮสต์ผ่านเครือข่าย แต่ชื่อโฮสต์นั้นยังไม่เป็นที่รู้จักสำหรับเครื่องอื่นเว้นแต่ว่าโฮสต์ได้ส่งไปแล้ว
Gilles 'หยุดความชั่วร้าย'

ฉันคิดว่านี่เป็นคำตอบที่ดี แต่หลังจากเล่นไปอีกซักพักฉันไม่แน่ใจว่ามันสมบูรณ์หรือไม่ ดูเหมือนว่าถ้าฉันเปลี่ยนชื่อโฮสต์ของฉัน (ip-10-123-123-123) เป็นอย่างอื่นก็hostname --fqdnไม่สามารถใช้งานอินสแตนซ์ ec2 ได้อีกต่อไปและ apache จะให้คำเตือนเมื่อเริ่มต้นขึ้นซึ่งไม่สามารถกำหนด fqdn ที่เชื่อถือได้ ฉันไม่แน่ใจว่าจะหาข้อมูลเพิ่มเติมเกี่ยวกับสิ่งเหล่านี้รวมกันได้อย่างไร ขอบคุณที่เริ่มฉัน
cwd

1
hostname --fqdn(DNS) ดูเหมือนจะใช้ในการบันทึก unix.stackexchange.com/questions/319737/…
sourcejedi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.