如何连接到iptables规则后面的容器

时间:2016-10-30 20:02:08

标签: networking docker iptables lxc lxd

通常使用简单的iptable规则从主机外部访问容器,该规则将主机上的端口转发到容器上具有容器内部IP的端口

-A PREROUTING -d 1.2.3.4/32 -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.4.10:80

因此公共IP 1.2.3.4将路由到容器。使用正确的dns记录,也可以将FQDN(例如:test.example.com)指向此容器。到目前为止,所有事情都很有效。

但是在同一主机上的主机或邻居容器中,FQDN是无用的,不会路由到该容器。

目前,脏方法是将FQDN指向/etc/hosts中的容器专用IP,用于主机和所有邻居容器。但我认为有更清洁的方法。

任何人都可以帮忙吗?

更新1:

经过多次尝试和错误后,只为主机获取此信息。通过在上面的规则旁边设置它,它将来自主机的数据包路由到该FQDN到容器

iptables -A OUTPUT -d 1.2.3.4/32 -j DNAT --to-destination 10.0.4.10 -t nat

但是nieghbor容器仍然无法使用该FQDN。

0 个答案:

没有答案