亲爱的SF@StackExchange,
我正在使用一个提供 LAN 和 WLAN 功能的接入点,使用 4G 将其主机连接到互联网。DHCP 已按设计停用。无论连接的操作系统是什么,我都可以 ping 通WLAN -> LAN, LAN -> LAN
等等。Windows PC 不受此影响,可以正常连接到互联网,这让我相信它在我的 Linux 机器的设置范围内,我需要查看一下。
然而,当我使用 Linux 机器时,由于 AP 上的 WLAN 接口255.255.0.0
与 LAN 共享同一子网(),因此我无法访问 WLAN 互联网。
例如,当两者都共享 IP 地址空间时,我无法连接到互联网,169.254.x.x
但我能通过此设置获得连接:
无线局域网:Default GW: 192.168.1.1, Subnet: 255.255.255.0
局域网:Default GW: 169.254.2.1, Subnet: 255.255.0.0
这不是我想要的,因为这会弄乱我需要的端口转发。
我尝试为我的 Linux 机器设置 DNS 8.8.8.8
。当共享同一子网时,它仍然可以 ping 通 AP 169.254.2.1
。
路线-n日志:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 169.254.2.1 0.0.0.0 UG 600 0 0 wlp3s0
169.254.0.0 0.0.0.0 255.255.0.0 U 600 0 0 wlp3s0
猫/etc/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
nameserver 127.0.1.1
(不过,AP 工作时也确实如此)
答案1
你周围的环境和你头脑中的混乱情况太复杂了,很难给出一个直接的答案。首先,169.254/16是 Windows 自动配置前缀,当无法访问 DHCP 服务器且 Windows IP 堆栈配置为使用 DHCP 时使用。默认情况下,Linux 未启用此功能,因此您无法获得外部世界连接。其次,显然您的 AP 上配置了一个静态子网,它是 192.168.1.0/24 - 似乎接入点默认设置已生效。
结论:删除你的实验结果,因为结果无关紧要,获取 DHCP 服务器或使用静态 IP。你的设计导致 DHCP 被禁用,这是完全错误的。