iptables 常用規則使用例項

1、清空資料包流量、清空鏈、清空規則

使用下面幾個命令可以清空iptables表:

# 使用-t選項選擇哪個表,表有filter, nat , mangle三個表iptables -t filter -Fiptables -t filter -Xiptables -t filter -Z

-F

清空所有鏈的規則,

-X

刪除自定義的鏈,

-Z

清空資料包流量。

2、設定預設策略

預設鏈策略是ACCEPT。對於所有INPUT,FORWARD和OUTPUT鏈,將其更改為DROP,如下所示:

iptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARDING DROP

將INPUT和OUTPUT鏈的預設策略都設定為DROP時,對每個防火牆規則要求,都應定義兩個規則,一個用於INPUT,一個用於OUTPUT。

如果信任內部使用者,則可以省略上面的OUTPUT。即預設情況下不丟棄所有OUTPUT資料包。在這種情況下,對於擁有的每個防火牆規則要求,只需定義一個規則即可。即只為INPUT定義規則,因為所有資料包的傳出都是ACCEPT。

3、阻止指定的IP地址進入

BLOCK_THIS_IP=“x。x。x。x” iptables -A INPUT -s “$BLOCK_THIS_IP” -j DROP或者iptables -A INPUT -i ens160 -s “$BLOCK_THIS_IP” -j DROP或者 iptables -A INPUT -i ens160 -p tcp -s “$BLOCK_THIS_IP” -j DROP

定義一個變數,

寫入要阻止的ip地址。上面第一條規則的意思是從某個ip進入的流量拒絕掉。第二條規則是阻止某個ip地址從eth0進入的流量。第三條規則指的是拒絕某個ip地址從eth0進入訪問tcp協議的流量。

4、允許外部使用者ssh登入本機

以下規則允許ens160介面上的所有傳入的ssh連線。

iptables -A INPUT -i ens160 -p tcp ——dport 22 -m state ——state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -o ens160 -p tcp ——sport 22 -m state ——state ESTABLISHED -j ACCEPT

下面是允許指定網段的ip地址連線本機的ssh服務:

iptables -A INPUT -i ens160 -p tcp -s 192。168。100。0/24 ——dport 22 -m state ——state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -o ens160 -p tcp ——sport 22 -m state ——state ESTABLISHED -j ACCEPT

5、允許本機使用ssh登入遠端主機

以下規則允許傳出ssh連線。當從內部ssh連線到外部伺服器時可以使用:

iptables -A OUTPUT -o ens160 -p tcp ——dport 22 -m state ——state NEW,ESTABLISHED -j ACCEPTiptables -A INPUT -i ens160 -p tcp ——sport 22 -m state ——state ESTABLISHED -j ACCEPT

6、使用multiport模組,允許外部訪問本機的80,443

下面使用

multiport

模組,可以減少寫入規則條數。下面例項允許外部訪問本機的http,https服務。

iptables -A INPUT -i ens160 -p tcp -m multiport ——dports 80,443 -m state ——state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -o ens160 -p tcp -m multiport ——sports 80,443 -m state ——state ESTABLISHED -j ACCEPT

iptables 常用規則使用例項

7、允許本地訪問外部的http,https服務

下面命令允許本機訪問外面的http,https服務:

iptables -A OUTPUT -o ens160 -p tcp -m multiport ——dports 80,443 -m state ——state NEW,ESTABLISHED -j ACCEPTiptables -A INPUT -i ens160 -p tcp -m multiport ——sports 80,443 -m state ——state ESTABLISHED -j ACCEPT

iptables 常用規則使用例項

8、允許外部ping本機

以下規則允許外部使用者能夠ping你的伺服器:

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

iptables 常用規則使用例項

9、允許本機ping外部

以下規則允許從內部ping到任何外部伺服器:

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

iptables 常用規則使用例項

10、防DDOS攻擊

下面規則將幫助你預防Web伺服器上的拒絕服務(DoS)攻擊:

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

-m limit:使用limit模組

——limit 25/minute:此限制每分鐘最多25個連線。根據具體要求更改此值

——limit-burst 100:該值表示只有在連線總數達到limit-burst級別後,才執行limit 25/minute。