如何在Linux路由上設(shè)置IP和MAC綁定
首先使用ipchains或者iptables來(lái)設(shè)定只允許合法的IP地址連出。
對(duì)于合法IP建立IP/Mac捆綁。要討論這個(gè)問(wèn)題我們首先需要了解ARP協(xié)議的工作原理,arp協(xié)議是地址解析協(xié)議(Address Resolution Protocol)的縮寫(xiě),其作用及工作原理如下:
在底層的網(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)核來(lá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ì)遇到問(wèn)題。然而在許多情況下,遠(yuǎn)程主機(jī)的MAC地址并不存在于本地的ARP緩存中,系統(tǒng)會(huì)怎么處理呢?在知道一個(gè)遠(yuǎn)程主機(jī)的IP地址,但是MAC地址不在本地的ARP緩存中的時(shí)候,以下的過(guò)程用來(lái)獲取遠(yuǎn)程節(jié)點(diǎn)的MAC地址:本地主機(jī)發(fā)送一個(gè)廣播包給網(wǎng)絡(luò)中的所有的節(jié)點(diǎn),詢問(wè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ì)通過(guò)arp協(xié)議詢問(wèn)其mac地址而是使用Linux建立的靜態(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和Mac同時(shí)進(jìn)行限定,使用該功能對(duì)合法IP的規(guī)則同時(shí)限定IP地址和Mac地址即可。
評(píng)論