在 Debian 系统中安装和配置 iptables,可以按照以下步骤操作:
首先确保软件包列表是最新的:
sudo apt update
Debian 默认通常已安装 iptables,但如果没有,可以手动安装:
sudo apt install iptables
如果你还需要 iptables 持久化(重启后规则不丢失),建议同时安装:
sudo apt install iptables-persistent
安装过程中会询问是否保存当前 IPv4 / IPv6 规则,选择 Yes 即可。
查看当前规则:
sudo iptables -L -n -v
查看 NAT 表:
sudo iptables -t nat -L -n -v
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
⚠️ 注意:设置 INPUT DROP 前,确保 SSH 已允许,否则可能断连。
sudo netfilter-persistent save
规则会保存在:
/etc/iptables/rules.v4
/etc/iptables/rules.v6
Debian 10(Buster)及以后版本,默认使用 nftables,但 iptables 命令仍然存在(作为兼容层)。
查看当前后端:
sudo update-alternatives --config iptables
切换为传统 iptables(可选):
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
| 功能 | 命令 |
|---|---|
| 清空规则 | sudo iptables -F |
| 删除某条规则 | sudo iptables -D INPUT 1 |
| 查看规则编号 | sudo iptables -L --line-numbers |
| 重启服务 | sudo systemctl restart netfilter-persistent |
如果你愿意,可以告诉我:
我可以帮你定制一套 安全且可用的 iptables 规则。