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