IPTables經常使用命令

1.清除IPTables規則安全

在設置IPTables規則以前,若是須要清除已有規則,可使用:服務器

#iptables -Ftcp

或者ide

#iptables --flushoop

2.容許SSH入站鏈接ip

下列規則容許SSH入站鏈接:it

#iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT    
#iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT      
table

3.設置IPTables默認策略class

通常狀況下,INPUT、OUTPUT、FORWARD鏈的默認策略都是ACCEPT。若是想更改默認策略爲DROP,能夠用如下命令(注意大小寫):配置

#iptables -P INPUT DROP    
#iptables -P OUTPUT DROP      
#iptables -P FORWARD DROP      

當心!若是你經過SSH遠程配置服務器,配置INPUT和OUTPUT鏈默認策略爲DROP以前,必定要先在IPTables上配置容許SSH鏈接,不然你與服務器的鏈接會被中斷!

若是你信任外出流量,能夠將OUTPUT默認策略設爲ACCEPT,只設置INPUT和FORWARD爲DROP.

4.只容許從特定網段訪問SSH服務器

若是你想增強安全,只容許來自特定網段的用戶鏈接SSH服務器,能夠設置如下規則(以192.168.1.0/24網段爲例):

#iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT    
#iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT      

在這個例子中,192.168.1.0/24也能夠寫成192.168.1.0/255.255.255.0.

5.容許訪問Loopback

Linux有很多服務須要使用Loopback(好比Sendmail),若是設置不當可能致使服務沒法使用,因此應該設置規則容許訪問:

#iptables -A INPUT -i lo -j ACCEPT    
#iptables -A OUTPUT -o lo -j ACCEPT      

6.容許外網Ping服務器

#iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT    
#iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT      

7.容許HTTP和HTTPS入站鏈接

容許連入本機80端口(HTTP):

#iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT    
#iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT      

容許連入443端口(HTTPS):

#iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT    
#iptables -A OUTPUT -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT      

8.容許使用郵件服務

如下規則容許使用郵件服務(25端口),如Sendmail, Postfix等:

#iptables -A INPUT -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT    
#iptables -A OUTPUT -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT      

9.容許使用外網DNS解析

#iptables -A INPUT -p udp --sport 53 -j ACCEPT    
#iptables -A OUTPUT -p udp --dport 53 -j ACCEPT      

10.同一條規則設置多個端口

若是你的服務器同時對外提供多種服務,你可能不想爲每一項服務設置一條單獨的規則。你能夠把多個服務設置在同一條規則內。好比,你的服務器對外提供SSH, HTTP, HTTPS服務,你能夠設置:

#iptables -A INPUT -p tcp -m multiport --dports 22,80,443 -m state --state NEW,ESTABLISHED -j ACCEPT    
#iptables -A OUTPUT -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT      

11.查看iptables 行號

   

# iptables -nvL --line-number

12.在某行前面插入規則

添加規則有兩個參數:-A和-I。其中-A是添加到規則的末尾;-I能夠插入到指定位置,沒有指定位置的話默認插入到規則的首部

# iptables -I  INPUT 47  -p tcp -s 192.168.1.0  --dport 80  -j ACCEPT

13.刪除某條規則

先經過iptables -nvL --line-number,查看行號。在執行如下命令刪除

# iptables -D INPUT 2

14.修改某條規則

先經過iptables -nvL --line-number,查看行號。在執行如下命令修改

# iptables -R INPUT 3 -j ACCEPT

相關文章
相關標籤/搜索