常規iptables防火牆規則和命令

今天,我們將向您展示iptables中的一些常規防火牆規則和命令。 iptables是一個有用的命令行實用程序,用於配置Linux內核防火牆。 iptables包含五個表:raw,filter,nat,mangle和security。 每個表由鏈組成。 鏈是依次遵循的防火牆規則的列表。 讓我們從一些通用的iptables防火牆規則和命令開始。

安裝iptables

以root用戶身份通過​​SSH登錄到VPS:

ssh [email protected]_Address -p Port_number

安裝iptables非常容易。 如果您具有Ubuntu VPS或Debian VPS,請運行以下命令:

apt-get update 
apt-get upgrade
apt-get install iptables iptables-persistent

如果您的VPS上安裝了CentOS或Fedora,請運行以下命令:

yum clean all
yum update
yum install iptables

就是這樣,您現在應該在服務器上成功安裝iptables。

常規iptables防火牆規則

下面列出的是常見防火牆規則的示例。 接受所有已建立和相關的軟件包:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

允許來自任何地方的HTTP和HTTPS連接:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

僅允許從特定IP地址(例如192.168.1.123)訪問端口21,並阻止從所有其他IP地址到服務器(例如服務器IP地址192.168.1.100)的訪問:

iptables -A INPUT -s 192.168.1.123 -d 192.168.1.100 -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -d 192.168.1.100 -p tcp -m tcp --dport 21 -j DROP
iptables-save

封鎖IP位址(例如192.168.1.21):

iptables -A INPUT -s 192.168.1.21 -j DROP

封鎖IP範圍並拒絕所有封包(例如192.168.1.0/24):

iptables -A INPUT -s 192.168.1.0/24 -j REJECT

要阻止到端口(例如端口123)的傳出流量,請使用:

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

常規iptables命令

以詳細模式列出所有鏈中的所有規則,並顯示IP地址和端口號,而不是主機名和服務名,包括接口名稱,規則參數(如果有)和TOS掩碼:

iptables -nvL | less
Chain INPUT (policy ACCEPT 17M packets, 3161M bytes)
 pkts bytes target     prot opt in     out     source               destination
  90M   18G cP-Firewall-1-INPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 cP-Firewall-1-INPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 16M packets, 5107M bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 25,465,587 owner GID match 32006
18618 9100K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 25,465,587 owner GID match 12
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            127.0.0.1           multiport dports 25,465,587 owner UID match 32001
10686  946K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 25,465,587 owner UID match 0

Chain cP-Firewall-1-INPUT (2 references)
 pkts bytes target     prot opt in     out     source               destination
   39  2264 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:993
   54  2872 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:53
 7509  450K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:21
 557K   34M ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:443
19655 1142K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80
 1057 43388 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:8080
 7533  452K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:143
  382 16664 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
2871K  173M ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:995
23539 1284K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:110
 8353  500K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:25
   71  3680 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:465
 519K   31M ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:3306
  132  9948 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:53

要顯示帶有規則編號的鏈式規則,請使用:

iptables -nvL --line-numbers

如果要刪除規則(例如,從INPUT鏈中刪除規則編號9),這將很有用:

iptables -D INPUT 9

或在兩個現有規則之間添加一條規則(例如,在規則2和3之間添加一個防火牆規則):

iptables -I OUTPUT 3 -d 127.0.0.1/32 -p tcp -m multiport --dports 25,465,587 -m owner --uid-owner 201 -j ACCEPT

要列出用於創建當前使用的iptables規則的所有命令,請使用以下命令:

iptables -S

如果需要編輯或刪除某些防火牆規則,此命令很有用。

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N cP-Firewall-1-INPUT
-A INPUT -j cP-Firewall-1-INPUT
-A FORWARD -j cP-Firewall-1-INPUT
-A OUTPUT -p tcp -m multiport --dports 25,465,587 -m owner --gid-owner mailman -j ACCEPT
-A OUTPUT -p tcp -m multiport --dports 25,465,587 -m owner --gid-owner mail -j ACCEPT
-A OUTPUT -d 127.0.0.1/32 -p tcp -m multiport --dports 25,465,587 -m owner --uid-owner cpanel -j ACCEPT
-A OUTPUT -p tcp -m multiport --dports 25,465,587 -m owner --uid-owner root -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 993 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 143 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 995 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 465 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A cP-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT

清除所有防火牆規則:

iptables -F

使用’iptables -h | “少”以獲取有關iptables命令的所有選項的更多信息。

Ubuntu-i-CentOS-s-pomoshhyu-IPtables-1024×768.jpg.webp?x13673″ alt=”如何使用IPtables在Ubuntu和CentOS中打開端口” width=”584″ height=”438″ srcset=”https://andreyex.ru/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2017/03/Kak-otkryt-porty-v-Ubuntu-i-CentOS-s-pomoshhyu-IPtables-1024×768.jpg.webp 1024w, https://andreyex.ru/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2017/03/Kak-otkryt-porty-v-Ubuntu-i-CentOS-s-pomoshhyu-IPtables-300×225.jpg.webp 300w, https://andreyex.ru/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2017/03/Kak-otkryt-porty-v-Ubuntu-i-CentOS-s-pomoshhyu-IPtables-768×576.jpg.webp 768w, https://andreyex.ru/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2017/03/Kak-otkryt-porty-v-Ubuntu-i-CentOS-s-pomoshhyu-IPtables-267×200.jpg.webp 267w, https://andreyex.ru/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2017/03/Kak-otkryt-porty-v-Ubuntu-i-CentOS-s-pomoshhyu-IPtables-600×450.jpg.webp 600w, https://andreyex.ru/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2017/03/Kak-otkryt-porty-v-Ubuntu-i-CentOS-s-pomoshhyu-IPtables-800×600.jpg.webp 800w, https://andreyex.ru/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2017/03/Kak-otkryt-porty-v-Ubuntu-i-CentOS-s-pomoshhyu-IPtables.jpg.webp 1600w” data-sizes=”(max-width: 584px) 100vw, 584px”>

Sidebar