我有一个 USB 无线适配器eth1
。当它插入时,它会自动获取 IP 地址 192.168.8.100/24 并自动添加路由:
ip a
输出:
39: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 0c:5b:8f:27:9a:64 brd ff:ff:ff:ff:ff:ff
inet 192.168.8.100/24 brd 192.168.8.255 scope global dynamic noprefixroute eth1
valid_lft 85920sec preferred_lft 85920sec
inet6 fe80::640:311a:de17:1163/64 scope link noprefixroute
valid_lft forever preferred_lft forever
ip route
输出:
default via 192.168.8.1 dev eth1 proto dhcp metric 100
192.168.8.0/24 dev eth1 proto kernel scope link src 192.168.8.100 metric 100
互联网可以访问,但如果我将 IP 地址更改为 192.168.2.100/24 并添加与添加的路由相同的路由,但使用新的 IP 地址和更高的度量,则它不起作用:
ip address del 192.168.8.100/24 dev eth1
ip address add 192.168.2.100/24 dev eth1
ip route add default via 192.168.2.1 dev eth1 proto static metric 99
现在界面和路由如下所示:
ip a
输出:
39: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 0c:5b:8f:27:9a:64 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.100/24 scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::640:311a:de17:1163/64 scope link noprefixroute
valid_lft forever preferred_lft forever
ip route
输出:
default via 192.168.2.1 dev eth1 proto static metric 99
default via 192.168.8.1 dev eth1 proto dhcp metric 100
192.168.2.0/24 dev eth1 proto kernel scope link src 192.168.2.100
192.168.8.0/24 dev eth1 proto kernel scope link src 192.168.8.100 metric 100
为什么它不起作用?
答案1
如果接入点端没有设置192.168.2.1,显然路由不起作用。如果 Wi-Fi 接入点/路由器仅在 192.168.8.x 网络中配置,则它将仅接受对 192.168.8.x 网络的 IP 地址进行路由。
(答案的提醒是假设正确设置路由的替代场景而写的。)
问题是假设经过身份验证的 Wi-Fi 介质默认情况下与您的常规共享以太网介质一样;它不是。
在经过身份验证的 Wi-Fi 网络中,基本上,简单来说,您可以认为它模拟了以太网共享介质后为了安全起见,您进行身份验证。基本上,在身份验证后,您将获得一个可能与身份验证相关的 IP 地址(取决于多个因素)。
如果您确实更改了该 IP 地址,则关联可能会丢失,并且您必须重新(重新)启动 Wi-Fi 身份验证过程。
还可能存在防火墙规则,阻止您将客户端更改为另一个网络。
PS:对于更高级的用户,Wi-Fi 和以太网都可以有经过身份验证或未经身份验证的设置。我只是想用简单的术语来表达它,以便OP的利益。