創(chuàng)建路由表
編輯/etc/iproute2/rt_tables文件,添加兩個自定義路由表:
vim /etc/iproute2/rt_tables
增加路由表
200 10
201 192
這里的200和201是路由表的編號,table1和table2是路由表的名稱,可以根據(jù)需要自行定義。
cat /etc/iproute2/rt_tables
配置策略路由規(guī)則
使用ip rule命令添加策略路由規(guī)則,讓系統(tǒng)根據(jù)源 IP 地址選擇不同的路由表:
ip rule add from 192.168.108.0/24 table 192
ip rule add from 10.100.1.0/24 table 10
這兩條規(guī)則表示,從192.168.1.0/24網(wǎng)段發(fā)出的數(shù)據(jù)包使用table1路由表,從10.0.0.0/24網(wǎng)段發(fā)出的數(shù)據(jù)包使用table2路由表
配置路由表中的網(wǎng)關(guān)
為table1和table2路由表分別配置網(wǎng)關(guān):
ip route add default via 192.168.108.1 dev enp0s3 table 192
ip route add default via 10.100.0.1 dev enp0s8 table 10
這里將eth0的網(wǎng)關(guān)設(shè)置為192.168.1.1,eth1的網(wǎng)關(guān)設(shè)置為10.0.0.1,分別對應(yīng)各自的網(wǎng)段。
使配置生效
配置完成后,需要重啟網(wǎng)絡(luò)服務(wù)使配置生效
systemctl restart networking.service
或者
ifdown eth0 && ifup eth0
ifdown eth1 && ifup eth1
查看所有路由表
ip route show table all
查看特定路由表
ip route show table table1
ip route show table table2
查看路由規(guī)則
除了路由表,你還能查看路由規(guī)則,這些規(guī)則決定了數(shù)據(jù)包使用哪個路由表,使用如下命令:
iprule show
此命令會顯示所有的路由規(guī)則,包括根據(jù)源 IP 地址、目的 IP 地址等條件來選擇路由表的規(guī)則。
配置默認路由
通常情況下,需要設(shè)置一個默認路由,讓系統(tǒng)在無法匹配其他路由規(guī)則時使用。假設(shè)以eth0的網(wǎng)關(guān)作為默認網(wǎng)關(guān)
# route add default gw 10.100.0.1 enp0s8