常规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