Image

知识库 → 在 Debian 12 中设置 iptables 防火墙

[虚拟服务器]
出版日期: 16.10.2023

在 Debian 12 中,iptables 防火墙内置于内核中,与之前的 Debian 不同,它没有服务状态。 在本指南中,我们将了解基本的管理命令。

1.查看规则列表

iptables -L -n

使用 -n 开关禁用 IP 地址到主机名的转换 (IP-PTR)。

1.1 查看带编号的规则列表

iptables -L --line-numbers

2 使用规则

2.1 端口解析规则示例

2.1.1 让我们允许通过端口 22 进行连接

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

2.1.2 让我们允许通过端口 80 进行连接

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

2.1.2 让我们允许端口 443 上的连接并将规则设置为规则链中的第一个

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

2.2 删除规则

2.2.1 按规则号删除

iptables -D INPUT 1

2.2.2 按规则内容删除

iptables -D INPUT -p tcp --dport 80 -j ACCEPT

2.3 禁止规则示例

2.3.1 拒绝特定IP到端口25的连接

iptables -A INPUT -s xx.ip.xx.ip -p tcp –destination-port 25 -j DROP

2.3.2 完全拒绝特定ip的连接

iptables -A INPUT -s 192.168.0.100 -j DROP

2.3.3 拒绝整个子网的连接

iptables -A INPUT -s 192.168.0.0/24 -j DROP

2.4 重置规则链

请注意,在输入重置规则命令之前,您已经设置了默认规则,因为这将导致与服务器的连接丢失。

iptables -P INPUT ACCEPT

2.4.1 重置所有规则

iptables -F

2.4.2 重置规则链

iptables -F INPUT

3. 保存规则

服务器重新启动后,所有注册的规则将被删除。为了防止这种情况发生,我们将安装该实用程序。

apt install iptables-persistent

在安装过程中,系统会提示您保存当前规则设置。 iptables-persistent 在 /etc/iptables 中查找rules.v4 和rules.v6 文件,并在服务器启动时恢复它们。

3.1 保存规则

3.1.1 通过 iptables-persistent 保存

netfilter-persistent save

3.1.2 通过iptables保存

要稍后保存规则设置,请使用命令

iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6

3.2 恢复规则

3.2.1 现行规则的恢复和替换

iptables-restore < /etc/iptables/rules.v4

3.2.2 恢复同时保持当前规则

iptables-restore -n < /etc/iptables/rules.v4




暂时没有评论