利用ip rule實現基於源地址區分路由表,實現一個主機多IP網段同時通。(外部的一個主機無論訪問哪個網段都可以訪問通)
實際應用:
創建路由表table200
ip route add 192.168.1.0/24 dev eth1 src 192.168.1.99 table 200
ip route add default via 192.168.1.1 table 200
創建規則將源地址192.168.1.99的流量引流到路由表table200,也就是確保別人訪問的是192.168.1.99,那192.168.1.99的返回流量出去時也從192.168.1.99出去。
ip rule實際就是能夠實現基於IP特征來切換路由表的。
ip rule add from 192.168.1.99 table 200
配置完后:
root@ubuntu:~# ip rule list
0: from all lookup local
32763: from 192.168.1.99 lookup 200
32766: from all lookup main
32767: from all lookup default
root@ubuntu:~# ip route list table 200
default via 192.168.1.1 dev eth1
192.168.1.0/24 dev eth1 scope li<x>nk src 192.168.1.99
一組命令(pre-up、up、post-up、pre-down、down、post-down),分別定義在對應的時刻需要執行的命令。
保存到網卡配置文件:
up ip route add 192.168.1.0/24 dev eth1 src 192.168.1.99 table 200
up ip route add default via 192.168.1.1 table 200
up ip rule add from 192.168.1.99 table 200
