是否可以配置应用程序以使用 LAN 或 Wi-Fi 访问?

是否可以配置应用程序以使用 LAN 或 Wi-Fi 访问?

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 的答案的信息):

  1. 在网络偏好设置中,AirPort位于USB Ethernet

  2. 当 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
    
  3. 是的,我想要访问:192.168.13.*,,192.168.12.*例如。

  4. 这是 MacBook Air。en6可能是因为 a) 它是 USB Lan b) 安装了一些 VMWare 虚拟局域网卡。

  5. 不可以。所有通过 LAN 的流量都无法连接到互联网。

  6. 不确定什么是“多跳”。基本上,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,它有一个代理来连接到互联网。

  7. 我认为它们是在 Wi-Fi 端,而不是我尝试连接的(真实)主机。

  8. 在我尝试之前,您能教我如何恢复(删除)它们吗?

不,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 之间的第三个八位字节不同,因此这些是不同的子网。

听起来这在您的系统上无法正常工作,这引出了以下问题:

  1. 如何在“设置服务顺序”中对事物进行排序?注意:这可能与它们在网络首选项窗格主面板上的摘要视图中显示的方式不同。

  2. WiFi 连接时显示什么netstat -rnaf inet?WiFi 断开时显示什么?

  3. 您想要通过以太网访问的“本地网络”是否包含多个子网?[如果是这样,那么一切可能都按设计运行,但您需要向 LAN 上的非本地子网添加静态路由,或者让您的 LAN 通过 RIP 等将这些路由通告给您的主机]

  4. 通常在 MacBook 上,内置以太网是 en0,内置 Wi-Fi 卡是 en1。如果这是 MacBook 而不是 MacBook Air,那么 AirPort 卡(假设您说的“Wi-Fi”是指内置 AirPort 卡,而不是第三方外部 USB Wi-Fi 适配器或类似的东西)位于 en0 而不是 en1 就很奇怪了。以太网(即使它是一个适配器,但特别是如果它是内置以太网)位于 en6 也很奇怪。这让我觉得要么是网络配置已经从一台机器迁移到另一台机器几次,要么是系统安装和移除了许多不同的 USB 网络适配器,要么是系统对其进行了许多其他网络配置更改。

    也就是说,我想知道您的网络配置文件是否随着时间的推移出现了错误,需要清理。删除所有网络设置(中的所有 .plist 文件/Library/Preferences/SystemConfiguration/)并重新开始配置网络可能是值得的。

更新:更新后还有更多问题:

  1. 那么,以太网端口外的 LAN...该 LAN 是否可以访问 Internet?看起来可能可以,因为您似乎通过该接口建立了到 time.asia.apple.com(Apple 的亚洲 NTP 服务器)的路由。

  2. 为什么你要使用多跳以太网 LAN?你的 Wi-Fi 网络与该 LAN 有何关系?你能解释或绘制你的网络拓扑图吗?如果此网络在你的控制之下,你可以通过对网络进行轻微的重新设计来解决这个问题。

  3. 看起来,即使 Wi-Fi 已开启,您仍可以通过以太网获得到 192.168.12.21 和 192.168.13.183 的路由。在这种情况下,这些主机是否真的可以访问?

  4. 打开 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
    

相关内容