bug: resolv.conf自动填充搜索和名称服务器查找:永久或临时(每次系统启动时运行)。
推荐解决方案:解决程序包解决了自动填充问题(不要与resolv.conf混淆)
-https://www.youtube.com/watch?v=NEyXDdBrw2c
-https://unix.stackexchange.com/q/209760/441088
-https://unix.stackexchange.com/q/362587/441088我的问题与最后一个(441088)相同,只是需要resolv.conf不再更新(自动填充)搜索和名称服务器。
#sudo vi 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
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 84.200.70.40
nameserver 84.200.69.80
nameserver 192.168.4.1
nameserver 192.168.4.1
nameserver 192.168.1.1
nameserver 1.1.1.1
search autopopulated-isp-router 1.1.1.1显然,它只是在已经存在的名称服务器下面添加了更多的自动填充名称服务器。(这有点偷偷摸摸,所以您必须继续检查resolv.conf,以捕获名称服务器和搜索服务器的自动填充,这些名称服务器和搜索服务器是自动附加到解析器设置的)
如何更改resolv.conf以防止名称服务器的自动填充和使用isp ip地址进行搜索?
试过:
# service networking stop && service network-manager start
# service networking start && service network-manager stop网络管理器: Wicd具有网络连接和网络管理器停止,则没有wicd,只有nmtui与网络开始,然后网络管理器启动。 可在Debian10.1和kali 2020上复制(任何版本都试过了),可以用dhcp或静态配置复制(是的,可以在网络上平平本地网关、网络路由器和其他ip)
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: files systemd
group: files systemd
shadow: files
gshadow: files
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname mymachines
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis发布于 2020-11-08 23:01:40
我认为这里的问题在于正在填充NetworkManager文件的resolv.conf。
若要禁用dns更新,请执行以下操作。
1-用编辑器打开conf文件:
sudo vi /etc/NetworkManager/NetworkManager.conf2-将上述内容添加到main部分:dns=none
3-重新启动NetworkManager:
sudo service network-manager restart因为您上次编辑:
正如我在这里看到的,您使用的是NetworkManager.service:
A-如果您使用dhcp作为您的接口,那么通过您的DHCP服务器检查DNS设置:
cat /var/lib/NetworkManager/*.lease | grep 'domain-name-servers'在这种情况下,您可以直接设置所需的dns条目,并禁用DHCP,使其无法提供:
# Edit dhclient configuration file
vi /etc/dhcp/dhclient.conf
# Set the fixed your dns server entries
supersede domain-name-servers 84.200.69.80, 84.200.70.40;这里很清楚,您的/etc/rupv.conf显然是由systemd解析的服务管理的。
因此,您可以禁用此服务或让它在/etc/systemd/ can中运行和编辑其配置,因此禁用它:
1-首先检查当前systemd的输出是否已解析. check文件和check systemd已解析的文件正在运行:
sudo cat /run/systemd/resolve/resolv.conf
sudo systemd-resolve status2-停止/禁用服务:
sudo systemctl disable systemd-resolved.service
sudo systemctl stop systemd-resolved.service3-在NetworkManager中设置DNS处理模式,使系统解析或NetworKService不再管理它(编辑/etc/NetworkManager/NetworkManager.conf ):
[main]
dns=none4-销毁符号链接/etc/surv.conf -> /run/systemd//:
sudo unlink /etc/resolv.conf5-重新启动NetworkManager:
sudo systemctl restart NetworkManager6-重新创建resolv.conf文件:
sudo touch /etc/resolv.conf
sudo chown root:root /etc/resolv.conf
sudo chmod 644 /etc/resolv.conf7-手动填充resolv.conf文件:
echo 'nameserver 84.200.70.40
nameserver 84.200.69.80
nameserver 192.168.4.1
nameserver 192.168.4.1
nameserver 192.168.1.1
nameserver 1.1.1.1' > /etc/resolv.confhttps://unix.stackexchange.com/questions/618683
复制相似问题