MacBook Air 网络设置如下:
- 通过代理通过 WiFi 连接互联网:
en0
- 通过以太网进行 LAN 连接:
en6
例如:
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:1f:f3:ba:82:57
inet6 fe80::21f:f3ff:feba:8257%en0 prefixlen 64 scopeid 0x4
inet 192.168.182.136 netmask 0xffffff00 broadcast 192.168.182.255
media: <unknown subtype>
status: active
en6: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:1f:f3:8c:3d:92
inet6 fe80::21f:f3ff:fe8c:3d92%en6 prefixlen 64 scopeid 0x5
inet 192.168.8.251 netmask 0xffffff00 broadcast 192.168.8.255
media: autoselect (100baseTX <full-duplex,flow-control>)
status: active
当我打开终端或浏览器时,如果 WiFi 已开启,我既可以访问互联网(例如 Google.com)。如果 WiFi 已关闭,我又可以访问本地网络(例如 192.168.xx)。但不能同时访问两者(可能是因为两个连接都在 192.168.xx 上)。
是否可以配置一个应用程序以使用特定的连接(例如终端使用 en6,FireFox 使用 en0)?
更新(有关 Spiff 的答案的信息):
在网络偏好设置中,
AirPort
位于USB Ethernet
当 Wi-Fi 连接正常时:
Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 192.168.182.1 UGSc 26 0 en0 default 192.168.8.10 UGScI 2 0 en6 17.82.253.7 192.168.182.1 UGHWI 1 1 en0 64.34.80.176 192.168.182.1 UGHWI 1 11 en0 69.59.196.211 192.168.182.1 UGHWI 1 35 en0 69.59.196.216 192.168.182.1 UGHWI 1 6 en0 72.21.91.19 192.168.182.1 UGHW3I 0 2 en0 3295 72.233.61.123 192.168.182.1 UGHWI 2 10 en0 74.125.71.18 192.168.182.1 UGHWI 1 90 en0 74.125.71.19 192.168.182.1 UGHW3I 0 1 en0 3418 74.125.71.83 192.168.182.1 UGHWI 1 25 en0 74.125.71.100 192.168.182.1 UGHW3I 0 36 en0 3433 74.125.71.101 192.168.182.1 UGHW3I 0 6 en0 3433 74.125.71.104 192.168.182.1 UGHW3I 0 9 en0 3432 74.125.71.105 192.168.182.1 UGHW3I 0 27 en0 3433 74.125.71.106 192.168.182.1 UGHWI 1 16 en0 74.125.71.113 192.168.182.1 UGHWI 1 5 en0 74.125.71.138 192.168.182.1 UGHWI 1 6 en0 74.125.71.139 192.168.182.1 UGHWI 1 9 en0 74.125.71.189 192.168.182.1 UGHW3I 0 12 en0 3432 74.201.86.29 192.168.182.1 UGHWI 1 93 en0 127 127.0.0.1 UCS 0 0 lo0 127.0.0.1 127.0.0.1 UH 4 6062 lo0 169.254 link#4 UCS 0 0 en0 174.36.30.38 192.168.182.1 UGHWI 1 19 en0 192.168.8 link#5 UCS 8 0 en6 192.168.8.10 0:12:a9:c5:41:0 UHLWI 1 0 en6 1198 192.168.8.11 0:24:73:7c:87:41 UHLWI 0 0 en6 1187 192.168.8.251 127.0.0.1 UHS 0 0 lo0 192.168.8.255 ff:ff:ff:ff:ff:ff UHLWbI 0 1 en6 192.168.12.21 192.168.8.10 UGHW3I 0 19 en6 3281 192.168.13.183 192.168.8.10 UGHWI 1 23 en6 192.168.65 link#7 UC 3 0 vmnet1 192.168.65.255 ff:ff:ff:ff:ff:ff UHLWbI 0 1 vmnet1 192.168.182 link#4 UCS 4 0 en0 192.168.182.1 0:c0:df:3:f0:db UHLWI 15 59 en0 1166 192.168.182.150 127.0.0.1 UHS 0 108 lo0 192.168.182.255 ff:ff:ff:ff:ff:ff UHLWbI 0 1 en0 192.168.214 link#8 UC 4 0 vmnet8 192.168.214.1 0:50:56:c0:0:8 UHLWI 0 212 lo0 192.168.214.255 ff:ff:ff:ff:ff:ff UHLWbI 1 1 vmnet8 192.221.72.126 192.168.182.1 UGHW3I 0 4 en0 3478 192.221.73.126 192.168.182.1 UGHWI 1 19 en0 203.190.124.12 192.168.182.1 UGHW3I 0 7 en0 3573 207.171.166.37 192.168.182.1 UGHWI 1 5 en0 224.0.0.251 192.168.182.1 UGHmWI 1 0 en0 255.255.255.255 192.168.182.1 UGHW3bI 0 11 en0 3575
当 Wi-Fi 关闭时:
Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 192.168.8.10 UGSc 2 0 en6 17.82.253.7 192.168.8.10 UGHW3I 0 0 en6 3599 127 127.0.0.1 UCS 0 0 lo0 127.0.0.1 127.0.0.1 UH 4 6032 lo0 169.254 link#5 UCS 0 0 en6 192.168.8 link#5 UCS 5 0 en6 192.168.8.10 0:12:a9:c5:41:0 UHLWI 3 0 en6 1198 192.168.8.11 0:24:73:7c:87:41 UHLWI 0 0 en6 1199 192.168.8.106 0:9:6b:55:c6:1e UHLWI 1 36 en6 1200 192.168.8.251 127.0.0.1 UHS 0 0 lo0 192.168.12.21 192.168.8.10 UGHWI 20 36 en6 192.168.65 link#7 UC 2 0 vmnet1 192.168.214 link#8 UC 4 0 vmnet8 192.168.214.1 0:50:56:c0:0:8 UHLWI 0 212 lo0
是的,我想要访问:
192.168.13.*
,,192.168.12.*
例如。这是 MacBook Air。
en6
可能是因为 a) 它是 USB Lan b) 安装了一些 VMWare 虚拟局域网卡。不可以。所有通过 LAN 的流量都无法连接到互联网。
不确定什么是“多跳”。基本上,1) LAN 进入公司内联网,我想在其中访问
192.168.13.*
和192.168.12.*
。但是,当 WiFi 开启时,似乎没有到192.168.13.*
和 的路由192.168.12.*
(可能它们会转到 WiFi 大小为192.168.13.*
和192.168.12.*
)。2) WiFi 进入公司 WiFi,它有一个代理来连接到互联网。我认为它们是在 Wi-Fi 端,而不是我尝试连接的(真实)主机。
在我尝试之前,您能教我如何恢复(删除)它们吗?
不,2route add
秒后,仍然无法连接到 192.168.12.?主机。
答案1
我认为您不需要将应用程序锁定到接口来解决问题。我认为您遇到了一个简单的网络配置错误。
Mac OS X 自动通过任何活动接口与本地子网通信,并通过默认路由与非本地子网通信,默认路由自动设置为排名最高的活动接口。
在此上下文中,“活动”表示链接已启动。在以太网上,这意味着交换机上的链接灯亮起。在 802.11 上,这意味着您已与 AP 关联。
在ifconfig
问题的输出中,您应该能够通过 en0(似乎是 WiFi)访问 192.168.182/24 子网,并且应该能够通过 en6(以太网)访问 192.168.8/24 子网。所有其他子网都将通过“系统偏好设置 > 网络 > [“齿轮图标”菜单] > 设置服务顺序...”中排名最高的活动接口访问
您的两个本地子网都以 192.168 开头这一事实并不重要;两种情况下的子网掩码都是 /24,因此第三个八位字节很重要,并且 en0 和 en6 之间的第三个八位字节不同,因此这些是不同的子网。
听起来这在您的系统上无法正常工作,这引出了以下问题:
如何在“设置服务顺序”中对事物进行排序?注意:这可能与它们在网络首选项窗格主面板上的摘要视图中显示的方式不同。
WiFi 连接时显示什么
netstat -rnaf inet
?WiFi 断开时显示什么?您想要通过以太网访问的“本地网络”是否包含多个子网?[如果是这样,那么一切可能都按设计运行,但您需要向 LAN 上的非本地子网添加静态路由,或者让您的 LAN 通过 RIP 等将这些路由通告给您的主机]
通常在 MacBook 上,内置以太网是 en0,内置 Wi-Fi 卡是 en1。如果这是 MacBook 而不是 MacBook Air,那么 AirPort 卡(假设您说的“Wi-Fi”是指内置 AirPort 卡,而不是第三方外部 USB Wi-Fi 适配器或类似的东西)位于 en0 而不是 en1 就很奇怪了。以太网(即使它是一个适配器,但特别是如果它是内置以太网)位于 en6 也很奇怪。这让我觉得要么是网络配置已经从一台机器迁移到另一台机器几次,要么是系统安装和移除了许多不同的 USB 网络适配器,要么是系统对其进行了许多其他网络配置更改。
也就是说,我想知道您的网络配置文件是否随着时间的推移出现了错误,需要清理。删除所有网络设置(中的所有 .plist 文件
/Library/Preferences/SystemConfiguration/
)并重新开始配置网络可能是值得的。
更新:更新后还有更多问题:
那么,以太网端口外的 LAN...该 LAN 是否可以访问 Internet?看起来可能可以,因为您似乎通过该接口建立了到 time.asia.apple.com(Apple 的亚洲 NTP 服务器)的路由。
为什么你要使用多跳以太网 LAN?你的 Wi-Fi 网络与该 LAN 有何关系?你能解释或绘制你的网络拓扑图吗?如果此网络在你的控制之下,你可以通过对网络进行轻微的重新设计来解决这个问题。
看起来,即使 Wi-Fi 已开启,您仍可以通过以太网获得到 192.168.12.21 和 192.168.13.183 的路由。在这种情况下,这些主机是否真的可以访问?
打开 Wi-Fi,然后尝试以下命令将路由添加到 .12 和 .13 网络,看看是否能暂时解决您的问题:
sudo route add -net 192.168.12/24 192.168.8.10 sudo route add -net 192.168.13/24 192.168.8.10