我已经关注了 serverfault 上的许多文章,但我无法在 ubuntu 16.04 中通过第二个 nics 管理出站流量。
除了 serverfault 之外,我还关注了 -https://kindlund.wordpress.com/2007/11/19/configuring-multiple-default-routes-in-linux/
https://aws.amazon.com/premiumsupport/knowledge-center/ec2-ubuntu-secondary-network-interface/
https://msazure.club/configure-ubuntu-to-support-multiple-nics-in-azure/
我的配置 - 在 AWS 和 Azure 上尝试过
两个 IP
1st Nic - 172.31.29.87,
2nd nic - 172.31.17.222
创建路由表
bash -c "echo '1 eth1route' >> /etc/iproute2/rt_tables"
创建 eth1 nic 文件
/etc/network/interfaces.d/eth1.cfg
auto eth1
iface eth1 inet dhcp
post-up ip route add 172.31.16.0/20 dev eth1 src 172.31.17.222 table eth1route
post-up ip route add default via 172.31.16.1 dev eth1 table eth1route
post-up ip rule add from 172.31.17.222/32 table eth1-rt
post-up ip rule add to 172.31.17.222/32 table eth1-rt
然后 ifdown eth1 和 ifup eth1
知识产权
default via 172.31.16.1 dev eth0
172.31.16.0/20 dev eth0 proto kernel scope link src 172.31.29.87
172.31.16.0/20 dev eth1 proto kernel scope link src 172.31.17.222
路线-n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.31.16.1 0.0.0.0 UG 0 0 0 eth0
172.31.16.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
172.31.16.0 0.0.0.0 255.255.240.0 U
0 0 0 eth1
ip 规则显示
0: from all lookup local
32765: from 72.31.17.222 lookup 1000
32766: from all lookup main
32767: from all lookup default
完成上述所有配置后,我可以连接到两个 IP(两个网卡上的传入流量),但只能从 eth0 传出流量。
您能帮我如何在两个 NIC 上启用出站流量吗?
答案1
您可以创建这样的路线,而不是使用两个链接的默认路线。(未经测试)
ip route add default scope global \
nexthop via 172.31.16.1 dev eth0 weight 1 \
nexthop via 172.31.16.1 dev eth1 weight 1
如果您需要合并两个链路的容量,最好使用某种绑定。但这需要您连接的系统支持。