Amazon EC2/VPC LXC Bridge 不工作

Amazon EC2/VPC LXC Bridge 不工作

在 AWS EC2 实例上,我喜欢将 LXC 容器托管为虚拟服务器。我创建了一个仅包含 eth0 的网桥 (br0),并为其提供了我的 VPC 子网的私有 IP。我重新配置了 LXC,使其不使用 lxcbr0 作为网桥,而是使用我的 br0 设备。

当我添加一个新容器并为其分配我的 VPC 子网的 IP 地址时,我可以从 lxc 主机访问该容器。我也可以从容器内部访问 lxc 主机。但尽管在同一子网中,但无法访问其他所有地址。

桥接配置

auto br0
iface br0 inet static

bridge_ports eth0
bridge_fd 2
bridge_stp off

address 10.8.0.11
netmask 255.255.255.0
network 10.8.0.0
broadcast 10.8.0.255
gateway 10.8.0.1
dns-nameservers 8.8.8.8 8.8.4.4

VPC NIC 已设置为“禁用源/目标检查”

ip_forwarding 设置为 1

不存在 iptables 规则

eth0 设置为混杂模式(ip link set eth0 promisc on)

lxc 容器与我的桥正确关联

在仅有硬件的环境以及 VirtualBox 环境中,此设置有效。但在 AWS 上则无效。

答案1

桥接不起作用,VPC 不是第 2 层网络,所有 IP 都需要通过 ec2 API 分配。最好的办法是使用完全独立(无冲突)的子网,并让主机将流量路由到 lxc 容器,然后通过 ec2 实例 NIC 使用到此子网的静态路由更新 VPC 路由表。这就是 openVPN 的工作方式。

答案2

根据 Nath 的回答,我已将 LXC 容器放入它们自己的网络,并在网络之间路由流量。现在一切正常!

相关内容