DNS 和公共 WiFi 门户

DNS 和公共 WiFi 门户

我使用 Ubuntu 17.10,在连接公共 WiFi 网络时经常遇到问题,尤其是重定向到登录门户时。

当我在我的个人网络上工作时,/etc/resolv.conf 包含一个指向 127.0.0.53 的名称服务器,如果我没记错的话,它对应于 systemd-resolved 服务。而且它运行得非常好。

在公共 Wifi 上,由于某种原因,这似乎没有帮助,当尝试使用 Firefox 访问页面时,它会加载很长时间才告诉我找不到我提供的 URL。

现在,我通过以下方式解决了这个问题:

  1. dns=none/etc/Networkmanager/Networkmanager.conf 中的设置

    [main]
    plugins=ifupdown,keyfile,ofono
    dns=none
    
    [ifupdown]
    managed=false
    
    [device]
    wifi.scan-rand-mac-address=no
    
  2. 禁用 systemd-resolved 服务:sudo systemctl enable systemd-resolved.service

  3. 重新启动网络管理器:sudo service network-manager restart
  4. 手动填写 /etc/resolv.conf,首先需要输入公共路由器的 IP 作为名称服务器。在 Firefox 中输入路由器的 IP 时,这会加载门户。然后,我登录。

    #Generated by NetworkManager
    nameserver 192.168.44.1
    
  5. 使用公共 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 总体)之后,每次出现新问题时,我都会自己弄清楚它是如何工作的,所以如果你不能太深入地了解技术细节,我将不胜感激!:)

相关内容