GVKun编程网logo

domain-name-system – 如何使用Docker配置自定义DNS服务器?(docker设置dns)

25

在本文中,我们将为您详细介绍domain-name-system–如何使用Docker配置自定义DNS服务器?的相关知识,并且为您解答关于docker设置dns的疑问,此外,我们还会提供一些关于dom

在本文中,我们将为您详细介绍domain-name-system – 如何使用Docker配置自定义DNS服务器?的相关知识,并且为您解答关于docker设置dns的疑问,此外,我们还会提供一些关于domain-name-system – BIND:如何将子区域委托给其他DNS服务器?、domain-name-system – dnsmasq – 域条目的多个转发服务器?、domain-name-system – DNS服务器 – 2个域 – 2个DNS服务器 – 在1个LAN中的两个域之间复制DNS、domain-name-system – DNS服务器上的域列表?的有用信息。

本文目录一览:

domain-name-system – 如何使用Docker配置自定义DNS服务器?(docker设置dns)

domain-name-system – 如何使用Docker配置自定义DNS服务器?(docker设置dns)

我需要在/ etc / hosts中添加几行,以便我的web-app在Docker容器中工作.

Docker的/ etc / hosts是只读的.

我正在尝试使用dnsmasq:

FROM ubuntu:14.04
# ...
RUN apt-get install -y -q dnsmasq
RUN echo 'listen-address=127.0.0.1' >> /etc/dnsmasq.conf
RUN echo 'resolv-file=/etc/resolv.dnsmasq.conf' >> /etc/dnsmasq.conf
RUN echo 'conf-dir=/etc/dnsmasq.d' >> /etc/dnsmasq.conf
RUN echo 'user=root' >> /etc/dnsmasq.conf
RUN echo 'nameserver 8.8.8.8' >> /etc/resolv.dnsmasq.conf
RUN echo 'nameserver 8.8.4.4' >> /etc/resolv.dnsmasq.conf
RUN echo 'address="/mydomain/127.0.6.1"' >> /etc/dnsmasq.d/0hosts
RUN service dnsmasq start

但是,我无法让Docker使用我的DNS服务器:

$docker --dns=127.0.0.1 run my/container cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

我错过了什么?

组态:

> OS X 10.9.4
> Docker版本1.1.0,版本79812e3
> boot2docker客户端版本:v1.1.0,Git commit:7e20d36

解决方法

–dns适用于docker run但不适用于docker build.因此,更好的解决方案是使用全局调整设置
DOCKER_OPTS="--dns=my-private-dns-server-ip --dns=8.8.8.8"

在Ubuntu上,我把这行放在/ etc / default / docker中

domain-name-system – BIND:如何将子区域委托给其他DNS服务器?

domain-name-system – BIND:如何将子区域委托给其他DNS服务器?

我正在从BIND9 DNS服务器服务的工作组迁移到基于 Windows Server 2008 R2的AD域,我希望继续使用BIND服务器,直到AD基础结构准备就绪.

在设置AD期间,通过dcpromo,我收到警告,我应该确保我们当前的DNS服务器将AD域名委托给AD服务器.

假设我的AD域是mydomain.lan,而我的常规BIND域是example.com.我将我的BIND服务器设置为lan.的授权,但是想委托mydomain.lan.到AD服务器的IP.

我的named.conf.local包含:

zone "lan" {
        type master;
        file "zone.lan";
};

而zone.lan包含:

$ORIGIN lan.
$TTL 1H ; 1 hour
@                       IN SOA  dns.example.com. hostmaster.example.com. (
                                201008137  ; serial
                                28800      ; refresh (8 hours)
                                14400      ; retry (4 hours)
                                2419200    ; expire (4 weeks)
                                86400      ; minimum (1 day)
                                )
                        IN NS   dns.example.com.

$ORIGIN mydomain.lan.
@                       IN NS   dc1.mydomain.lan.
dc1                     IN A    10.10.0.200 ; 'glue' record

当我在dns.example.com上查询“lan”时,我可以得到预期的答案,但是当我查询“mydomain.lan”或“dc1.mydomain.lan”时,我得到一个NXDOMAIN响应.到目前为止我所有的尝试都失败了.

如何正确创建和委派子区?

更新:更多信息

$dig mydomain.lan @dns.example.com NS +norecurse

