veth,macvlan还是别的?

我不了解lxcnetworking的模式。

我想有4位嘉宾:apache1,apache2,数据库和frontdoor

frontdoor是一个决定使用哪个apache的鱿鱼

它完全适用于虚拟服务器,当所有的客人都有一个虚拟接口(与networking隔离),前端有两个接口真正的eth0和虚拟

现在我迁移到lxc,而不是假人,我使用桥(在主机上)和mode = veth(在客人上)

我不高兴看到ifconfig中有四个vethLIJG3f,但让我们看看它的好。

问题是,我不能去鱿鱼。 我试图iptables -t NAT -A PREROUTING -p tcp -dport 80 -j DNAT -to-dest 172.16.0.2但它根本不起作用。

我不知道是否应该改变别的东西?

那么有趣的是,我正在玩一台虚拟服务器,而且我真的不知道它是如何与eth和dummy配合的。

无论如何,在你的情况下,我认为你需要启用IP转发。

sysctl -w net.ipv4.conf.all.forwarding=1 

检查/etc/sysctl.conf使其永久

如果你想知道谁是谁,命名界面是一个好主意。 在lxcconfiguration文件中:

 lxc.network.veth.pair=eth0-guest1 

lxcnetworking允许更复杂的networking。 例如,你可以模拟一个真实的“代理”,有两个虚拟接口,一个连接到互联网(公共IP,DMZ,无论),另一个连接到“内部服务”(比如br1)

  .-----------. | host eth0 |<----. '-----------' | .-------------------. .-------------------. | br0 (public IP) | | br1 (10.1.1.1/24) | '-------------------' '-------------------' ^ .--------------------. ^ '------------| guest squid |----| '--------------------' | .---------------. | | guest apache1 |----' '---------------' | .---------------. | | guest apache2 |----' '---------------' | .----------------. | guest database | '----------------' 

注意:对于第二个虚拟以太网接口,只需重复lxc.network …节

有同样的问题。 我试图转发端口到lxc容器

iptables -t nat -A PREROUTING -p tcp -m tcp –dport 7070 -j DNAT – 到目的地172.16.110.15:7070

但它不起作用。 解决scheme非常简单:

iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE

更多细节请看这个