arplookup *** failed:host is not on local net…

2009-05-13 11:44:27来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


轉貼一篇 arplookup a.b.e.x failed: host is not on local network 的文章
寫的粉好~
下次再有遇到醬的情形, 可以試著解決看看
---------------------------------------------------發信人: WinNT5.bbs@cis.nctu.edu.tw (請叫我Beta-1), 看板: 386BSD
標 題: Re: [Help]arplookup 192.72.24.51 failed:host is no
發信站: 交大資科_BBS (Fri Dec 19 03:24:55 1997)
轉信站: fromzero!freebsd.ntu!news.cs.nthu!news.cis.nctu!cis_nctu
[問題&kuli所提方法請參考前面POST]
我是FreeBSD新手, 但是因為在Computer Networking有些許心得, 所以灌水一篇,
請前輩指導....
kuli所提方法是可行, 但是治標不治本, 我們先看看這問題出在那兒:
ARP 在正常使用時是只在同一subnet中跑而已, 而且, IP nodes只會對Destination
Protocol Address 是自己的Address之ARP作處理.
所以當Subnet 中每一部機器都正確地Configure, 且機器正確implement ARP protocol時,
every thing is all right....呵呵~
問題會產生的架構應為 一個router interface接兩(或以上)個subnet的情況:
(我用sniffer看, 再參考if_ether.c 歸納之):
---| Router |----------a.b.c.0/24
+----------a.b.e.0/24
一個router interface接兩個subnet:
正常情況底下, a.b.c.? 要與 a.b.e.? 通訊是要透過ROUTER.
這時候, 如果有一部a.b.e.x的mask是用/16而非/24, 那它要與a.b.c.y通訊時,
會直接送ARP Request給a.b.c.y而非ROUTER, a.b.c.y會回ARP Reply及檢
查本身的ARP table(要做reflesh, update等), 一檢查就發現a.b.e.x不在同一sunet,

arplookup a.b.e.x failed: host is not on local network
就出來了, 呵~
解決方法:1.給a.b.e.x正確的subnet mask(治本), 如果a.b.e.x是別人家的,就.....
2.如kuli所提,把message disable mark掉, 當做沒看見(治標, 人家
FreeBSD是後來加上這麼好的DEBUG功能,我們要把它disable掉..
似乎...有點.....呃....嗯..), 如果一定真要MARK掉也不要針對某個ip,
因為可能有其他"天殺的" IP 會出來, 所以我建議把這個message
完全弄掉:
/sys/netinet/if_ether.c
arplookup(...) 之這一後:
if (rt->rt_flags & RTF_GATEWAY)
why = "host is not on local network"
else if ((rt->rt_flags & RTF_LLINFO) == 0)
why = "could not allocate llinfo"
else if (rt->rt_gateway->sa_family != AF_LINK)
why = "gateway route is not ours"
改為:
if (rt->rt_flags & RTF_GATEWAY){
// why = "host is not on local network"
return 0;
}
else if ((rt->rt_flags & RTF_LLINFO) == 0)
why = "could not allocate llinfo"
else if (rt->rt_gateway->sa_family != AF_LINK)
why = "gateway route is not ours"
這麼一來, 人人通用囉.....


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4206/showart_499763.html

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:让普通用户具有mount权限

下一篇:ffs_alloccg: map corrupted