如何在Mac OS X上使某些网址使用特定的网络适配器?


16

我有两个正在工作的Internet连接,一个是有线以太网连接(在防火墙后被严格过滤,无法连接到Apple Updates等),另一个是未经过滤的无线连接。我将无线连接用作主要连接,这样一般情况下就可以正常工作。但是,我有一些Intranet资源,仅需要通过有线连接访问。如何设置它,以便当我访问“ intranet.mycompany.com”之类的内容时-它会自动路由到有线网络适配器?

Answers:


10

您需要手动添加路由以覆盖所有公司网络。找到将覆盖所有公司IP地址的最小网络块。例如,公司网可能完全在172.16.22.XXX-172.16.25.XXX范围内。因此,您的净屏蔽量为172.16.16.0/20:

/sbin/route add -net 172.16.16.0/20 -interface en0

请注意,在我的机器上,en0是以太网,en1是AirPort。

我有一个脚本,它为我的本地情况设置了一堆路由,这是一个用于所有公司资料(时间表,请假申请,工作场所健康与安全报告等)的公司网络,而WiFi则是有用的资料(Bing,O 'Reilly Safari等)。我仍然没有弄清楚我需要在哪里放置此脚本,以使Mac OS X在界面出现时自动添加所需的奥术路线。


另一个注意事项:如果您像我那样笨拙地弄乱了路由表(并且无法再访问任何内容),请运行route -n flush几次,然后将网络位置切换到其他位置,然后再返回以获取正常的路由信息​​。
geerlingguy

我也有这个问题,但需要做相反的事情,并且仅将流量通过wifi路由到* .apple.com,并将其他所有路由通过以太网。路由工具也可以用于此吗?
TraxusIV

我该怎么做“找到将覆盖所有公司IP地址的最小网络块。” 请?
拉斐尔·奥利维拉

净块由前导位数定义。在上面的示例中,网络块172.16.16.0/20表示“ IP地址的前20位必须与172.16.16匹配” — 20表示您正在“与” IP地址“ 11111111.11111111.11110000.0000000”以获取20个前导位,然后将该结果与“ 10101100.00010000.0000.00010000.00000000”进行比较。如果您知道公司网络有一定范围,则需要找到两者之间通用的最长的二进制数字字符串。
ManicDee '18年

我对此深表谢意!我尝试了许多其他建议,但没有成功。这为我节省了在企业环境中工作时在界面之间进行切换的麻烦!:D
DazChong

4

您可以设置您的网络服务订单,以通过Wi-fi或以太网传递大多数流量。

这使首选连接成为您放在列表顶部的任何服务。不幸的是,如果您希望除非常特定的项目之外的大多数信息都通过Wi-fi传输,则不会这样做。如果以太网连接使用的IP网络范围与Wi-fi不同,则它将自动通过以太网传递所需的资源。

因此,假设您拥有狼网。Wi-fi:192.168.1.0-192.168.1.255以太网:192.168.5.0-192.168.5.255

您需要访问的所有具有指向192.168.5.x的DNS记录的服务都将自动通过以太网,但是您的DNS查询仍将转到192.168.1.x。

如果您将访问的其他任何网站都置于顶部,则将通过Wi-fi进行访问。

要更改服务订单,请转到系统偏好设置->网络。单击“操作”菜单(“服务”列表底部的齿轮),然后选择“设置服务订单”,然后将要优先处理的服务拖到列表顶部。


是的,我已经设置了服务订单,但是我正在寻找一种修改特定项目的路由表的方法。在Windows中,我将使用“ route add”控制台命令。我正在Mac上寻找类似的东西。
JacobJ 2012年

我知道可以在OS X中添加路由表,因为它是在Unix之上构建的,而且我听说有人在这样做。但是我不知道怎么做。尝试搜索OpenBSD路由表CLI。这应该告诉您如何通过命令行管理路由表。如果您找不到任何东西,请告诉我,我会看一下。
菲利普·布西
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.