OS / X根据“networking首选项”中的接口顺序执行大部分路由。
我需要分开stream量,所以我先把默认路由,然后路由stream量到第二个接口。
问题是,在使用route命令之后,我开始在浏览器中或者traceroute中说'无法分配内存'。
所以路线似乎在做错事。
这里是细节:
我有两个接口,按照这个顺序:
Wi-Fi连接到苹果时间胶囊,链接到互联网 – 10.0.1.9
连接到互联网的ISP的局域网连接 – 10.0.2.250
这很好,但是,我想通过第二个链接来处理stream量,而不仅仅是作为一个故障转移。
所以,我使用路由命令,如下所示:
route -n add -host 197.242.144.171 10.0.2.250 route -n add -host 197.242.144.175 10.0.2.250 route -n add -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
有什么build议么??
我也碰到过这个 对我来说这是一个错误的ip。 在你的路由命令中,网关应该是连接另一端的接口 – 也就是说,不要使用10.0.2.250作为网关,在另一端使用ip(10.0.2.1?)。
我的猜测是地址映射进入一个循环,这就是为什么它不能分配更多的内存。 我看到这是一个古老的问题,但我也碰到过,没有在任何地方find一个好的解释。