OS/X 的大部分路由都是根据“网络偏好设置”中的接口顺序进行的。
我需要分离流量,因此我首先放置默认路由,然后将流量路由到第二个接口。
问题是,使用路由命令后,我开始在浏览器中收到这些错误,或者跟踪路由提示“无法分配内存”。
因此路线似乎做错了什么。
详细信息如下:
我有两个接口,按以下顺序:
通过 Wi-Fi 连接至 Apple 时间胶囊并链接到互联网 - 10.0.1.9
连接至互联网的 ISP 的 LAN 连接 - 10.0.2.250
这工作得很好,然而,我想通过第二个链接路由流量,而不仅仅是将其作为故障转移。
因此,我使用路由命令,如下所示:
路由 -n 添加 -host 197.242.144.171 10.0.2.250 路由 -n 添加 -host 197.242.144.175 10.0.2.250 路由 -n 添加 -host 173.194.41.182 10.0.2.250
这不会产生任何错误并且 netstat -nr 显示:
197.242.144.171 10.0.2.250 UGHS 0 1 en0 197.242.144.175 10.0.2.250 UGHS 0 0 en0 173.194.41.182 10.0.2.250 UGHS 0 12 en0
但是,如果我尝试跟踪路由,我会得到以下结果:
traceroute 197.242.144.175 traceroute 到 197.242.144.175 (197.242.144.175),最大 64 跳,52 字节数据包 traceroute: sendto: 无法分配内存 1 traceroute: 写入 197.242.144.175 52 个字符,ret=-1
有什么建议么??
答案1
我也刚遇到过这种情况。对我来说,这是一个错误的 IP。在您的路由命令中,网关应该是连接另一端的接口 - 也就是说,不要使用 10.0.2.250 作为网关,而是使用另一端的 IP(10.0.2.1?)。
我猜测发生的事情是地址映射进入了循环,这就是它无法分配更多内存的原因。我知道这是一个老问题,但我也遇到过它,但没有在任何地方找到好的解释。