一、如何为绑定了多张网卡的云服务器ECS配置策略路由?
问题描述:
当一台云服务器ECS实例下多张网卡同时绑定了弹性公网IP,其中主网卡绑定的弹性公网IP可以正常访问,但是辅助网卡的弹性公网IP无法访问。
处理方法:
通过策略路由让访问辅助网卡的流量从辅助网卡发出,方法如下:
1、执行以下命令,编辑文件rt_tables。
vi /etc/iproute2/rt_tables
添加一个route table的别名,如test。
2、保存后退出。
3、执行以下命令,在test表中添加路由。
ip route add default via 辅助网卡网关 dev eth1 table 步骤1中添加的表名
例如:
ip route add default via 192.168.166.1 dev eth1 table test
4、执行以下命令,添加策略路由。
ip rule add from 辅助网卡IP地址 lookup 步骤1中添加的表名 prio 低于32766,优先级高于main表
例如:
ip rule add from 192.168.166.22 lookup test prio 32000
至此,两块网卡上的公网IP应该都可以访问了。如果要持久化这个规则,可以将上述语句添加到开机脚本“/etc/rc.local”中。
二、云服务器ECS下多张网卡绑定弹性公网IP,如何调整路由优先级?
问题描述:
当一台云服务器ECS下辅助网卡绑定了弹性公网IP,但是主网卡未绑定,可能无法进行域名解析,需调整路由优先级。
问题原因是当云服务器下多张网卡绑定弹性公网IP,域名的查询交互是通过云服务器绑定的第一块网卡(即主网卡)进行的, 当主网卡解绑或未绑定弹性公网IP时,通过主网卡到公网的DNS查询就会失败,此时需要将用于通外网网卡的路由优先级提高,实现DNS的查询。
处理方法:
1、通过 ip route 查询出当前所有网卡的默认路由
例如查询出如下两条数据:
default via 1.1.1.1 dev ens1 proto static metric 100
default via 2.2.2.2 dev ens2 proto dhcp metric 200
2、调整网卡默认路由的优先级
对需要调整路由优先级的网卡先支持删除指令,再执行添加指令
删除指令:ip route delete default via 网卡路由
例如:ip route delete default via 1.1.1.1
添加指令:ip route add default via 网卡路由 dev 网卡名称 proto static metric 优先级
例如:ip route add default via 1.1.1.1 dev ens1 proto static metric 100