标签: dnsmasq

当 resolv.conf 被覆盖时如何设置我的 DNS?

我在网上看到的大部分信息都说要编辑/etc/resolv.conf,但我在那里所做的任何更改都会被覆盖。

$ cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- 
#     YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
Run Code Online (Sandbox Code Playgroud)

似乎 127.0.1.1 是dnsmasq. 该dnsmasq文件说来编辑/etc/resolv.conf。我试图把自定义的域名服务器中/etc/resolv.conf.d/base,但在变化没露面/etc/resolv.conf后运行sudo resolvconf -u

仅供参考,我不想在每个连接的基础上更改 DNS,我想设置默认 DNS 设置以在未另行指定时用于所有连接。

更新:

我自己回答了这个问题:https : //unix.stackexchange.com/a/163506/67024

我认为这是最好的解决方案,因为:

  1. 有用。
  2. 它需要最少的更改和
  3. 它仍然与 dnsmasq 的 DNS 缓存一起工作,而不是绕过它。

linux networking dns debian dnsmasq

339
推荐指数
8
解决办法
102万
查看次数

如何避免 dnsmasq 和 systemd-resolved 之间的冲突?

我最近安装了dnsmasq作为本地网络的 DNS 服务器。dnsmasq 侦听端口 53,该端口已被systemd-resolved的本地 DNS 存根侦听器使用。

只需停止 systemd-resolved,然后在 dnsmasq 运行后重新启动它即可解决此问题。但它在重新启动后返回:systemd-resolved 优先启动,dnsmasq 将不会启动,因为端口 53 已在使用中。

我想,第一个明显的问题是我如何最好地让 systemd-resolved 理解它不应该启动本地 DNS 存根侦听器,从而保留端口 53 以供 dnsmasq 使用?

然而,一个更有趣的问题是这两种服务通常如何协同工作。他们甚至打算并排工作还是只是在使用 dnsmasq 的情况下被 systemd 解决?

systemd dnsmasq

97
推荐指数
5
解决办法
13万
查看次数

如何清除 DD-WRT 上的 DNS 缓存

如何清除路由器上 DD-WRT 中的 DNS 缓存?

DD-WRT 使用 dnsmasq 守护进程。

dns dd-wrt dnsmasq

29
推荐指数
3
解决办法
7万
查看次数

如何衡量DNS缓存效率/缓存项目?

我已dnsmasq在 Debian 服务器上配置为仅缓存 DNS 服务器,并且运行良好(我发现通过 dig 改进了 DNS 响应时间)。

但是,我想dnsmasq在任何时候了解什么是缓存,以便我可以开始考虑我正在实现的效率(即命中率)。

我已经查看了手册页和网络,但找不到我如何dnsmasq在任何时候看到缓存的内容(例如,您可以为租用做的事情不同,租用保存在 dnsmasq.lease 文件中)。

dnsmasqDNS 缓存是否仅保存在内存中?还是我必须做一些日志文件处理?

dnsmasq

19
推荐指数
2
解决办法
3万
查看次数

如何禁用 dnsmasq?

有时,当我从 切换eth0wlan0(或反之)接口域名解析中断并/etc/resolv.conf包含

nameserver 127.0.1.1
Run Code Online (Sandbox Code Playgroud)

我评论#dns=dnsmasq/etc/NetworkManager/NetworkManager.conf并重新启动网络经理restart network-manager。但这没有帮助。

然后我发现该dnsmasq进程不是 NetworkManager 的子进程

# pstree -spu $(pidof dnsmasq)
init(1)???dnsmasq(3015,libvirt-dnsmasq)
Run Code Online (Sandbox Code Playgroud)

我不确定它为什么在运行。会不会跟VirtualBox有关?我不想它碰resolve.conf。如何禁用它?

我的系统是 Linux Mint 17 Qiana。

linux-mint dnsmasq

16
推荐指数
1
解决办法
5万
查看次数

