新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 如何在Linux路由上設置IP和MAC綁定

如何在Linux路由上設置IP和MAC綁定

作者: 時間:2017-06-06 來源:網絡 收藏
在有些系統(tǒng)中有這樣的需求,希望內部網中的某幾個地址連接互聯(lián)網,而又希望這些地址不被非法用戶盜用??梢酝ㄟ^下面的解決辦法實現:

首先使用ipchains或者iptables來設定只允許合法的地址連出。

對于合法IP建立IP/捆綁。要討論這個問題我們首先需要了解ARP協(xié)議的工作原理,arp協(xié)議是地址解析協(xié)議(Address Resolution Protocol)的縮寫,其作用及工作原理如下:

在底層的網絡通信中,兩個節(jié)點想要相互通信,必須先要知道源與目標的MAC地址。為了讓系統(tǒng)能快速地找到一個遠程節(jié)點的MAC地址,每一個本地的內核都保存有一個即時的查詢表 (稱為ARP緩存)。ARP中有影射遠程主機的IP地址到其對應的MAC地址的一個列表。地址解析協(xié)議(ARP)緩存是一個常駐內存的數據結構,其中的內容是由本地系統(tǒng)的內核來管理和維護的。默認的情況下,ARP緩存中保留有最近十分鐘本地系統(tǒng)與之通信的節(jié)點的IP地址(和對應的MAC地址)。

當一個遠程主機的MAC地址存在于本地主機的ARP 緩存中,轉換遠程節(jié)點的IP地址為MAC地址不會遇到問題。然而在許多情況下,遠程主機的MAC地址并不存在于本地的ARP緩存中,系統(tǒng)會怎么處理呢?在知道一個遠程主機的IP地址,但是MAC地址不在本地的ARP緩存中的時候,以下的過程用來獲取遠程節(jié)點的MAC地址:本地主機發(fā)送一個廣播包給網絡中的所有的節(jié)點,詢問是否有對應的IP地址。一個節(jié)點(只有一個)會回答這個ARP廣播信息。在回應的信息包里就會包含有這個遠程主機的MAC地址。在收到這個返回包后,本地節(jié)點就會在本地ARP緩存中記錄遠程節(jié)點的MAC地址。

如果我們將IP/MAC對應關系建立為固定的,也就是對那些合法IP地址建立靜態(tài)的MAC對應關系,那么即使非法用戶盜用了IP地址linux器在回應這些IP發(fā)出的連接請求時則不會通過arp協(xié)議詢問其mac地址而是使用建立的靜態(tài)MAC地址、發(fā)出應答數據這樣盜用IP者則不會得到應答數據從而不能使用網絡服務。

建立靜態(tài)IP/MAC捆綁的方法是:建立/etc/ethers文件,其中包含正確的IP/MAC對應關系,格式如下:

192.168.2.32 08:00:4E:B0:24:47

然后再/etc/rc.d/rc.local最后添加:arp -f即可

2.4內核的iptables可以對IP和同時進行限定,使用該功能對合法IP的規(guī)則同時限定IP地址和地址即可。



關鍵詞: 路由 IP Linux Mac

評論


相關推薦

技術專區(qū)

關閉