【轉載】關於防火牆的初次接觸

iptables是Linux上經常使用的防火牆軟件,下面說一下iptables的安裝、清除iptables規則、iptables只開放指定端口、iptables屏蔽指定ip、ip段及解封、刪除已添加的iptables規則等iptables的基本應用服務器

 

一、安裝iptables防火牆 
怎麼知道系統是否安裝了iptables?執行iptables -V,若是顯示如: 
iptables v1.3.5 
說明已經安裝了iptables。 
若是沒有安裝iptables須要先安裝,執行: 
yum install iptables 

在Linux中設置防火牆,以CentOS爲例,打開iptables的配置文件: 

vi /etc/sysconfig/iptables 
經過/etc/init.d/iptables status命令查詢是否有打開80端口,若是沒有可經過兩種方式處理: 
1.修改vi /etc/sysconfig/iptables命令添加使防火牆開放80端口 

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 

2.關閉/開啓/重啓防火牆 

/etc/init.d/iptables stop #start 開啓 #restart 重啓 

3.永久性關閉防火牆 

chkconfig --level 35 iptables off /etc/init.d/iptables stop iptables -P INPUT DROP 

4.打開主動模式21端口 

iptables -A INPUT -p tcp --dport 21 -j ACCEPT 

5.打開被動模式49152~65534之間的端口 

iptables -A INPUT -p tcp --dport 49152:65534 -j ACCEPT 
iptables -A INPUT -i lo -j ACCEPT 
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT 

所有修改完以後重啓iptables: 
service iptables restart 
你能夠驗證一下是否規則都已經生效: 
iptables -L 
經過文章的介紹,咱們清楚的知道了CentOS下配置iptables防火牆的過程,但願你們都能掌握它! tcp

 


二、清除已有iptables規則 
iptables -F 清除預設表filter中的全部規則鏈的規則 
iptables -X 清除預設表filter中使用者自定鏈中的規則 
iptables -Z 
三、開放指定的端口 
#容許本地迴環接口(即運行本機訪問本機) 
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT 
# 容許已創建的或相關連的通行 
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT 
#容許全部本機向外的訪問 
iptables -A OUTPUT -j ACCEPT 
# 容許訪問22端口 
iptables -A INPUT -p tcp –dport 22 -j ACCEPT 
#容許訪問80端口 
iptables -A INPUT -p tcp –dport 80 -j ACCEPT 
#容許FTP服務的21和20端口 
iptables -A INPUT -p tcp –dport 21 -j ACCEPT 
iptables -A INPUT -p tcp –dport 20 -j ACCEPT 
#若是有其餘端口的話,規則也相似,稍微修改上述語句就行 
#禁止其餘未容許的規則訪問 
iptables -A INPUT -j REJECT (注意:若是22端口未加入容許規則,SSH連接會直接斷開。) 
iptables -A FORWARD -j REJECT 
執行完後,這些配置就像用命令配置IP同樣,重起就會失去做用。必須執行如下命令進行保存。 
/etc/rc.d/init.d/iptables save 
四、屏蔽IP 
#若是隻是想屏蔽IP的話「三、開放指定的端口」能夠直接跳過。 
#屏蔽單個IP的命令是 
iptables -I INPUT -s 123.45.6.7 -j DROP 
#封整個段即從123.0.0.1到123.255.255.254的命令 
iptables -I INPUT -s 123.0.0.0/8 -j DROP 
#封IP段即從123.45.0.1到123.45.255.254的命令 
iptables -I INPUT -s 124.45.0.0/16 -j DROP 
#封IP段即從123.45.6.1到123.45.6.254的命令是 
iptables -I INPUT -s 123.45.6.0/24 -j DROP 
五、查看已添加的iptables規則 
iptables -L -n 
v:顯示詳細信息,包括每條規則的匹配包數量和匹配字節數 
x:在 v 的基礎上,禁止自動單位換算(K、M) 
n:只顯示IP地址和端口號,不將ip解析爲域名 
六、刪除已添加的iptables規則 
將全部iptables以序號標記顯示,執行: 
iptables -L -n –line-numbers 
好比要刪除INPUT裏序號爲8的規則,執行: 
iptables -D INPUT 8 
七、iptables的開機啓動及規則保存 
CentOS上可能會存在安裝好iptables後,iptables並不開機自啓動,能夠執行一下: 
chkconfig –level 345 iptables on 
將其加入開機啓動。 
CentOS上能夠執行:service iptables save保存規則。 

注意: 
必定要給本身留好後路,留VNC一個管理端口和SSh的管理端口 
須要注意的是,你必須根據本身服務器的狀況來修改這個文件。rest

相關文章
相關標籤/搜索