如何为配置了多网卡的弹性云服务器配置策略路由?
操作场景
当弹性云服务器配置了多张网卡时,需要在弹性云服务器内部配置策略路由来实现非主网卡的通信。
操作步骤
Linux系统
- 执行以下命令,在“/etc/iproute2/rt_tables”文件中为每张网卡增加路由表优先级和名称(数值越小优先级越高),如下net0, net1对应eth0, eth1,如果有多张网卡,依次添加。
# added for dual net 250 net0 251 net1
- 执行以下命令,在“/etc/rc.local”文件中为每张网卡增加路由信息。
对于每张网卡,查找以下信息:
以eth0为例,IPv4地址:192.168.0.129、子网网段:192.168.0.0/24、网关地址:192.168.0.1,以及1中添加的路由表:net0,如果有多张网卡,依次添加如下信息:
# wait for nics up sleep 5 # Add v4 routes for eth0 ip route flush table net0 ip route add default via 192.168.0.1 dev eth0 table net0 ip route add 192.168.0.0/24 dev eth0 table net0 ip rule add from 192.168.0.129 table net0 # Add v4 routes for eth1 ip route flush table net1 ip route add default via 192.168.1.1 dev eth1 table net1 ip route add 192.168.1.0/24 dev eth1 table net1 ip rule add from 192.168.1.138 table net1
如果要配置IPv6的策略路由,先确认做过IPv6相关的配置,具体请参考动态获取IPv6地址的“Linux操作系统(手动配置启用IPv6)” 部分。
对于每张网卡,查找以下信息:
以eth0为例,IPv6地址:2407:c080:802:1be:2233:64bf:b095:54bf、子网网段:2407:c080:802:1be::/64、网关地址:fe80::f816:3eff:fef3:20dc,以及1添加的路由表:net0,通过如下命令查看每张网卡对应的IPv6网关地址:
ip -6 route show| grep default
如果有多张网卡,依次添加如下信息:
# Add v6 routes for eth0 ip -6 route flush table net0 ip -6 route add default via fe80::f816:3eff:fef3:20dc dev eth0 table net0 ip -6 route add 2407:c080:802:1be::/64 dev eth0 table net0 ip -6 rule add from 2407:c080:802:1be:2233:64bf:b095:54bf table net0 # Add v6 routes for eth1 ip -6 route flush table net1 ip -6 route add default via fe80::f816:3eff:fe10:5447 dev eth1 table net1 ip -6 route add 2407:c080:802:1bf::/64 dev eth1 table net1 ip -6 rule add from 2407:c080:802:1bf:39ea:bffe:13a2:7a1f table net1
- 执行以下命令,添加rc.local文件的执行权限。
- 执行reboot命令,重启弹性云服务器。
- 重启后,执行以下命令,确认配置的路由规则和路由表生效,如果有多张路由表,依次执行。
ip rule
ip route show table net0
ip route show table net1
对于Ipv6:
ip -6 rule
ip -6 route show table net0
ip -6 route show table net1
- 指定源地址进行测试:
ping -I 192.168.0.129 xxx
ping -I 192.168.1.138 xxx
对于Ipv6:
ping -I 2407:c080:802:1be:2233:64bf:b095:54bf xxx
ping -I 2407:c080:802:1bf:39ea:bffe:13a2:7a1f xxx
Windows系统
- 在Windows系统的“控制面板 > 网络和Internet > 网络链接”路径下,右键单击“本地连接2”,选择“属性”。
请根据实际情况,右键选择新添加的网卡。如果是多张网卡会有多个“本地连接”,点击依次配置。
- 在“网络”页签内选择“Internet 协议版本 4 (TCP/IPv4)”。
- 单击“属性”。
- 在“常规”页签内单击“高级”。
- 在“IP设置”页签内“默认网关”区域,单击“添加”。图1 高级TCP/IP设置
- 输入非主网卡网关地址,单击“添加”。图2 添加网关地址
- 单击“确定”。
- 打开windows系统的命令行窗口,输入“route print”查看策略路由。
- 在控制台指定源地址进行测试。
ping -S 192.168.1.138 xxx
相关操作
如需通过扩展网卡访问公网,可参考如何通过扩展网卡绑定的弹性公网IP访问公网?
