OS/X Mavericks 中的路由表 - 导致 traceroute: sendto: 无法分配内存

OS/X Mavericks 中的路由表 - 导致 traceroute: sendto: 无法分配内存

OS/X 的大部分路由都是根据“网络偏好设置”中的接口顺序进行的。

我需要分离流量,因此我首先放置默认路由,然后将流量路由到第二个接口。

问题是,使用路由命令后,我开始在浏览器中收到这些错误,或者跟踪路由提示“无法分配内存”。

因此路线似乎做错了什么。

详细信息如下:

我有两个接口,按以下顺序:

  1. 通过 Wi-Fi 连接至 Apple 时间胶囊并链接到互联网 - 10.0.1.9

  2. 连接至互联网的 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?)。

我猜测发生的事情是地址映射进入了循环,这就是它无法分配更多内存的原因。我知道这是一个老问题,但我也遇到过它,但没有在任何地方找到好的解释。

相关内容