我的 resolv.conf 文件有“nameserver 127.0.0.53”。
我需要用其他值替换它或添加另一个名称服务器。
我删除了符号链接,用文件替换了它。现在它由网络管理器管理,
但重启后会恢复 127.0.0.53。
我需要保留我所做的更改。
如果我在“interfaces”文件中配置网络接口,
它在网络管理器中会变为“UNMANAGED”。但是它的配置不起作用。
这个问题相关这里。
伙计们,如果不太麻烦的话,请你们阅读一下。
在执行任何“ping”或“host”之前,我必须完成该LOGIN程序。
我的主要问题就在这里。我在这里尝试做的是创建一种解决方法。
在 resolv.conf 中添加除 127.0.0.53 或 0.0.0.0 之外的任何名称服务器都可以使该功能正常工作。
网络 DNS 为 192.168.11.1。我插入了 192.168.0.1,它就正常工作了。只要您说出,它就会运行。但是在网络管理器中更改设置根本没有效果。
@heynnema,我在提出问题之前在 IPV4 选项卡中进行了这些设置,但不幸的是,它们不起作用。/etc/network/interfaces
文件完好无损,
UBUNTU 18.10 已全新安装。
我为了在 DEBIAN 中创建路由器而编辑了该文件,我看到了它的工作原理。我不希望这里的情况也一样。
@Marmayogi 我的 DNS 是 192.168.11.1,/run/systemd/resolve/resolv.conf 中也有相同的 DNS。我很惊讶在那里看到它。
是的,@Marmayogi,我的目标是获得该屏幕。
在 UNITY 18.04 上,此文件不存在,但变化不大。
/etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
link/ether bc:ae:c5:35:85:e6 brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
link/ether 48:5d:60:c5:91:0b brd ff:ff:ff:ff:ff:ff
systemd-resolve --status wlp3s0
Link 3 (wlp3s0)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: 192.168.11.1
DNS Servers: 192.168.11.1
DNS Domain: ~.
crew.local
是的@Marmayogi,这是我现在唯一想要的东西。不过,这个解决方案对我来说似乎很尴尬。有一个符号链接,你可以在其他帖子中看到。我删除了它,希望我能让一切正常。
@Marmayogi,你做得很好,创建了一步一步的说明。
您的解决方案非常天才,但并不体面!
我测试过了。登录成功,网络可用。
@heynnema,
/run/resolvconf/resolv.conf
在 UBUNTU 18.10 上不存在。
在这种情况下你会有什么建议?
系统是从 ISO 全新安装的,从 UBUNTU.COM 下载。
答案1
我正在复制部分“1.11.2. 配置 /etc/resolv.conf 文件”从我的回答第一部分 安装前准备:如何在 Ubuntu 18.04 上安装 Oracle 18c(企业版)?
要显示系统中可用的网络接口,请发出以下命令:
$ ip link show
Figure-39: The WiFi network adapter wlp5s0 is active, up and running.
应检查网络配置文件/etc/netplan/.yaml
以获取配置详细信息。要显示文件的内容,请发出以下命令:
$ cat /etc/netplan/01-network-manager-all.yaml
Figure-40: Network Manager file 01-network-manager-all.yaml is not configured yet.
通过以下命令查看是否/etc/resolv.conf
为静态文件:symlink
$ ls -l /etc/resolv.conf
Figure-41: File /etc/resolv.conf is a symlink pointing to stub file 'stub-resolv.conf'.
事实上,@igor,你从中删除的符号链接其他帖子实际上是存根文件的链接stub-resolv.conf
。
/etc/resolv.conf
在切断与stub-resolv.conf
承载名称服务器的之间的符号链接之后127.0.0.53
, /etc/resolv.conf
就只剩下你一个人了,而你则将其/etc/resolv.conf
作为静态文件!
事实是,@Igor,这种遣散行为并没有真正为你提供任何解决方案。
/etc/resolv.conf
现在,通过命令显示内容:
$ cat /etc/resolv.conf
Figure-42: The contents of symlink '/etc/resolv.conf' having 127.0.0.53 as nameserver.
显示的 DNS/etc/resolv.conf
不是127.0.0.53
为 配置的默认名称服务器dhcp
。
发出以下命令来找出默认的 DNS 服务器:
$ systemd-resolve --status wlp5s0
Figure-43: The default DNS server for WiFi network adapter is 192.168.43.1.
通过以下命令显示 的内容/run/systemd/resolve/resolv.conf
:
$ cat /run/systemd/resolve/resolv.conf
Figure-44: The contents of '/run/systemd/resolve/resolv.conf' indicating default nameserver.
从图 44 中,您可以观察到,这/run/systemd/resolve/resolv.conf
确实是一个承载默认名称服务器的服务器192.168.43.1
。
发出以下命令将符号链接更改/etc/resolv.conf
为指向默认 DNS 服务器192.168.43.1
而不是127.0.0.53
。
$ sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
$ ls -l /etc/resolv.conf
Figure-45: File /etc/resolv.conf is a symlink pointing to default nameserver.
如图 45 所示设置 sysmlink 后,您必须通过发出以下命令确保您的 Wi-Fi 已连接、启动并正在运行:
$ nmcli device
Figure-45-a: Wi-Fi network interface adapter 'wlp5s0' is connected, up and running.
结论:
在这种情况下,符号链接不仅是您得到的最佳答案,而且还是一个不错且可接受的解决方案。
答案2
答案3
TD;DR
/etc/resolv.conf
用户不应编辑
> cat /etc/resolv.conf # Ubutnu 18
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "systemd-resolve --status" to see details about the uplink DNS servers
# currently in use.
在 Ubuntu 18 中,网络管理器已更改为“netplan”。netplan
用于管理 DNS 的工具是systemd-resolve
动态配置
查看
sudo systemd-resolve --status eth0
eth0 是你的接口
如果没有 DNS 服务器,请设置它
放
sudo systemd-resolve --interface eth0 --set-dns 1.1.1.1
(您可以使用多个 --set-dns 选项添加更多)
用于持久配置
看一眼
cat /etc/netplan/*.yaml
yaml
文件示例
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: no
addresses:
- 192.168.121.199/24
gateway4: 192.168.121.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
查看更多
您还可以安装“resolveconf”,这个更简单,而且如果您正在管理服务器,这些都不是最好的。
对于服务器,请查看 FreeBSD 工具:relayd
或 PowerDNS 工具:dnsdist
。
答案4
我使用 resolv.conf 来设置名称服务器和搜索因为VPN但它在 Ubuntu 18 之前就不是正确的解决方案(因为它不仅用于 VPN,还用于所有连接)。更好的解决方案是使用 openvpn-systemd-resolved这个解决方案对我有用。