linux路由器下如何限制某幾個IP連接互聯網而同時防止IP盜用
在有些系統中有這樣的需求希望內部網中的某幾個IP地址連接互聯網而又希望這些IP地址不被非法用戶盜用可以通過下面的解決辦法實現
方法一
首先使用ipchains或者iptables來設定只允許合法的IP地址連出
對於合法IP建立IP/Mac捆綁要討論這個問題我們首先需要了解ARP協議的工作原理arp協議是地址解析協議(AddressResolutionProtocol)的縮寫其作用及工作原理如下
在底層的網絡通信中兩個節點想要相互通信必須先要知道源與目標的MAC地址為了讓系統能快速地找到一個遠程節點的MAC地址每一個本地的內核都保存有一個即時的查詢表(稱為ARP緩存)ARP中有影射遠程主機的IP地址到其對應的MAC地址的一個列表地址解析協議(ARP)緩存是一個常駐內存的數據結構其中的內容是由本地系統的內核來管理和維護的默認的情況下ARP緩存中保留有最近十分鐘本地系統與之通信的節點的IP地址(和對應的MAC地址)
當一個遠程主機的MAC地址存在於本地主機的ARP緩存中轉換遠程節點的IP地址為MAC地址不會遇到問題然而在許多情況下遠程主機的MAC地址並不存在於本地的ARP緩存中系統會怎麼處理呢?在知道一個遠程主機的IP地址但是MAC地址不在本地的ARP緩存中的時候以下的過程用來獲取遠程節點的MAC地址本地主機發送一個廣播包給網絡中的所有的節點詢問是否有對應的IP地址一個節點(只有一個)會回答這個ARP廣播信息在回應的信息包裡就會包含有這個遠程主機的MAC地址在收到這個返回包後本地節點就會在本地ARP緩存中記錄遠程節點的MAC地址
如果我們將IP/MAC對應關系建立為固定的也就是對那些合法IP地址建立靜態的MAC對應關系那麼即使非法用戶盜用了IP地址linux路由器在回應這些IP發出的連接請求時則不會通過arp協議詢問其mac地址而是使用Linux建立的靜態MAC地址發出應答數據這樣盜用IP者則不會得到應答數據從而不能使用網絡服務
建立靜態IP/MAC捆綁的方法是建立/etc/ethers文件其中包含正確的IP/MAC對應關系格式如下
::E:B::
然後再/etc/rcd/rclocal最後添加
arpf
即可
方法二
內核的iptables可以對IP和Mac同時進行限定使用該功能對合法IP的規則同時限定IP地址和Mac地址即可
From:http://tw.wingwit.com/Article/os/fwq/201404/30372.html