แก้ไข static route บนลีนุกซ์

บทความนี้อธิบายการแก้ไข static route บน ลีนุกซ์ โดยจะมีทั้งการแสดง routing tablle ที่มีอยู่ การเพิ่ม ลบ route รวมทั้งวิธีการคอนฟิกให้ตอนบู๊ตเครื่อง ให้คอนฟิก static route โดยอัตโนมัติ

แสดง routing table

ใช้คำสั่ง netstat -rn เพื่อแสดง routing table ของเครื่อง

[root@fc11-64a ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.3.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         192.168.3.1     0.0.0.0         UG        0 0          0 eth0

อีกคำสั่งหนึ่งที่ให้ผลลัพธ์ใกล้เคียงกันคือคำสั่ง route -n

[root@fc11-64a ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.3.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.3.1     0.0.0.0         UG    0      0        0 eth0

เพิ่ม static route

การเพิ่ม static route ไปยัง subnet สามารถทำได้โดยใช้คำสั่ง route add ระบุออปชั่น ‘-net’ ตามด้วย subnet และ netmask ที่ต้องการ สุดท้ายระบุว่าไปทาง router หรือ gateway ตามหลัง ออปชั่น ‘gw’

[root@fc11-64a ~]# route add -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.3.2
[root@fc11-64a ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.5.0     192.168.3.2     255.255.255.0   UG    0      0        0 eth0
192.168.3.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.3.1     0.0.0.0         UG    0      0        0 eth0

การเพิ่ม static route ไปยัง host หรือเครื่อง ip address ที่ระบุ ทำได้โดยใช้คำสั่ง route add ระบุออปชั่น ‘-host’ ตามด้วย ip address ปลายทาง สุดท้ายระบุว่าไปทาง router หรือ gateway ตามหลัง ออปชั่น ‘gw’

[root@fc11-64a ~]# route add -host 192.168.5.10 gw 192.168.3.3
[root@fc11-64a ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.5.10    192.168.3.3     255.255.255.255 UGH       0 0          0 eth0
192.168.5.0     192.168.3.2     255.255.255.0   UG        0 0          0 eth0
192.168.3.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         192.168.3.1     0.0.0.0         UG        0 0          0 eth0

การเพิ่ม default gateway ทำได้โดย ใช้คำสั่ง route add ระบุออปชั่น ‘default gw’ แล้วตามด้วย ip address ของ gateway หรือ router

[root@fc11-64a ~]# route add default gw 192.168.3.4
[root@fc11-64a ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.5.10    192.168.3.3     255.255.255.255 UGH       0 0          0 eth0
192.168.5.0     192.168.3.2     255.255.255.0   UG        0 0          0 eth0
192.168.3.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         192.168.3.4     0.0.0.0         UG        0 0          0 eth0
0.0.0.0         192.168.3.1     0.0.0.0         UG        0 0          0 eth0

ลบ static route

การลบ static route ไปยัง subnet สามารถทำได้โดยใช้คำสั่ง route del ระบุออปชั่น ‘-net’ ตามด้วย subnet และ netmask ที่ต้องการลบ และ ‘gw’ ที่ชี้ไป

[root@fc11-64a ~]# route del -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.3.2

การลบ static route ไปยัง host หรือเครื่อง ip address ที่ระบุ ทำได้โดยใช้คำสั่ง route del ระบุออปชั่น ‘-host’ ตามด้วย ip address ปลายทาง สุดท้ายระบุว่าไปทาง router หรือ gateway ตามหลัง ออปชั่น ‘gw’

[root@fc11-64a ~]# route del -host 192.168.5.10 gw 192.168.3.3

การลบ default gateway ทำได้โดย ใช้คำสั่ง route del ระบุออปชั่น ‘default gw’ แล้วตามด้วย ip address ของ gateway หรือ router ที่ต้องการลบ

[root@fc11-64a ~]# route del default gw 192.168.3.4

ไฟล์ static-routes

หากต้องการให้เครื่องลีนุกซ์คอนฟิกเพิ่ม static routes ที่ต้องการตอนบู๊ตเครื่องโดยอัตโนมัติ สามารถทำได้โดยการใส่ ข้อมูล route ไว้ในไฟล์ /etc/sysconfig/static-routes

ตัวอย่างไฟล์ สำหรับเพิ่ม static-routes ไปยัง subnet และ host ตามตัวอย่างด้านบน ให้คอนฟิกตอนบู๊ตเครื่อง

[root@fc11-64a ~]# cat /etc/sysconfig/static-routes
any net 192.168.5.0 netmask 255.255.255.0 gw 192.168.3.2
any host 192.168.5.10 gw 192.168.3.3

สำหรับ default gateway ต้องใส่เป็น ตัวแปรชื่อ “GATEWAY” ไว้ในไฟล์ /etc/sysconfig/network หรือไฟล์ /etc/sysconfig/network-scripts/ifcfg-eth0 ตัวอย่างเช่น

[root@fc11-64a ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=fc11-64a.spalinux.com
GATEWAY=192.168.3.4

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

Leave a Reply

Your email address will not be published.