ลบ route เน็ต 169.254.0.0 ออกจากลีนุกซ์ CentOS

Zeroconf ช่วยให้เครื่องที่อยู่ในเน็ตเดียวกันสามารถคุยกันได้ แม้ไม่ต้องคอนฟิก IP หรือไม่ต้องใช้ DHCP  โดย Zeroconf จะคอนฟิกไอพีให้อยู่ในเน็ต 169.254.0.0 (link-local) โดยอัตโนมัติ ใช้งานได้ทั้ง Windows, Linux

หากลองสังเกตดู เช่นคุณตั้งใจเซ็ตให้เครื่องรับไอพีจาก DHCP Server แต่ DHCP ใช้งานไม่ได้ ไม่ว่าจะเหตุผลใดก็ตาม ลองดู Status จะเห็นว่าเครื่องคุณจะได้ไอพีที่อยู่ในเน็ต 169.254.0.0 มาโดยอัตโนมัติ

ตัวอย่างการได้รับไอพี 169.254.0.0 บนเครื่องที่ติดตั้ง Windows 7 ในกรณีที่ DHCP ใช้งานไม่ได้

01-win7-zeroconf

บนลีนุกซ์ ถึงแม้คุณจะใส่คอนฟิกไอพี (static) เรียบร้อยแล้ว ก็ยังมี route วงนี้ขึ้นมาอีก เราต้องการจะลบ route นี้ออกไป เพื่อป้องกันความสับสน

02-net

ลองมาดูวิธีการลบ route 169.254.0.0 หรือยกเลิกการใช้ Zeroconf กัน โดยวิธีนี้สามารถใช้ได้กับ CentOS และลีนุกซ์ตระกูล RedHat อื่นๆ เช่น Fedora, Oracle Linux

ตัวอย่าง route บน CentOS

[root@cent6-min ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.5.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
0.0.0.0         192.168.5.1     0.0.0.0         UG        0 0          0 eth0

แก้ไขไฟล์ /etc/sysconfig/network โดยใส่คอนฟิกบรรทัด NOZEROCONF=yes เพิ่มเข้าไป

[root@cent6-min ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=cent6-min.example.com
NOZEROCONF=yes

รันคำสั่ง service network restart เพื่อให้คอนฟิกใหม่มีผล

[root@cent6-min ~]# service network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                [  OK  ]

รันคำสั่ง netstat -rn เพื่อแสดง route หลังไม่ใช้ Zeroconf

[root@cent6-min ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.5.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         192.168.5.1     0.0.0.0         UG        0 0          0 eth0

คำเตือน การรันคำสั่ง service network restart อาจมีผลกับการส่งข้อมูล เพราะเป็นการรีคอนฟิกเน็ตเวิร์กของเครื่องใหม่

อีกวิธีที่ลบแค่ route เน็ต 169.254.0.0 นี้ โดยไม่กระทบกับคอนฟิกเน็ตเวิร์กส่วนอื่นๆ คือใช้คำสั่ง ip route delete ลบ route นี้ออกไป

[root@cent6-min ~]# ip route delete 169.254.0.0/16 dev eth0

ข้อมูลอ้างอิง

2 thoughts on “ลบ route เน็ต 169.254.0.0 ออกจากลีนุกซ์ CentOS”

  1. คือผมใช้วินโดวส์ อ่ะคับ คำสั่งนี้ใช้ได้กับวินโดวส์มั้ย คับ ผมใช้คำสั่ง DOS ไม่เป็น ผมอยากรบกวนบอกละเอียดหน่อยคับ ขอบคุณคับ

  2. บนวินโดวส์ใช้ได้มั้ยคับ พอดีผมใช้คำสั่งพวกนี้ไม่เป็น รบกวน อธิบายละเอียด หน่อยคับ
    ขอบคุณคับ

Leave a Reply

Your email address will not be published.