我的NetworkManager没有写信给/var/run/networkmanager/resolv.conf,NetworkManager不填充resolv.conf也不能解决我的情况,因为我不使用resolvconf。详情如下:
我把我的以太网从/etc/network/interfaces切换到了NetworkManager,不知怎么从来没有写到/var/run/networkmanager/resolv.conf:
$ nmcli d
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected Wired connection 1
lo loopback unmanaged --
$ ls /var/run/NetworkManager/resolv.conf
ls: cannot access '/var/run/NetworkManager/resolv.conf': No such file or directory
$ ls /var/run/nm-dns-dnsmasq.conf
ls: cannot access '/var/run/nm-dns-dnsmasq.conf': No such file or directory当我使用/etc/network/interfaces时,这一点从未困扰过我,但是现在我正在使用NetworkManager,我需要它来更新我的resolv.conf。
这是我的NetworkManager.conf:
cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile
dns=dnsmasq
[ifupdown]
managed=false
[device]
wifi.scan-rand-mac-address=no有些回答说我应该让dns=dnsmasq在里面,但有些人说我不应该。总之,我仍然很困惑如何让NetworkManager更新/var/run/networkmanager/resolv.conf。
最新情况,更多信息:
$ resolvectl status | grep DNS
-su: resolvectl: command not found
$ dpkg -l '*dns*' | grep 'ii *dns'
ii dns-root-data 2018013001 all DNS root data including root zone
ii dnsmasq 2.79-1 all Small caching DNS proxy and DHCP/
ii dnsmasq-base 2.79-1 amd64 Small caching DNS proxy and DHCP/
ii dnsutils 1:9.11.3+dfs amd64 Clients provided with BIND
$ dpkg -l '*resolv*' | grep ii || echo no resolvconf
no resolvconf
$ ls -al /etc/resolv.conf
-rw-r--r-- 1 root root 79 2019-03-03 18:42 /etc/resolv.conf
$ host 8.8.8.8
8.8.8.8.in-addr.arpa domain name pointer google-public-dns-a.google.com.
$ host www.ebay.com
www.ebay.com is an alias for slot9428.ebay.com.edgekey.net.
slot9428.ebay.com.edgekey.net is an alias for e9428.b.akamaiedge.net.
e9428.b.akamaiedge.net has address 104.93.181.25
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionicUpdate2。
resolvconf,因为我正在使用/etc/network/interfaces,并且不希望我的/etc/resolv.conf一直在改变。也许这就是罪魁祸首,NetworkManager没有resolvconf就不能工作?resolvconf的18.04 LiveCD进行了练习),并将其用于我的LAN服务器。嗯,在这种情况下,我不需要NetworkManager总是改变我的/etc/resolv.conf。不管怎么说,这是进一步调查的信息:
$ dpkg -l '*resolv*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
un resolvconf (no description available)
$ cat /run/resolvconf/resolv.conf
cat: /run/resolvconf/resolv.conf: No such file or directory
$ cat /run/systemd/resolve/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
. . .
nameserver 64.71.255.204
nameserver 64.71.255.198
search hitronhub.home
$ cat /etc/netplan/*.yaml
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
eth0:
addresses: [192.168.0.11/24, 192.168.0.10/24]
gateway4: 192.168.0.1
$ ps auxc | grep resolv
systemd+ 23890 0.0 0.0 70608 1520 ? Ss Mar01 0:00 systemd-resolve
$ sudo lsof -i tcp:53
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd-r 23890 systemd-resolve 13u IPv4 47127798 0t0 TCP 127.0.0.53:domain (LISTEN)
dnsmasq 29822 dnsmasq 5u IPv4 47935969 0t0 TCP 192.168.0.10:domain (LISTEN)
dnsmasq 29822 dnsmasq 7u IPv4 47935971 0t0 TCP 192.168.0.11:domain (LISTEN)
dnsmasq 29822 dnsmasq 9u IPv4 47935973 0t0 TCP localhost.myhost.org:domain (LISTEN)
dnsmasq 29822 dnsmasq 11u IPv6 47935975 0t0 TCP [fe80::xxxx]:domain (LISTEN)
dnsmasq 29822 dnsmasq 13u IPv6 47935977 0t0 TCP [2607:fea8:xxxx]:domain (LISTEN)
dnsmasq 29822 dnsmasq 15u IPv6 47935979 0t0 TCP [fd00:xxxx]:domain (LISTEN)
dnsmasq 29822 dnsmasq 17u IPv6 47935981 0t0 TCP ip6-localhost:domain (LISTEN)发布于 2019-03-04 13:44:31
怪不得我说“这里有什么不对劲”。在你的“定制”中,你制造了一些不必要的混乱。别再试图打败这个系统了。抱歉的。
在/etc/netplan/*.yaml中,您组合了NetworkManager和netplan脚本。你的.yaml文件应该是这样的。
network:
version: 2
renderer: NetworkManager此信息属于NetworkManager GUI连接配置文件,或/etc/network/interfaces中的NetworkManager This .不是网络计划..。
ethernets:
eth0:
addresses: [192.168.0.11/24, 192.168.0.10/24] (why two addresses?)
gateway4: 192.168.0.1resolvconf/etc/resolv.conf符号链接/etc/systemd/resolved.conf (参见下面的说明)/etc/network/interfacesdnsmasq* unless,您可以解释为什么需要它关于 dnsmasq和systemd-resolved**.**
执行ps auxc | grep -i dns和ps auxc | grep -i resolv并查找dnsmasq和systemd-resolved,如果两者都在运行,则需要通过编辑/etc/systemd/resolved.conf和.
改变:
#DNSStubListener=yes至:
DNSStubListener=no然后重新启动systemd-解析和dnsmasq,或者重新启动。
You可能需要重置符号链接,即/etc/rupv.conf(如果dnsmasq没有运行).
sudo mv /etc/resolv.conf /etc/resolv.conf.OLD #保存旧的符号链接
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf #创建新的符号链接
注:原始的符号链接是.
sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
https://askubuntu.com/questions/1122836
复制相似问题