lxc 的网络配置 - 两个网卡

lxc 的网络配置 - 两个网卡

eth0连接到有线路由器,设置固定IP(192.168.1.30),用于内部LAN和桌面应用程序,浏览...

eth1在模式下直接连接到另一个 ISP bridge,因此它可以获得外部 IP,并应用于lxc在各种容器中提供服务(Web、Torrent 等)。

route -n显示:

Dest         Gateway        Genmask        Iface
0.0.0.0      192.168.1.1    0.0.0.0        eth0
192.168.1.0  0.0.0.0        255.255.255.0  eth0
80.9.9.0     0.0.0.0        255.255.0.0    eth1

当我这样做时:dhclient eth1,我的 Slackware 系统添加了第二条默认路由,现在为eth1,并且无法连接到 Internet。所以我把它删除了,对吗?

/etc/lxc/default.conf

lxc.network.type = veth                 
lxc.network.link = br0                     
lxc.network.flags = up

在容器之一lxc( /var/lib/lxc/alpine/config) 中:

lxc.network.type = veth
lxc.network.link = br0
lxc.network.flags = up

这样,容器就可以获取第二个 ISP 的外部 IP。

将这些规则添加到firewallfortransmission

iptables -A INPUT -i eth1 -m state --state RELATED,ESTABLISHED -p udp --dport 51413 -j ACCEPT
iptables -A INPUT -i eth1 -m state --state RELATED,ESTABLISHED -p tcp --dport 9091 -j ACCEPT  
iptables -A OUTPUT -o eth1 -p udp --sport 51413 -j ACCEPT

我有一些疑问:

  1. 什么是正确的路线设置?

  2. 出了什么问题导致无法从 Internet 连接到容器?

  3. 这种桥接模式是让一些容器共享 eth1 连接的最佳模式吗?如果是其他的话怎么办?

答案1

尝试路由器lxc 虚拟网卡的模式。

lxc.net.0.veth.mode = router

我建议给虚拟网卡一个一致的名称

lxc.net.0.veth.pair = vethlxc

现在您可以删除桥接器br0、路由和防火墙,就像它是另一个普通的物理网卡一样。

相关内容