我按照以下指南在我的 Ubuntu 14.04 服务器上创建了一座桥。
现在我想为我的虚拟机分配一个静态公共 IP。我该怎么做?
答案1
编辑们,有一个不同的问题,但基本上和我在这里回答的问题是一样的。这是新问题,所以不确定是否/如何合并 -Ping 到 LXC 容器
除了桥接器之外,您还需要确保在 Linux 容器上有一个专用的虚拟网卡,然后为其分配主机网络上的 IP 地址。
以下是核心说明,但详细步骤和背景来自这篇 Bonsai Framework 文章。
在主机上创建永久 macvlan
/etc/network/interfaces
在主机文件底部添加,# Creates a macvlan interface called macvlan0 without an IP address iface mvlan0 inet manual pre-up ip link add mvlan0 link eth0 address 8a:38:2a:cc:d7:aa type macvlan mode bridge post-down ip link del macvlan0 auto mvlan0
重新启动系统以使更改生效。mvlan0
使用 查看网络设备时,您将注意到ifconfig -a
。
macvlan
通过修改位于的配置文件将容器连接到主机/var/lib/lxc/[container]/config
。
要为新网卡添加的条目,
# macvlan for external IP lxc.network.type = macvlan lxc.network.macvlan.mode = bridge lxc.network.flags = up lxc.network.link = mvlan0 lxc.network.hwaddr = 00:16:3e:8d:4f:51 lxc.network.name = eth0
对于 hwaddr,通过免费网站生成一个唯一的本地管理单播 MAC 地址,例如helion.org。
最后,调整容器内的接口文件以通过静态绑定,或者如果您愿意,可以使用动态。
就我而言,我调整了我的家用路由器,以便 192.168.0.1 到 192.168.0.20 不是动态分配的,而是在我的 LXC 中使用静态的。
因此我修改了我的容器接口文件如下,
auto eth0
iface eth0 inet static
address 192.168.0.12
gateway 192.168.0.1
netmask 255.255.255.0
auto eth1
iface eth1 inet dhcp
重新启动您的 Linux 容器。