可以访问 LAN 但没有互联网连接,除非使用不同的子网

可以访问 LAN 但没有互联网连接,除非使用不同的子网

亲爱的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 被禁用,这是完全错误的。

相关内容