1. 程式人生 > >iptables 常用操作命令

iptables 常用操作命令

2、檢視IPtables防火牆策略你可以使用如下命令來檢視 IPtables 防火牆策略:

iptables -L -n -v

iptables -t nat -L -v –n

3、遮蔽某個IP地址如果你釋出有某個 IP 向伺服器匯入攻擊或非正常流量,可以使用如下規則遮蔽其 IP 地址:

iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP

注意需要將上述的 XXX 改成要遮蔽的實際 IP 地址,其中的 -A 引數表示在 INPUT 鏈的最後追加本條規則。(IPTables 中的規則是從上到下匹配的,一旦匹配成功就不再繼續往下匹配)

如果你只想遮蔽 TCP 流量,可以使用 -p 引數的指定協議,例如:

iptables -A INPUT -p tcp -s xxx.xxx.xxx.xxx -j DROP

4、解封某個IP地址要解封對 IP 地址的遮蔽,可以使用如下命令進行刪除:

iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP

其中 -D 引數表示從鏈中刪除一條或多條規則。

5、使用IPtables關閉特定埠很多時候,我們需要阻止某個特定埠的網路連線,可以使用 IPtables 關閉特定埠。

阻止特定的傳出連線:

iptables -A OUTPUT -p tcp --dport xxx -j DROP

阻止特定的傳入連線:

iptables

 -A INPUT -p tcp --dport xxx -j ACCEPT

6、使用Multiport控制多埠使用 multiport 我們可以一次性在單條規則中寫入多個埠,例如:

iptables -A INPUT  -p tcp -m multiport --dports 22,80,443 -j ACCEPTiptables -A OUTPUT -p tcp -m multiport --sports 22,80,443 -j ACCEPT

7、在規則中使用 IP 地址範圍在 IPtables 中 IP 地址範圍是可以直接使用 CIDR 進行表示的,例如:

iptables -A OUTPUT -p tcp -d 

192.168.100.0/24 --dport 22 -j ACCEPT

8、配置埠轉發有時我們需要將 Linux 伺服器的某個服務流量轉發到另一埠,此時可以使用如下命令:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 2525

上述命令會將所有到達 eth0 網絡卡 25 埠的流量重定向轉發到 2525 埠。

9、遮蔽HTTP服務Flood攻擊有時會有使用者在某個服務,例如 HTTP 80 上發起大量連線請求,此時我們可以啟用如下規則:

iptables -A INPUT -p tcp --dport 80 -m limit --limit 100/minute --limit-burst 200 -j ACCEPT

上述命令會將連線限制到每分鐘 100 個,上限設定為 200。

10、禁止PING對 Linux 禁 PING 可以使用如下規則遮蔽 ICMP 傳入連線:

iptables -A INPUT -p icmp -i eth0 -j DROP

11、允許訪問迴環網絡卡環回訪問(127.0.0.1)是比較重要的,建議大家都開放:

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

12、遮蔽指定MAC地址使用如下規則可以遮蔽指定的 MAC 地址:

iptables -A INPUT -m mac --mac-source 00:00:00:00:00:00 -j DROP

13、限制併發連線數如果你不希望來自特定埠的過多併發連線,可以使用如下規則:

iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT

以上規則限制每客戶端不超過 3 個連線。

14、清空IPtables規則要清空 IPtables 鏈可以使用如下命令:

iptables -F

要清空特定的表可以使用 -t 引數進行指定,例如:

iptables -t nat –F

15、儲存IPtables規則預設情況下,管理員對 IPtables 規則的操作會立即生效。但由於規則都是儲存在記憶體當中的,所以重啟系統會造成配置丟失,要永久儲存 IPtables 規則可以使用 iptables-save 命令:

iptables-save > ~/iptables.rules

儲存的名稱大家可以自己改。

16、還原IPtables規則有儲存自然就對應有還原,大家可以使用 iptables-restore 命令還原已儲存的規則:

iptables-restore < ~/iptables.rules

17、允許建立相關連線隨著網路流量的進出分離,要允許建立傳入相關連線,可以使用如下規則:

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

允許建立傳出相關連線的規則:

iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT

18、丟棄無效資料包很多網路攻擊都會嘗試用黑客自定義的非法資料包進行嘗試,我們可以使用如下命令來丟棄無效資料包:

iptables -A INPUT -m conntrack --ctstate INVALID -j DROP

19、IPtables遮蔽郵件傳送規則如果你的系統不會用於郵件傳送,我們可以在規則中遮蔽 SMTP 傳出埠:

iptables -A OUTPUT -p tcp --dports 25,465,587 -j REJECT

20、阻止連線到某塊網絡卡如果你的系統有多塊網絡卡,我們可以限制 IP 範圍訪問某塊網絡卡:

iptables -A INPUT -i eth0 -s xxx.xxx.xxx.xxx -j DROP