我不知道这是怎么发生的,但出于某种原因,当我在 iMac (OS X Lion) 上使用共享互联网连接时,所有互联网流量都被阻止发送到我的其他设备。但是流媒体广播之类的功能可以正常工作。
我如何才能找出是什么阻塞了 WiFi 互联网使用的端口?
ifconfig:
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
ether 00:1e:c2:15:e2:2a
media: autoselect
status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:1e:c2:a3:f7:11
inet6 fe80::21e:c2ff:fea3:f711%en1 prefixlen 64 scopeid 0x5
inet 10.0.2.1 netmask 0xffffff00 broadcast 10.0.2.255
inet 169.254.254.145 netmask 0xffff0000 broadcast 169.254.255.255
media: autoselect
status: active
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 4078
lladdr 00:1f:5b:ff:fe:0a:2a:5c
media: autoselect <full-duplex>
status: inactive
vnic0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:1c:42:00:00:08
inet 10.211.55.2 netmask 0xffffff00 broadcast 10.211.55.255
inet6 fe80::21c:42ff:fe00:8%vnic0 prefixlen 64 scopeid 0x7
inet6 ::1 prefixlen 64
media: autoselect
status: active
vnic1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:1c:42:00:00:09
inet 10.37.129.2 netmask 0xffffff00 broadcast 10.37.129.255
inet6 fe80::21c:42ff:fe00:9%vnic1 prefixlen 64 scopeid 0x8
inet6 ::1 prefixlen 64
media: autoselect
status: active
ppp0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 10.136.35.37 --> 10.99.195.231 netmask 0xffffff00
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
inet6 fe80::21e:c2ff:fe15:e22a%utun0 prefixlen 64 scopeid 0xa
inet6 fd00:6587:52d7:10c5:21e:c2ff:fe15:e22a prefixlen 64
答案1
检查您的 DNS 设置。大多数流媒体应用都使用仅 IP 地址。
转到网络首选项,确保您没有设置自定义的东西,比如无法访问的家用路由器。
答案2
ifconfig 中 en1 的输出显示了 2 个 inet(IP)地址,这有点令人困惑,需要进行更多的故障排除。
en1 上显示的第一个 IP 地址是 10.0.2.1,这可能正确也可能不正确,您必须检查共享连接的计算机上的无线接口。我不太清楚 iMac 是否正在广播其互联网连接以与他人共享,或者它是否是正在从另一台设备接收共享连接的设备之一。
无论哪种方式,除非共享系统充当 DHCP 服务器来分配 IP 地址,否则您可能需要将每个设备配置为具有单独的 IP 地址。
但接下来有一个非常不寻常的问题——
en1 的 IP 也是 169.254.254.145,这是由于未从 DHCP 服务器获取 IP 地址而导致的,并且正在自行分配链路本地或 APIPA 地址,当您尝试访问 Internet 时无法使用该地址,因为无法路由该地址。
computernetworking.about.com(APIPA):
定义:APIPA [link-local] 是 Microsoft Windows [和大多数现代操作系统] 的一项功能,是一种用于本地网络的 DHCP 故障转移机制。使用 APIPA,DHCP 客户端可以在 DHCP 服务器无法正常工作时获取 IP 地址。...
当
DHCP 服务器发生故障时,APIPA 会在私有范围 169.254.0.1 到 169.254.255.254 内分配 IP 地址。客户端使用 ARP 验证其地址在网络上是否唯一。当 DHCP 服务器再次能够处理请求时,客户端会自动更新其地址。
以下是我建议的解决问题的方法。希望我清楚地理解了这个问题,但前提是 iMac 是应该广播互联网连接的系统,而您正在通过 WiFi 将其他设备连接到它:
检查所有设备上无线网络接口的配置。如果您使用的是 10.0.2.x 方案 - 将 iMac 设置为 10.0.2.1,将其他设备设置为 10.0.2.2 到 10.0.2.254,确保您没有两个设备具有相同的 IP。您需要将 iMac 以及您想要连接的所有设备的无线接口上的网络掩码设置为 255.255.255.0 - 除了 iMac 之外,将默认网关设置为 10.0.2.1 。为了安全起见,我会手动将 DNS 服务器 IP 设置为 208.67.222.222 和 208.67.220.220 (openDNS),以确保所有基础都已覆盖。