CentOS 8 – Routing Table

Loading

測試作業系統 CentOS 8 x86_64 (虛擬機)

如果需要再開機後新增加 Routing Table ,以前會寫在 /etc/rc.d/rc.local ,不過自從系統改成 systemd – https://benjr.tw/94315 之後,這個方式需要修改設定,請參考 – https://benjr.tw/102545 ).

要新增/移除/修改 Routing Table 可以使用 route 或是 ip 這兩個指令.

route

# route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]] 

檢視當前路由表 Routing table

[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    100    0        0 ens33
192.168.111.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.111.2   0.0.0.0         UG    100    0        0 ens33
192.168.111.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

新增一條路由+閘道

[root@localhost ~]# route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.111.2
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    100    0        0 ens33
10.0.0.0        _gateway        255.0.0.0       UG    0      0        0 ens33
192.168.111.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.111.2   0.0.0.0         UG    100    0        0 ens33
10.0.0.0        192.168.111.2   255.0.0.0       UG    0      0        0 ens33
192.168.111.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

更多關於 route 指令的用法請參考 – https://benjr.tw/22387

ip

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT := { link | address | addrlabel | route | rule | neigh | ntable | tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm | netns | l2tp | tcp_metrics | token | macsec }

OPTIONS := { -V[ersion] | -h[uman-readable] | -s[tatistics] | -d[etails] | -r[esolve] | -iec | -f[amily] { inet | inet6 | ipx | dnet | link } | -4 | -6 | -I | -D | -B | -0 | -l[oops] { maxi-mum-addr-flush-attempts } | -o[neline] | -rc[vbuf] [size] | -t[imestamp] | -ts[hort] | -n[etns] name | -a[ll] | -c[olor] | -br[ief] | -j[son] | -p[retty] }

檢視 Routing Table

[root@localhost ~]# ip route show
default via 192.168.111.2 dev ens33 proto dhcp metric 100 
192.168.111.0/24 dev ens33 proto kernel scope link src 192.168.111.167 metric 100 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 

新增 Routing Table

[root@localhost ~]# ip route add 10.0.0.0/8 via 192.168.111.2 dev ens33
[root@localhost ~]# ip route show
default via 192.168.111.2 dev ens33 proto dhcp metric 100 
10.0.0.0/8 via 192.168.111.2 dev ens33 
192.168.111.0/24 dev ens33 proto kernel scope link src 192.168.111.167 metric 100 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 

更多關於 ip 指令的用法請參考 – https://benjr.tw/94155

開機後自動生效

如果需要再開機後自動新增加 Routing Table ,可以新增檔案 /etc/sysconfig/network-scripts/route-ens33 ( 命名方式 route-ifname )並編輯需要的 Routing Table ,語法同 ip 指令.

下面增加 Default Route ( /etc/sysconfig/network-scripts/ifcfg-devname 裡面有一個 DEFROUTE 設定 , yes – default route 無需求就改成 no )與 一筆 Routing Table (當 ip 目的為 10.0.0.0 時經由 ens33 並且透過 192.168.111.2 這 IP 的機器幫忙轉送)

[root@localhost ~]# vi /etc/sysconfig/network-scripts/route-ens33
default via 192.168.111.2 dev ens33
10.0.0.0/8 via 192.168.111.2 dev ens33

要立即生效可以使用 nmcli , 更多關於 nmcli (NetworkManager tools) 請參考 – https://benjr.tw/95702

[root@localhost ~]# nmcli dev connect ens33
Device 'ens33' successfully activated with '3e37b8c5-91c3-4889-97fd-71db846c7978'.
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.111.2   0.0.0.0         UG    100    0        0 ens33
10.0.0.0        192.168.111.2   255.0.0.0       UG    100    0        0 ens33
192.168.111.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
沒有解決問題,試試搜尋本站其他內容

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料