我们想在两个 Mavericks 服务器之间建立私人单线连接,同时也需要与世界其他地方进行通信。
为了论证的目的,两个服务器是 DB 和 Web。
每个上面都有两张接口卡,我们称之为 A 和 B。在每种情况下,A 用于世界其他地区,B 用于一对之间。
接口方面,DB(A) 是 en0,->世界其他地方;DB(B) 是 en3,->Web 服务器;Web(A) 是 en0,->世界其他地方;Web(B) 是 en4,-> DB 服务器;
我们尝试了几个不同的方法,尝试使用路线命令,如下所示:
// on DB server
// en0 card IP address 192.168.1.50
// en3 card IP address 10.0.0.50
sudo route -n add 10.0.0.51 -interface en3
// on Web server
// en0 card IP address 192.168.1.51
// en4 card IP address 10.0.0.51
sudo route -n add 10.0.0.50 -interface en4
几个问题:
是否可以只使用简单的电缆/交叉电缆来完成此操作而不使用本地以太网交换机上的端口?
我们可以对 B 网络使用本地网络范围吗:例如 A 子网是 192.168.1.x 而 B 子网是 10.0.0.x?
MacOS X Mavericks 上有哪些命令可以确保流量正确路由,并在重启之间记住路由?我们需要一个脚本在重启时运行吗?
我们走在正确的道路上吗?
非常感谢所有帮助!
答案1
是的,只需用电缆直接连接两个网络设备即可(如今,由于 Auto MDI-X 的存在,它不需要交叉电缆)。
为它们提供未使用范围内的两个 IP 地址(例如 10.0.0.50 和 10.0.0.51)。它应该可以正常工作,而无需添加路由。
答案2
ifconfig
在 OS X 上使用、等进行网络配置route
效果不佳——问题(和解决方案)是 OS X 对于如何设置网络有自己的想法,并且有一个后台守护进程 (configd) 将其应用于实时网络配置。如果您手动更改网络状态,configd 将随机覆盖它们。解决方案:调整 OS X 的配置,让 configd 为您管理实时设置。您可以使用系统偏好设置中的网络窗格和/或命令networksetup
。
网络设置中可能存在一些问题。我将根据网络偏好设置面板描述必要的设置:
每个接口的偏好设置面板左侧应该列出一个“网络服务”。适当设置其 IP 地址和子网掩码。
您需要单击“高级”按钮才能进入 DNS 等设置。最好对这两项服务使用相同的设置,但以下情况除外...
路由器设置有所不同:对于外部接口,使用实际网络网关的 LAN 地址;对于私有接口,使用其他计算机的私有 IP(例如,DB 服务器的私有接口的 IP 为 10.0.0.50,并使用 10.0.0.51 作为路由器)。这样做的原因是,如果 configd 无法 ARP 路由器,它有时会出现崩溃。
其他接口应位于服务列表的顶部,私有接口位于其下方。如果它们的顺序不正确,请点击服务列表下方的齿轮图标,选择“设置服务顺序”,然后将服务拖放到正确的顺序。
设置完成后,运行netstat -rn
。您应该会看到世界其他地方(真实)路由器的默认路由,以及另一个基于源的路由的“默认”,您可以忽略它。您还应该看到每个子网的路由,并列出相应的接口。还有许多其他内容,包括 169.254(自分配的链路本地地址)、ARP 条目等。如下所示:
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.1.1 UGSc 11 33271918 en0
default link#5 UCSI 1 0 en3
192.168.1 link#4 UCS 1 0 en0
192.168.1.1 0:11:22:33:44:55 UHLWIir 9 0 en0 1199
192.168.1.50 127.0.0.1 UHS 0 148277 lo0
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 8 13767842 lo0
169.254 link#4 UCS 3 0 en0
169.254.53.131 link#4 UHLSW 0 0 en0
169.254.255.255 0:11:22:33:44:55 UHLSW 0 0 en0
10.0.1 link#5 UCS 36 0 en3
10.0.1.50 127.0.0.1 UHS 3 2167637 lo0
[...]
如果那不起作用,我需要更多信息(可能包括netstat -rn
两台计算机的输出)来排除故障......