![DNS 和公共 WiFi 门户](https://linux22.com/image/1063504/DNS%20%E5%92%8C%E5%85%AC%E5%85%B1%20WiFi%20%E9%97%A8%E6%88%B7.png)
我使用 Ubuntu 17.10,在连接公共 WiFi 网络时经常遇到问题,尤其是重定向到登录门户时。
当我在我的个人网络上工作时,/etc/resolv.conf 包含一个指向 127.0.0.53 的名称服务器,如果我没记错的话,它对应于 systemd-resolved 服务。而且它运行得非常好。
在公共 Wifi 上,由于某种原因,这似乎没有帮助,当尝试使用 Firefox 访问页面时,它会加载很长时间才告诉我找不到我提供的 URL。
现在,我通过以下方式解决了这个问题:
dns=none
/etc/Networkmanager/Networkmanager.conf 中的设置[main] plugins=ifupdown,keyfile,ofono dns=none [ifupdown] managed=false [device] wifi.scan-rand-mac-address=no
禁用 systemd-resolved 服务:
sudo systemctl enable systemd-resolved.service
- 重新启动网络管理器:
sudo service network-manager restart
手动填写 /etc/resolv.conf,首先需要输入公共路由器的 IP 作为名称服务器。在 Firefox 中输入路由器的 IP 时,这会加载门户。然后,我登录。
#Generated by NetworkManager nameserver 192.168.44.1
使用公共 DNS 地址(通常为 8.8.8.8)编辑 /etc/resolv.conf
# Generated by NetworkManager nameserver 8.8.8.8 nameserver 8.8.8.4
完成此过程后,我在会话的其余部分再也没有遇到任何问题,但我想知道是否有一种不那么痛苦的方法来解决这个恼人的问题。我知道 dnsmasq 存在,但很长时间没有使用它,因为它经常与我大学的 VPN 发生冲突。
自从我安装了 Ubuntu(以及 Linux 总体)之后,每次出现新问题时,我都会自己弄清楚它是如何工作的,所以如果你不能太深入地了解技术细节,我将不胜感激!:)