新聞中心

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

如何在Linux路由上設(shè)置IP和MAC綁定

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

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

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

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

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

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

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

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

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

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



關(guān)鍵詞: 路由 IP Linux Mac

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