兩個不在一段的IP看成一個電信一個網通來設置 就可以了。centos無問題
1. vi /etc/iproute2/rt_tables,增加網通和電信兩個路由表
251 tel 電信路由表
252 cnc 網通路由表
2. 給網卡綁定兩個地址用於電信和網通兩個線路
ip addr add 192.168.0.2/24 dev eth0
ip addr add 10.0.0.2/24 dev eth1
3、分別設置電信和網通的路由表
電信路由表:
#確保找到本地子網
ip route add 192.168.0..0/24 via 192.168.0.2 dev eth0table tel
#內部迴環網絡
ip route add 127.0.0.0/8 dev lo table tel
#192.168.0.1爲電信網絡默認網關地址
ip route add default via 192.168.0.1 dev eth0 table tel
網通線路路由表:
#確保找到本地子網
ip route add 10.0.0.0/24 via 10.0.0.2 dev eth1 table cnc
#內部迴環網絡
ip route add 127.0.0.0/8 dev lo table cnc
#10.0.0.1是網通的默認網關
ip route add default via 10.0.0.1 dev eth1 table cnc
4、電信和網通各有自己的路由表,制定策略,讓192.168.0.2的迴應數據包走電信的路由表路由,10.0.0.2的迴應數據包走網通的路由表路由
ip rule add from 192.168.0.1 table tel
ip rule add from 10.0.0.1 table cnc
最後考慮特殊情況的網管需要批量添加IP到路由才能過,簡化一下
ip rule del from 192.168.0.0/24 table tel
ip rule del from 10.0.0.0/24 table cnc
其二
網卡顯示名稱 | IP地址 | 子網掩碼 | 網關 | 備註 |
ens4f0 | 172.31.192.201 | 255.255.255.0 | 172.31.192.254 | 服務器A |
ens9f0 | 172.31.196.1 | 255.255.255.0 | 172.31.196.254 | 服務器A |
ens4f0 | 172.31.192.202 | 255.255.255.0 | 172.31.192.254 | 服務器B |
ens9f0 | 172.31.196.2 | 255.255.255.0 | 172.31.196.254 | 服務器B |
/ | 172.25.168.44 | 255.255.255.0 | 172.25.168.254 | 接入測試 |
網絡配置,以服務器A爲例,注意註釋默認網關
cat/etc/sysconfig/network-scripts/ifcfg-ens4f0
DEVICE=ens4f0
ONBOOT=yes
BOOTPROTO=static
TYPE=Ethernet
IPADDR=172.31.192.201
NETMASK=255.255.255.0
#GATEWAY=172.31.192.254
cat/etc/sysconfig/network-scripts/ifcfg-ens9f0
DEVICE=ens9f0
ONBOOT=yes
BOOTPROTO=static
TYPE=Ethernet
IPADDR=172.31.196.1
NETMASK=255.255.255.0
#GATEWAY=172.31.196.254
策略路由配置
注意配置名稱一定要吻合
#編輯rt_tables
echo "192 net_192 " >>/etc/iproute2/rt_tables
echo "196 net_196 " >>/etc/iproute2/rt_tables
#清空net_192路由表
ip route flush table net_192
# 添加一個路由規則到 net_192 表,這條規則是 net_192 這個路由表中數據包默認使用源 IP 172.31.192.201 通過 ens4f0 走網關 172.31.192.254
ip route add default via 172.31.192.254 dev ens4f0 src172.31.192.201 table net_192
#來自 172.31.192.201 的數據包,使用 net_192 路由表的路由規則
ip rule add from 172.31.192.201 table net_192
#清空net_196路由表
ip route flush table net_196
#添加一個路由規則到 net_196 表,這條規則是 net_196 這個路由表中數據包默認使用源 IP 172.31.196.1 通過 ens9f0 走網關 172.31.196.254
ip route add default via 172.31.196.254 dev ens9f0 src172.31.196.1 table net_196
#來自 172.31.196.1 的數據包,使用 net_196 路由表的路由規則
ip rule add from 172.31.196.1 table net_196
#添加默認網關
route add default gw 172.31.192.254
#如果需要自啓動生效可以寫進配置文件也可以加入rc.local
vi /etc/rc.local
ip route flush table net_192
ip route add default via 172.31.192.254 dev ens4f0 src172.31.192.201 table net_192
ip rule add from 172.31.192.201 table net_192
ip route flush table net_196
ip route add default via 172.31.196.254 dev ens9f0 src172.31.196.1 table net_196
ip rule add from 172.31.196.1 table net_196
route add default gw 172.31.192.254
#查看路由表
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
169.254.0.0 0.0.0.0 255.255.0.0 U 1006 0 0 ens9f0
169.254.0.0 0.0.0.0 255.255.0.0 U 1008 0 0 ens4f0
169.254.0.0 0.0.0.0 255.255.0.0 U 1014 0 0 br-ex
169.254.0.0 0.0.0.0 255.255.0.0 U 1015 0 0 br-int
172.31.192.0 0.0.0.0 255.255.255.0 U 0 0 0 ens4f0
172.31.196.0 0.0.0.0 255.255.255.0 U 0 0 0 ens9f0
#在接入測試服務器上驗證連通性
ping 172.31.192.201
ping 172.31.196.1