在 OSX 上,WiFi(en1)启动/停止时,以太网(en0)丢失 IP 地址

在 OSX 上,WiFi(en1)启动/停止时,以太网(en0)丢失 IP 地址

我们使用以太网连接作为与照明控制台的点对点连接,然后使用 WiFi 连接到主网络。问题是,每当我们打开/关闭 WiFi 时,以太网接口 en0 就会丢失其 IP,并且直到其 IP 更改后才能再次工作。

以太网连接有固定 IP,而 WiFi 使用 DHCP。

问题是我们在 Lighting Desk 上使用的软件与 Mac 失去连接,每次都更改 en0 的 IP 进行重置是不切实际的。有没有办法阻止这种情况发生?即使这意味着要编写一个可以独立切换 WiFi 的脚本。

还有一个问题:假设两个网络具有不同的前缀(10.xxx 和 192.168.1.x),流量是否应该保留在单独的网络上,并且应用程序不应该“混淆”,对吗?(我找到了路由命令,使用该命令设置到特定 IP 的所有连接以使用特定接口应该可以解决任何问题,对吗?)

提前致谢,如果您需要更多信息,请告诉我,我会尽力提供。

答案1

首先,在…

System Preferences > Network > [Gear-icon button menu at bottom of interface list] > Set Service Order

...确保您的 Wi-Fi 接口优先级高于以太网接口(您可以拖动它们来重新排序)。

如果这不能解决问题,请确保您通过 GUI 设置以太网的 IP 地址,而不是通过ifconfig。OS X 的网络接口管理代码依赖于所谓的“系统配置”数据库来了解如何配置各种网络接口,并且通过设置 IPifconfig实际上不会在系统配置数据库中创建条目。因此,下次更新或重新应用系统配置数据库时(例如,如果您启用/连接另一个网络接口或获得新的 DHCP 租约),其他接口可能会重置为系统配置数据库中的最后一个已知设置,这意味着您将丢失通过或ifconfig类似的 Unix 级工具配置的任何 IP 地址。

如果这不是您所遇到的情况,您需要准确描述如何设置静态 IP 地址(GUI???ifconfig其他networksetup什么?),以及您说 en0“丢失”它是什么意思(它从网络首选项窗格 GUI 中消失?它不再显示ifconfig en0?其他什么?)

是的,如果接口位于不同的子网(即所谓的“前缀”)上,网络堆栈中的路由代码就不会混淆。

答案2

在 Mac OS 上启用互联网共享可能会实现这一点。

检查“系统偏好设置”、“共享”,然后检查以太网接口上是否启用了 Internet 共享。禁用它可能会解决您的问题,尽管您当然会丢失共享连接。

[遇到了同样的问题,原因如下]

相关内容