在办公室时,我连接到 192.168.1.0/24 网络。当 Internet 共享关闭时,第一个条目netstat -nr
是
default 192.168.1.254 UGSc 10 62 en0
如果我打开 Internet 共享,它会显示
default link#5 UCS 2 0 en1
这显然是不正确的并且破坏了我的机器的所有连接。
en1
是我的无线连接,而en0
是我的以太网。如果我禁用 Internet 共享,它甚至会删除新的错误路由,所以我根本没有默认路由。
当我共享时或禁用 Internet 共享后,我运行此脚本:
route delete default
route add default 192.168.1.254
这解决了所有问题,但我很想知道究竟是什么导致了这种情况发生以及如何正确解决它。
几个月前,它运行得非常完美,没有任何问题,但有一天,当我把笔记本电脑带回家时,我无法禁用互联网共享,所以我无法连接到家里的 WiFi。最后我不得不重启机器,从那时起,这个问题就一直存在。
答案1
如果我理解正确的话,在办公室你们通过 Wi-Fi 共享互联网连接,而在家里你只想通过 Wi-Fi 进行普通的互联网访问,对吗?
尝试在网络接口列表底部的System Preferences
> Network
>按钮中创建另一个用于家庭访问的 Wi-Fi 接口。然后将其用于办公室的互联网共享和家庭的互联网访问。+
Wi-Fi 1
Wi-Fi 2
这里可能发生的另一件事是子网冲突,如果确实发生,请尝试运行以下命令来更改默认 ICS 子网(将192.168.x.0
地址替换为某些未使用的子网范围):
sudo defaults write
/Library/Preferences/SystemConfiguration/com.apple.nat
NAT -dict-add SharingNetworkNumberStart 192.168.x.0
答案2
我不知道这是否直接相关,但您的设置是错误的。这可能是配置重置的原因。
在您的“内部”接口上,您手动将 IP 地址设置为 192.168.1.254/255.255.255.0,这没问题,但此接口不应指定路由器地址。在您的情况下,您将路由器地址设置为服务器本身,这永远不会准确。
其次,DHCP 设置中没有设置路由器地址。这意味着您的 DHCP 服务器将向客户端分发地址,但不会告诉他们如何访问外部世界。在我看来,这似乎不太合适。
在您的 DHCP 设置中,您应该将路由器地址设置为您的 NAT 服务器的地址(在本例中为 192.168.1.254)。
尝试这些修复,看看是否有任何不同。