linux容器怎么连接域名,linux – 将docker容器直接连接到主机子网

我试图直接将docker容器连接到主机网络时遇到一些问题.

配置如下

一个主机在子网中有一个接口(eth0),比如10.0.15.0/24. eth0上的IP为10.0.15.5/24.

我定制了docker0网桥,以使用eth0提供的子网内的子网,即10.0.15.64/26.因此,docker可以使用此/ 26中的IP来提供容器,我希望可以从网络的其余部分直接访问容器. docker bridge也有一个IP集,即10.0.15.65/26.

创建容器时,它会获得IP,例如10.0.15.66/26.现在,我做了一些ping测试:

>网络上的任何内容都可以ping 10.0.15.5(主机的eth0)

>网络上的任何东西都可以ping 10.0.15.65(docker0主机桥)

>主机可以ping 10.0.15.66(ip容器)

>容器可以ping网络上的任何内容

>除主机之外的任何内容都无法在10.0.15.66 ping容器

IP转发已开启

[root@HOSTNAME~]# cat /proc/sys/net/ipv4/ip_forward

1

我在这里错过了什么?

连接到docker0网桥的容器应该可以从我认为的网络到达.

预期的行为

容器应该可以从网络上的任何位置ping通,就像docker0网桥一样.

任何想法或帮助将不胜感激!

解决方法:

终于弄明白为什么它不适合我们.

我运行docker容器的机器是虚拟机管理程序上的VM.管理程序仅接受来自连接到VM的NIC的一个MAC地址.换句话说,VM中的NIC未设置为混杂模式.

我为解决这个问题所做的只是使用裸机.另一种解决方案是手动将NIC设置为混杂模式,因此它接受所有数据包,而不仅仅是它自己的MAC数据包.

标签:docker,linux,networking,iptables,switching

来源: https://codeday.me/bug/20190702/1355487.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值