ip rule实现源IP路由,实现一个主机多IP(或多网段)同时通(外部看是完全两个独立IP)
利用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