sameersbn / bind作为主要DNS服务器-gateway-ip

时间:2018-07-12 11:19:08

标签: docker dns bind

我想将DNS服务器设置为成群运行的Docker容器。 我有一台专用服务器,过去我曾在该服务器上“本地”运行绑定。现在,我想将其移动到docker容器中,以便在需要时可以轻松移动设置。

我选择了sameersbn / bind作为图像,因为它似乎已广泛传播并满足了我的需求。

服务器似乎运行正常,但在通知时似乎公开了网关网桥的ip。

如何通过外部计算机可访问的方式进行设置。 如果我明确地让dns服务器检查它在任何地方都可以正常工作

$host www.<mydomain>.net 1.2.3.4

Using domain server: 
Name: 1.2.3.4
Address: 1.2.3.4#53
Aliases:

www.<mydomain>.net has address 1.2.3.4

没有此信息

$host www.<mydomain>.net.   
Host www.<mydomain>.net not found: 2(SERVFAIL)

这似乎是因为DNS暴露了“错误的” ip

$dig <mydomain>.net

; <<>> DiG 9.10.6 <<>> <mydomain>.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 14304
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096 
;; QUESTION SECTION:
;<mydomain>.net.            IN  A

;; Query time: 1809 msec
;; SERVER: 172.18.0.1#53(172.18.0.1)
;; WHEN: Thu Jul 12 13:13:53 CEST 2018
;; MSG SIZE  rcvd: 38

IP 172.18.0.1是docker_gwbride的IP

当我检查服务器本身时,可以看到:

$ ifconfig docker_gwbridge | head -2
docker_gwbridge: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 172.18.0.1  netmask 255.255.0.0  broadcast 0.0.0.0

我希望任何人都可以知道如何在docker容器中获取绑定,以将上述示例中的真实IP(1.2.3.4)暴露给外界。

编辑: 群配置的yml文件如下:

version: "3"

services:
  bind:
    image: sameersbn/bind:latest
#    container_name: bind
    #dns: 1.2.3.4
    environment:
      - ROOT_PASSWORD=<secretPassword>
    ports:
     - 1.2.3.4:53:53/udp
     - 1.2.3.4:53:53/tcp
    volumes:
      - /srv/docker/bind:/data

非常感谢!

0 个答案:

没有答案