操作系统:Ubuntu 15.10
LXD:2.0.0.rc5
我想知道如何从同一本地网络上的另一台计算机访问容器。
我的PC(LXD主机)的地址:192.168.1.112 (enp3s0)
Xenial容器:10.0.3.181 (eth0), 10.0.4.1 (lxcbr0)
其他PC(Fedora 23):192.168.2.118 (wlp3s0)
我可以从另一台PC ping通LXD主机,否则可以。
有几种不同的方法可以完成您想要的。
选项1和2需要在主机上启用ip转发:
# run time:
sudo sysctl -w net.ipv4.ip_forward=1
# permanent:
echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/30-virt-network
如果要访问来宾上的特定服务(如http(端口80))(使用主机ip-address + port访问来宾端口80),但最简单的值为1,但是您不能在同一端口上运行主机服务。
# on lxd host: (-i HOSTDEVICE to lan, usually enp3s0 or eth0)
sudo iptables -t nat -A PREROUTING -i enp3s0 -p tcp -m tcp --dport 80 -j DNAT --to 10.0.3.181:80
# making this permanent is left to the reader (because that depends on your choice of fw setup)
选项2比较棘手,取决于您可以修改网络的数量。
检查(sudo iptables -L -n
)是否表示该链为FORWARD(接受政策),或sudo iptables -I FORWARD -s 192.168.2.118 -j ACCEPT
明确允许。现在,要么在网络防火墙上将10.0.3.0/24路由到192.168.1.112主机,要么对192.168.2.118上的路由进行测试。
sudo ip route add 10.0.3.181 via 192.168.1.112 dev wlp3s0
第三种选择是将您的lxd guest虚拟机作为lan的一部分带到您的lan。请参阅将eth0(在您的情况下为enp3s0)转换为桥接方法的说明。简而言之:
eth0
或enp3s0
enp3s0
)将LXD来宾设备绑定到该网桥
stop network-manager
brctl addbr br0
brctl addif br0 enp3s0
ifconfig enp3s0 up
ifconfig br0 up
dhclient br0
lxc profile edit default
- change lxcbr0 to br0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句