Ubuntu 中无法连接到华硕 Wi-Fi 中继器

Ubuntu 中无法连接到华硕 Wi-Fi 中继器

因此,我最近购买了一个无线中继器(Asus RP-AC55),因为我的路由器无法覆盖我需要的所有地方,但到目前为止,它引发的问题比它应该解决的问题更大。

主要问题是它根本不允许任何 Ubuntu 设备连接到它。我尝试过在 2 台不同的笔记本电脑(两台 Zenbook)+ 1 台旧台式机上运行两个不同版本的 Ubuntu(16.04 和 18.04)(在此之前,这些都没有给我带来与 WiFi 相关的问题),但它绝对无法与任何一台一起使用。其中一台 Zenbook 安装了 Windows 分区,使用 Windows 时与路由器的连接无缝运行。我还尝试了几部 Android 手机,它们都能够连接到中继器(并通过它连接到互联网),没有任何问题。

第二部分是,当尝试从基于 Ubuntu 的设备之一连接到中继器时,中继器将崩溃、关闭并重新启动。几秒钟后,无线指示器中会出现一个问号(顺便说一下,它正在运行 GNOME Shell),并且无法访问互联网,然后连接断开,中继器重新启动。

经过进一步的实验后,我认为这至少部分是 DNS 问题:如果我手动设置 IP 地址,我的笔记本电脑将连接到路由器并且不会崩溃,并且在终端中 ping 8.8.8.8 会得到积极结果,但 nslookup 和正常的互联网浏览会失败。

如果我将 IP 地址设置为“自动 (DHCP)”,它仍然会崩溃,而且尝试 ping 任何内容(崩溃前)都会失败。我尝试将 DNS 手动设置为 Google 的 DNS(8.8.8.8、8.8.4.4)(在设置手动 IP 的基础上)以连接到中继器,但如果我这样做,它会崩溃,就像我没有手动设置 IP 并且没有 ping 一样。我还尝试将中继器本身设置为 Google 的 DNS,但这也没有带来任何积极的结果。

所以我猜测问题出在 DNS 和获取 IP 上,对于第一个问题我不知道如何“修复”。

只要我能获得日志,我愿意提供您可能需要的任何日志(几乎立即重启可能会使某些日志难以获取),但由于我不知道哪些日志可能有用,因此我没有在这篇文章中包含任何日志。

希望有人能够帮助我解决我的问题,并提前感谢那些愿意尝试的人。

答案1

正如其他人所说,该问题与 DNS 查询有关。禁用systemd-resolved是一个很好的解决方案。

以下修复适用于Ubuntu 18.04LTS带有固件的 Asus RP-AC55 3.0.0.4.384_83130


在 Linux 设备上,执行以下操作:

  1. 禁用systemd-resolved

    sudo systemctl disable --now systemd-resolved
    
  2. 删除 resolv.conf 文件:

    sudo rm /etc/resolv.conf
    
  3. NetworkManager.conf在 的块中[main]添加以下行dns=default

    sudo nano /etc/NetworkManager/NetworkManager.conf
    
    # Move cursor to a newline inside the [main] block and insert the line below
    dns=default
    

    之后保存文件。

  4. 重新开始NetworkManager

    sudo systemctl restart NetworkManager
    

在中继器网站上执行以下操作:

  1. 转至Advanced Settings/Lan并设置Get LAN IP Automatically?No
  2. DNS Server1将和字段设置DNS Server2为您的首选 DNS 服务器,例如8.8.8.81.1.1.1
  3. 重新启动中继器。

完成上述配置后,尝试在 Linux 设备上使用中继器的网络。应该可以正常工作。

答案2

带有 OPT 记录的 AAAA 的 DNS 查询会导致 RP-AC55 崩溃并重新启动。我已向支持人员报告了此问题(我们将看到结果),但您目前可以禁用 OPT 作为解决方法。

/etc/resolv.conf由服务管理systemd-resolved。最好的办法是禁用 OPT 级别,但我怀疑这是否可行。

  1. # systemctl disable --now systemd-resolved

  2. # mv /etc/resolv.conf /etc/resolv.conf_back

  3. # systemctl restart NetworkManager.service

  4. 过一段时间你应该/etc/resolv.conf提交没有 options edns0nameserver你需要。

如果你想进行更多实验:

# apt-get install tcpreplay wireshark
# echo 1MOyoQIABAAAAAAAAAAAAP//AAABAAAAF5KkXEZEAwBVAAAAVQAAAAAIogvECTBSy4RecQgARQAARxPgQABAEQrlCgAB0ggICAictgA1ADOaBkTsAQAAAQAAAAAAAQN3d3cGZ29vZ2xlA2NvbQAAHAABAAApBLAAAAAAAAA= | base64 -d > asus-rp-ac55-DoS.pcap

要使路由器崩溃,请运行​​:

# tcpreplay -L 1 --intf1 wlp58s0 asus-rp-ac55-DoS.pcap

要查看数据包的内容:

# wireshark -r asus-rp-ac55-DoS.pcap

答案3

好的,我之前的帖子被删除了,可能是因为除了我当时的发现之外,它实际上并没有包含任何有价值的信息。我现在可以确认我找到了一个更好的解决方法!

我在 AP 模式下运行 3 个 RP-AC55,由于与 @philippe-lepaffe 相同的重启问题,我无法将它们与 Ubuntu 笔记本电脑一起使用。我努力尝试找到一个可以禁用 dnsmasq 的 nvram 设置,因为它应该是捕获导致中继器崩溃的 AAAA OPT 请求的守护进程。我没有找到这样的解决方案,但在阅读了 ASUSWRT-Merlin 后,我发现了一些类似的问题,这些问题通过将路由器置于静态 IP 模式来解决,从而禁用 dnsmasq 的 DHCP 部分并在设置中放置 2 个 DNS 服务器,并禁用“自动连接到 DNS 服务器”。这似乎也适用于 RP-AC55!因此,为中继器(和手动 DNS 服务器)设置一个静态 IP 而不是 DHCP,重启就会消失!

答案4

将中继器固件更新到最新版本对我来说确实有效。您可以在这里找到它:https://www.asus.com/me-en/supportonly/rp-ac55/helpdesk_bios?model2Name=RP-AC55

我的版本是 3.0.0.4.382,我更新到了 3.0.0.4.384.83577,因为更新日志说它们已经提高了稳定性。当我将 ubuntu 电脑连接到中继器时,中继器不再重新启动!

另外,此视频可以帮助您更新固件:https://www.youtube.com/watch?v=hs_HfDZeCqY

相关内容