本文向您介绍同一子网的两块网卡均绑定弹性公网IP。 问题描述 云主机上两块相同子网的网卡,均绑定了弹性公网IP。其中,主网卡绑定的弹性公网IP可以正常访问,但是扩展网卡的弹性公网IP无法访问。 可能原因 CentOS操作系统的弹性云主机默认开启了反向过滤技术(rpfilter),云主机的默认路由是指向eth0的,而扩展网卡弹性公网IP的流量从eth1进入。系统此时判断,这个报文在发送时应该从eth0口送出,而报文实际是从eth1进入,即从错误的网卡收到报文,故判定非法而被系统丢弃。 处理方法 通过策略路由让访问扩展网卡的流量从扩展网卡发出,方法如下: 1. 执行以下命令,编辑文件rttables。添加一个route table的别名,如test。 vi /etc/iproute2/rttables 2. 保存后退出。 3. 执行以下命令,在test表中添加路由。 ip route add default via 扩展网卡网关 dev eth1 table 步骤1中添加的表名 例如: ip route add default via 192.168.0.X dev eth1 table test 注意 如无特殊设置,则网关为子网网段的首个IP。 4. 执行以下命令,添加策略路由。 ip rule add from 扩展网卡IP地址 lookup 步骤1中添加的表名 prio 低于32766,优先级高于main表 例如: ip rule add from 192.168.0.x lookup test prio 32000 此时使用扩展网卡的弹性IP登录云主机,可以登录,说明两块网卡上的公网IP都可以访问了。 如果要持久化这个规则,可以将上述语句添加到开机脚本“/etc/rc.local”中。