; <<>> DiG 9.7.0-P1 <<>> @dns.example.com mydomain.lan NS +norecurse
; (3 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY,status: NOERROR,id: 23380
;; flags: qr ra; QUERY: 1,ANSWER: 0,AUTHORITY: 1,ADDITIONAL: 1

;; QUESTION SECTION:
;mydomain.lan.          IN  NS

;; AUTHORITY SECTION:
mydomain.lan.       3600    IN  NS  dc1.mydomain.lan.

;; ADDITIONAL SECTION:
dc1.mydomain.lan.   3600    IN  A   10.10.0.200

;; Query time: 0 msec
;; SERVER: ::1#53(::1)
;; WHEN: Sun Aug 15 00:41:05 2010
;; MSG SIZE  rcvd: 64

$dig @dc1.mydomain.lan dc1.mydomain.lan
dig: Couldn't get address for 'dc1.mydomain.lan': not found

$dig @10.10.0.200 dc1.mydomain.lan

; <<>> DiG 9.7.0-P1 <<>> @10.10.0.200 dc1.mydomain.lan
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY,id: 21348
;; flags: qr aa rd ra; QUERY: 1,ANSWER: 1,AUTHORITY: 0,ADDITIONAL: 0

;; QUESTION SECTION:
;dc1.mydomain.lan.      IN  A

;; ANSWER SECTION:
dc1.mydomain.lan.   1200    IN  A   10.10.0.200

;; Query time: 6 msec
;; SERVER: 10.10.0.200#53(10.10.0.200)
;; WHEN: Sun Aug 15 00:55:11 2010
;; MSG SIZE  rcvd: 50

$dig @10.10.0.200 mydomain.lan

; <<>> DiG 9.7.0-P1 <<>> @10.10.0.200 mydomain.lan
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY,id: 24664
;; flags: qr aa rd ra; QUERY: 1,ADDITIONAL: 0

;; QUESTION SECTION:
;mydomain.lan.          IN  A

;; ANSWER SECTION:
mydomain.lan.       600 IN  A   10.10.0.200

;; Query time: 0 msec
;; SERVER: 10.10.0.200#53(10.10.0.200)
;; WHEN: Sun Aug 15 01:04:39 2010
;; MSG SIZE  rcvd: 46

解决方法

问题出在你的named.conf中.我猜你已经在named.conf中定义了转发器.对于服务器具有权威性的任何区域,您需要关闭转发.使用上面的示例,您应该将其更改为如下所示:
zone "lan" {
    type master;
    file "zone.lan";
    forwarders { };
};

一旦你这样做它应该工作.

domain-name-system – dnsmasq – 域条目的多个转发服务器?

domain-name-system – dnsmasq – 域条目的多个转发服务器?

我想知道是否可以配置dnsmasq将“server =”条目发送到多个上游服务器?

像这样:

server=/facebook.com/1.2.3.4
server=/facebook.com/2.3.4.5

并使用resolv.conf选择哪一个基于它是否可用?根据手册页,看起来只允许一个,但我想知道是否有办法让它以这种方式行事.

解决方法

在你的例子中,你只是指出了facebook,但我猜你对你可能访问的每个主机名都有相同的需求

dnsmasq提供选项–all-servers

–all-servers

By default,when dnsmasq has more than one upstream server available,it will send queries to just one server. Setting
this flag forces dnsmasq to send all queries to all available servers.
The reply from the server which answers first will be returned to the original requestor.

设置多个DNS服务器

server=OpenDNS.IP.Addr.ess

server=GooglednS.IP.Addr.ess

server=...

并将考虑最快的响应

domain-name-system – DNS服务器 – 2个域 – 2个DNS服务器 – 在1个LAN中的两个域之间复制DNS

domain-name-system – DNS服务器 – 2个域 – 2个DNS服务器 – 在1个LAN中的两个域之间复制DNS

我们有2个DOMAINS(x.local和y.local),它们都有自己的AD和DNS环境.

如何将DNS查找区域从两个DNS服务器链接到彼此.因此,当来自一个域的客户端可以解析来自另一个域的DNS名称时,无需手动添加来自正向查找区域中的两个DNS /域的A记录.

两个DNS服务器都具有IP连接.

解决方法

你有几个选择:

选项1:您可以创建辅助区域.在托管x.local的服务器上,您将为y.local创建一个辅助区域,然后以相反的方式重复.如果执行此操作,则必须允许区域从区域传输选项卡从一个区域传输到另一个区域

选项2:您可以在每个上创建一个存根区域.在托管x.local的服务器上,您将为y.local创建一个存根区域,然后在托管y.local的服务器上为x.local添加存根区域.

选项3:您可以在每个上创建条件转发器.所以在托管x.local的服务器上,您可以为y.local创建一个条件转发器,然后对包含y.local的服务器重复

https://technet.microsoft.com/en-us/library/hh831667(v=ws.11).aspx

domain-name-system – DNS服务器上的域列表?

domain-name-system – DNS服务器上的域列表?

有没有办法在我的BIND DNS服务器上获取A和CNAME记录的完整列表?

我可以访问区域文件.但是在我的服务器上有很多区域文件,手动完成所有这些文件需要很长时间.是否有一个列出此信息的命令或我是否必须自己编写脚本?

解决方法

不要在所有区域文件上使用grep,而是使用:
% rndc dumpdb -zones

这将创建名为named_dump.db的服务器权威数据的转储,可能在/ var / named / data(或类似)中.

此文件比原始区域文件更容易解析,因为每行都以它应用的域名开头.原始区域文件可能是缩写.

关于domain-name-system – 如何使用Docker配置自定义DNS服务器?docker设置dns的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于domain-name-system – BIND:如何将子区域委托给其他DNS服务器?、domain-name-system – dnsmasq – 域条目的多个转发服务器?、domain-name-system – DNS服务器 – 2个域 – 2个DNS服务器 – 在1个LAN中的两个域之间复制DNS、domain-name-system – DNS服务器上的域列表?等相关内容,可以在本站寻找。

本文标签: