/ etc / hosts, / etc / sysconfig / network และ hostname?


12

ฉันต้องเปลี่ยนชื่อโฮสต์บนเซิร์ฟเวอร์ centos ซึ่งจะให้บริการ www.myserver.com

ฉันจะทำอะไรต้องทำ/etc/hosts, /etc/sysconfig/networkและมีhostnameคำสั่ง?

ใน/etc/sysconfig/networkฉันต้องเขียนนี้:

HOSTNAME=www.myserver.com

หรือสิ่งนี้:

HOSTNAME=myserver.com

ใน/etc/hostsฉันต้องเขียนนี้:

XXX.XXX.XXX.XXX     myserver.com

หรือสิ่งนี้:

XXX.XXX.XXX.XXX     wwww.myserver.com www

ฉันต้องทำsudo hostname www.myserver.comหรือsudo hostname myserver.comไม่?

ขอบคุณมาก!

อัปเดต:

มีอะไรอีกบ้างที่ฉันต้องตั้งค่าเกี่ยวกับชื่อโฮสต์?


ฉันไม่เข้าใจด้วยซ้ำว่าทำไมไม่มีใครสนใจที่จะทำสิ่งนี้ ฉันเห็นการกล่าวถึงด้านล่างของการใช้hostname -fดังนั้นฉันเดาว่าคุณจะได้hostnameรับคำสั่งที่ใช้งานได้ดี แต่มีอะไรอีกไหม
แรนดี้ L

คำตอบ:


10

ไฟล์ / etc / sysconfig / network เป็นแหล่งที่สคริปต์เริ่มทำงานใช้อาร์กิวเมนต์สำหรับคำสั่ง 'hostname' และนี่ควรเป็นเพียงชื่อเครื่องที่ไม่ผ่านการรับรองโดยสมบูรณ์ ส่วนโดเมนนั้นมักจะกำหนดไว้ในไฟล์ /etc/resolv.conf

สมมติว่าชื่อโฮสต์แบบเต็มคือ 'lemon.example.com' ('www' ดูไม่เหมือนชื่อโฮสต์ที่ดีสำหรับฉัน) จากนั้น:

  • / etc / sysconfig / เครือข่าย: HOSTNAME=lemon
  • /etc/resolv.conf (ไปทางขวา 'nameserver' จะได้รับ): search example.com
  • / etc / hosts (ไม่ควรจำเป็นถ้า DNS ทำงานอย่างถูกต้อง): XXX.XXX.XXX.XXX lemon.example.com lemon

หากทุกอย่างได้รับการกำหนดค่าอย่างเหมาะสมhostnameคำสั่งจะส่งคืน "lemon" และhostname -fจะส่งคืน "lemon.example.com"

ในกรณีของคุณดูเหมือนว่าชื่อโฮสต์คือ 'www' ในโดเมน 'myserver.com' ... ฉันไม่คิดว่าเป็นสิ่งที่คุณต้องการ 'www' อาจเป็นนามแฝง (DNS CNAME) ... หากคุณต้องการในไฟล์ / etc / hosts ของคุณจากนั้นต่อท้ายมันด้วย IP ของคุณ:

XXX.XXX.XXX.XXX lemon.example.com lemon www.myserver.com

การตั้งค่าจาก / etc / sysconfig / เครือข่ายจะถูกนำไปใช้หลังจากที่รีสตาร์ทเครือข่าย คุณสามารถตั้งชื่อโฮสต์ได้ทันทีด้วยhostnameคำสั่ง การเปลี่ยนแปลง / etc / hosts และ /etc/resolv.conf จะทำงานทันที (ยกเว้นแอปพลิเคชันที่เก็บแคชข้อมูลเก่าไว้)


0

การตั้งค่าของคุณควรมีลักษณะเช่นนี้:

  • /etc/sysconfig/network: HOSTNAME=www.myserver.com
  • /etc/hosts: XXX.XXX.XXX.XXX wwww.myserver.com www

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

เท่าที่ฉันจำได้นี่คือการเปลี่ยนแปลงทั้งหมดที่คุณต้องทำ


3
หากคุณใส่ FQDN ใน / etc / sysconfig / network คำสั่ง 'hostname' และ 'hostname -f' จะส่งคืนค่า FQDN ที่เหมือนกัน มันไม่ถูกต้องจริงๆ 'ชื่อโฮสต์' ควรส่งคืนชื่อโฮสต์จริง
Shaun Dewberry
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.