我要求网络必须由 lxc 容器管理,因此以太网接口(eth0,这是互联网的来源)分配给容器。
我能够从容器中 ping“8.8.8.8”。
为了从主机访问互联网,为容器创建了 veth 类型的网络配置。
lxc.net.3.type = veth
lxc.net.3.flags = 向上
lxc.net.3.veth.pair = lxc0
lxc.net.3.hwaddr = 4a:49:43:49:79:bf
lxc.net.3.ipv4.地址 = 192.168.1.1/24 192.168.1.255
然后将数据包从 eth1 转发到 eth0,然后将 eth0 转发到 eth1,如中所述 https://superuser.com/questions/938805/how-forward-packets-from-network-interface-to-another
但“ping -I lxc0 8.8.8.8”在主机上不起作用。
eth1 接口上的 tcpdump(tcpdump -i eth1) 显示容器中收到了 ping 请求。
tcpdump 将输出显示为
ARP,请求who-has 8.8.8.8告诉192.168.1.2(192.168.1.2是主机中lxc0的ip)
eth0 是容器内的默认网关。