如何在ubuntu 15.10上设置dnsmasq的上游服务器?

Sea*_*ene 3 dns dnsmasq

我想dnsmasq在 ubuntu 15.10 上设置上游服务器。我已经阅读了很多关于 dnsmasq 的文档或资源,其中提到了一个名为 的配置文件/etc/dnsmasq.conf,但我找不到它。我试图找出如何dnsmasq在系统启动已经开始,但是我找不到dnsmasq/etc/init.d,无论是。

那么我应该修改哪个文件来设置上游服务器dnsmasq

Lil*_*loX 6

您可以按照以下步骤进行:

如果您的系统运行 dhcp 客户端然后编辑 dhclient.conf,您必须取消注释/修改该prepend domain-name-server部分为:

prepend domain-name-servers 8.8.8.8;
Run Code Online (Sandbox Code Playgroud)

创建一个/etc/resolv.dnsmasq.conf包含以下内容的文件:

nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver <your ISP DNS>
Run Code Online (Sandbox Code Playgroud)

将文件复制/usr/share/doc/dnsmasq-base/examples/dnsmasq.conf.example进去/etc/NetworkManager/dnsmasq.d/dnsmasq.conf并根据需要进行修改。您必须添加以下行:

解析文件=/etc/resolv.dnsmasq.conf

然后使用 networkmanager 启动 dnsmasq。编辑/etc/NetworkManager/NetworkManager.conf插入 [main] 部分 的文件dns=dnsmasq

尝试挖掘:

dig www.google.com

; <<>> DiG 9.9.5-9+deb8u2-Debian <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45033
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.google.com.            IN  A

;; ANSWER SECTION:
www.google.com.     299 IN  A   74.125.232.147
www.google.com.     299 IN  A   74.125.232.144
www.google.com.     299 IN  A   74.125.232.145
www.google.com.     299 IN  A   74.125.232.146
www.google.com.     299 IN  A   74.125.232.148

;; Query time: 29 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Dec 17 01:43:19 CET 2015
;; MSG SIZE  rcvd: 123
Run Code Online (Sandbox Code Playgroud)

然后重新启动网络和 NetworkManager 并重试挖掘:

systemctl restart networking
systemctl restart NetworkManager
dig www.google.com

; <<>> DiG 9.9.5-9+deb8u2-Debian <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34735
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.google.com.            IN  A

;; ANSWER SECTION:
www.google.com.     299 IN  A   74.125.232.144
www.google.com.     299 IN  A   74.125.232.147
www.google.com.     299 IN  A   74.125.232.145
www.google.com.     299 IN  A   74.125.232.148
www.google.com.     299 IN  A   74.125.232.146

;; Query time: 30 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Dec 17 01:46:38 CET 2015
;; MSG SIZE  rcvd: 123
Run Code Online (Sandbox Code Playgroud)

如您所见,解析器现在是 127.0.0.1。如果你再次挖掘,你会看到查询时间会减慢到 0。这表明 dnsmasq 正在运行。

  • 谢谢你,它对我有很大帮助。但是您能进一步详细说明如何设置上游服务器吗?我尝试在“/etc/dnsmasq.conf”中设置“server=8.8.8.8”,但没有成功。Dnsmasq 仍然使用“127.0.1.1”作为上游服务器。 (2认同)