通过主机从其他lxc容器访问lxc容器服务

国际交易日志

我有一台装有Ubuntu 14 Desktop的笔记本电脑。笔记本电脑具有与我的LAN的WLAN连接,并由网络管理器管理当然,笔记本电脑也有一个nic(eth0),但未连接。我将此笔记本电脑用作LXC主机。我有多个服务于应用程序的容器。使用LXC的基本设置(默认设置,例如使用dnsmasq,桥接网络)。

的输出ifconfig是表示图4级的接口:eth0lowlanlxcbr0到目前为止,还没有完成特殊的iptables配置。这是一个全新安装的系统

现在,通过在我的LXC主机上配置NAT ...

iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 21404 -j DNAT --to 10.0.3.180:3142

...当从局域网中的另一台计算机访问时,我能够访问容器中的服务,例如:

foo@LANMachine2: wget -O - http://lxc-host:21404 #it works

提示:lxc-host是路由器管理的笔记本电脑的DNS名称。

现在,我要做的就是留在我的机器上,并使用相同的DNS名称从LXC主机本身和其他托管容器访问容器的服务,如下所示:

bar@lxc-host: wget -O - http://lxc-host:21404 
#or
bar@lxc-container: wget -O - http://lxc-host:21404

#both not working and leading to output:
Connecting to lxc-host (lxc-host)|The.IP.shown.here|:21404... failed: Connection refused.

如何使它工作?有可能吗?对我而言,最重要的是能够通过LXC主机进行路由,从而将其他容器连接到其他容器的服务。(这将使我能够标准化容器的设置)

来自同一主机的数据包永远不会到达PREROUTING表(或任何其他nat表),因为它们没有从一个接口路由到另一个接口。

对于容器到容器的网络,可以使用共享桥(不必与主机共享),也可以使用路由和PREROUTING iptables表(如果它们位于不同的接口上)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章