当我使用外部 DNS 时,为什么 dig 将 dns 服务器报告为 127.0.0.1?

我使用 unbound 并且通常使用 openDNS 作为我的 DNS 服务器。

当我运行时dig google.com说我得到SERVER: 127.0.0.1#53(127.0.0.1)。这个东西到底在监听 #53 端口是什么?这是未绑定的还是与dnsmasq有关(我什至安装了dnsmasq,因为dnsmasq.conf似乎没有安装/etc?)

在 resolv.conf 中,nameserver 127.0.0.1但是在网络管理器中,我将 DNS 服务器指向了两个 openDNS 地址。那么这里发生了什么?本地名称服务器是否指向 dnsmasq,然后使用来自网络管理器的值?还是实际上在听的未绑定?

dns dnsmasq

12
推荐指数
1
解决办法
2万
查看次数

如何让网络管理器使用 openresolv + dnsmasq 配置特定于域的名称服务器

我经常同时连接到多个网络。这些网络中的每一个都通过 dhcp 提供名称服务器配置。例如网络 1: (eth0):

domain company1.corp #
nameserver 192.168.0.253
nameserver 192.168.0.254
Run Code Online (Sandbox Code Playgroud)

网络 2 (tun0):

domain company2.corp #
nameserver 10.102.204.51
nameserver 10.102.208.51
Run Code Online (Sandbox Code Playgroud)

# 名字变了

同时连接到两个网络时:

# resolv.conf from NetworkManager
domain company1.corp, company2.corp
nameserver 192.168.0.253
nameserver 192.168.0.254
nameserver 10.102.204.51
# NOTE: the libc resolver may not support more than 3 nameservers.
# The nameservers listed below may not be recognized.
nameserver 10.102.208.51
Run Code Online (Sandbox Code Playgroud)

解析 service.company2.corp 不起作用,因为第一个名称服务器只知道 company1.corp 名称。

受到本文的启发,我设置了openresolv(一个 resolvconf 实现),在我的 Arch linux 安装上配置了一个本地 dnsmasq 服务。

如果我使用 resolvconf …

dns networkmanager dnsmasq

11
推荐指数
1
解决办法
3万
查看次数

使用 dnsmasq 作为 dhcp 服务器而不是 isc-dhcp-server 有什么问题吗?

所以我已经将我的家庭连接配置为与 dnsmasq 一起使用,因为它捆绑了一个 dhcp 服务器并且设置起来非常好。

还有另一个包 - isc-dhcp-... 也这样做,也许是它的预期目的。

我失去了什么?

dhcp dnsmasq

11
推荐指数
1
解决办法
9920
查看次数

如何为一个域分配多个固定IP地址?

我在跑dnsmasq

address=/chat.freenode.net/130.239.18.172
address=/chat.freenode.net/140.211.167.105
Run Code Online (Sandbox Code Playgroud)

但是好像dnsmasq只能识别最后一条记录,我该怎么办?

dns dnsmasq

10
推荐指数
2
解决办法
2万
查看次数

我可以解析 *.local 域,ping IP,但我无法 ping 这个域

我试图让 * .local域使用带有 vagrant-dns 的 DNS 服务器。为了让它工作,我设置了 dnsmasq 在它前面运行。

NetworkManager 已安装但设置为 dns=none

解决.conf:

nameserver 127.0.0.1 #this points to dnsmasq
Run Code Online (Sandbox Code Playgroud)

测试解决:

$ nslookup domain.local
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   domain.local
Address: 10.222.222.22
Run Code Online (Sandbox Code Playgroud)

Dig 解决了相同的问题:

$ dig domain.local

; <<>> DiG 9.10.3-P4-Debian <<>> domain.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18052
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;domain.local.      IN  A

;; ANSWER …
Run Code Online (Sandbox Code Playgroud)

dns dnsmasq resolv.conf

10
推荐指数
1
解决办法
4万
查看次数