解決 kernel arplookup IP failed host is not on local network 錯誤訊息

Q.kernel: arplookup 211.78.222.3 failed: host is not on local network?

Error Meassge:
機器沒事一直吐這樣的訊息出來?
Jan  9 19:28:02 gw kernel: arplookup 211.78.222.3 failed: host is not on local network
Jan 10 01:29:11 gw kernel: arplookup 211.78.222.3 failed: host is not on local network
Jan 10 07:31:11 gw kernel: arplookup 211.78.222.3 failed: host is not on local network 




Ans:
ARP Protocol 正常使用時是只會在同一 Subnet 中跑而已,IP nodes 只會對 Destination Address 為自己 Address 時之 ARP 作處理,所以當 Subnet 中每一部機器都正確地設定好 Netmask 且機器正確 implement ARP protocol 時就相安無事了。

所以可以知道若跳出此訊的 IP 是你本身所管機器的 IP 那就代表你機器的 netmask 設定上有問題,若跳出來的是別人家的 IP (此例就是),那你也管不著只能當作沒看到吧。不過若真的不想看到這訊息有沒有解決的方法? 依如下方式修改即可讓此訊息不要顯示出來
vi  /sys/netinet/if_ether.c     //修改 if_ehter.c 這個檔
 if (rt-&gtrt_flags & RTF_GATEWAY)                
         why = &quothost is not on local network"   //預設值      
      // why = &quothost is not on local network"   //修改後
     return 0;}