用linux 機器配置網關且綁定ip和mac地址防止arp攻擊

最近一段時間爲一個項目做項目實施,其中涉及到了使用CentOS5.1操作系統假設一臺網關服務器的問題,要通過其實現外網計算機訪問不到內網的主機,內網中僅指定的主機纔可以訪問外網的功能,經過一番測試之後終於能夠實現了,現在將實現的過程記錄下來,以備今後的不時之需。
一、所需軟件:安裝了自帶的iptables防火牆的CentOS5.1操作系統
二、前提準備:
1.進行網關的相關配置,爲了方便起見,使用root用戶登錄到系統中;
2.首先對網關服務器的兩塊網卡進行網絡設置,其中內網網卡設置的時候網關的地址空白,設置好之後檢查一下網關服務器是否能夠上外網,以及與內網是否已經聯通。均聯通之後將內網網卡和外網網卡的設備號分別記錄下來。(在本例中,內網網卡設備號爲eth0、外網網卡設備號爲eth1)
3.要實現內網主機可以通過網關服務器上外網的功能,需要將網關操作系統中的數據包轉發功能開啓,可以通過sysctl -A命令查看當前內核參數設置,找到其中net.ipv4.ip_forward項查看其對應的參數值(0表示未開啓,1表示開啓)
4.如果在上一項中發現的參數值爲0,則需要將內核的數據包轉發功能開啓,具體實現方式爲:
輸入vi /etc/sysctl.conf命令打開配置文件,找到其中net.ipv4.ip_forward所在的行,將"="後面的數值由0更改爲1,之後將文件保存後退出vi編輯器。
5.將配置文件修改完成後,可以使用sysctl -p /etc/sysctl.conf命令或將操作系統重新啓動,以使參數生效。此時準備工作已經完成,接下來對防火牆的規則進行配置即可。
三、ipables規則設置:
1.此例中使用CentOS自帶的功能強大的iptables防火牆來實現上述的要求,此時需要對iptables的規則進行設置,運行vi /etc/sysconfig/iptables命令,打開規則配置文件,按照下面給出的配置文件模板進行設置:

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
#new add
-A INPUT -i eth0 -j ACCEPT
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
#new add
-A RH-Firewall-1-INPUT -i eth0 -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
#new add
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#增加到這個表的內網ip才能上網
-A POSTROUTING -s 10.0.0.102 -o eth1 -j MASQUERADE
-A POSTROUTING -s 10.0.0.254 -o eth1 -j MASQUERADE
-A POSTROUTING -s 10.0.0.19 -o eth1 -j MASQUERADE
-A POSTROUTING -s 10.0.0.233 -o eth1 -j MASQUERADE
COMMIT
# Completed


2.編輯好規則配置文件後,保存並退出vi編輯器。
3.只有運行service iptables status查看系統當前iptables服務的狀態。如果爲stop,則使用service iptables start命令將其開啓即可;如果爲Start,則使用service iptables restart命令將其重新啓動以使新的規則設置生效。
4.此時即可實現網關服務器的設置,可以到那臺允許訪問外網的主機上訪問一下外網以檢測設置是否

========================================
防止arp攻擊的雙向綁定
服務器端:
vi /etc/ethers 增加
192.168.0.60 00-10-ac-9d-35-4d(windows機器的ip及mac地址)
192.168.0.61 00-0a-cb-20-4f-f5
然後用arp -f啓動並在/etc/rc.d/rc.local最後添加:arp -f即可


在windows機器上,編輯一個arp.bat放到啓動裏面,bat文本的內容:
@echo off
arp -d
arp -s 192.168.1.2 00-04-61-9A-8D-B2(網關的ip及mac地址)
exit
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章