Linux setup default gateway with route command
如何用指令模式設定linux預設閘道器??
在設定 route 之前先顯示一下該機器的 routing table. 可以直接用 route 命令
[USER@Aloha ~]$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.5.0 * 255.255.255.0 U 0 0 0 eth1
10.1.1.0 * 255.255.255.0 U 0 0 0 eth0
default 10-1-1-254 0.0.0.0 UG 0 0 0 eth0
也當然可以用 route -n 命令. 直接看各個 ip 位址.
[USER@Aloha ~]$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.5.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 10.1.1.254 0.0.0.0 UG 0 0 0 eth0
由上面的 routing table 代表要往 192.168.5/24 的介面由 eth1 走 要往 10.1.1/24 的介面網 eth0走.其他不知道的網段就往 eth0 送. 在最後一筆紀錄的 Flags 與其他介面不太一樣. 那個G代表的是gateway. 所以預設閘道器在 eth0 介面.
如果我要將預設閘道器改為 eth1 介面. 我可以用下面兩個指令改變預設閘道器
route add default gw {IP-ADDRESS} {INTERFACE-NAME}
route del default gw {IP-ADDRESS} {INTERFACE-NAME}
[USER@Aloha ~]$ routea del default gw 10.1.1.254 eth0
[USER@Aloha ~]$ routea add default gw 192.168.5.254 eth1
再次列出目前的路由表.
[USER@Aloha ~]$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.5.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.5.254 0.0.0.0 UG 0 0 0 eth1
這樣就改變了 default gateway.