使用Virtual Box无法与Docker(Centos 7)+ DNS服务器(Container Ubuntu 14.04)通信

我有一个与虚拟框的Docker(Centos 7)+ DNS服务器(容器Ubuntu 14.04)的问题。 首先,我需要解释我是如何构build结构的:

我正在使用虚拟机testingDocker,在这种情况下使用虚拟机。

我在模式桥中创build了一个带有一个网卡的Centos 7虚拟机。

在Centos 7里面有Docker v.1.6.0 ,接口docker0 172.17.42.1(Bridge) ,是Docker的默认接口。 这是我用root做的configuration。

在Docker里面我用Ubuntu 14.04创build了一个容器:

# sudo docker run -i -t ubuntu /bin/bash 

NAT的docker0给我IP 172.17.0.2(eth0 – >桥) ,我与bind9的 DNS服务器,这是我的configuration:

/etc/bind/named.conf.local

 zone "domain.com" { type master; file "/etc/bind/db.domain.com"; }; zone "42.17.172.in-addr.arpa" { type master; file "/etc/bind/db.172.17.42"; }; 

/etc/bind/db.domain.com

 ; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA domain.com. hostmaster.domain.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.domain.com. ns IN A 172.17.42.1 www IN A 172.17.42.1 

/etc/bind/db.172.17.42

 ; ; BIND data file for local loopback interface ; $ORIGIN 42.17.172.in-addr.arpa. $TTL 604800 @ IN SOA domain.com. hostmaster.domain.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.domain.com. 42 IN PTR ns.domain.com. 42 IN PTR www.domain.com. 

重新启动bind9:

 # service bind9 restart 

与其他terminal进行提交以保存此configuration的图像:

 eg docker commit (ID image) (Name new image) # docker commit 123rf dnsserver 

从容器ubuntu(poweroff容器)退出,然后运行新的图像:

 # docker run -i -t -d --name=bind9 --dns=127.0.0.1 --publish=53:53/udp --volume=/srv/docker/bind:/data --env='ROOT_PASSWORD=root' dnsserver /bin/bash 

现在,我认为在这个容器中打开了DNS端口(53)。

与另一台机器新,将是testingDNS服务器的客户端,与Ubuntu SO,这台机器有一个网卡模式的桥梁。 我更改了172.17.42.1的DNS并重新启动networking。 我试着ping 172.17.42.1但是这样说:

 # ping 172.17.42.1 PING 172.17.42.1 (172.17.42.1) 56(84) bytes of data. From 80.58.67.97 icmp_seq=21 Packet filtered From 80.58.67.97 icmp_seq=22 Packet filtered ... 

什么是数据包过滤 Ipetables Centos7什么的,阻止它?

所以我决定尝试ping主机SO的docker(Centos 7)和工作,所以我试图testingDNS和工作:

 # nslookup www.domain.com Server: 172.17.42.1 Address: 172.17.42.1#53 

¿为什么另一台客户端机器无法与DNS服务器通信,如果机器停留在桥梁上? 我做错了?

如果docker0接口是一个桥梁,为什么不能与世界通信?

如果你需要更多的数据让我知道,我会发布。

提前致谢。