温馨提示×

debian iptables怎么用命令

小樊
51
2026-10-07 14:36:10
栏目: 智能运维

在 Debian 下使用 iptables 主要通过命令行完成。下面给你一个从安装到常用操作的实用指南。


一、安装 iptables(如未安装)

Debian 默认通常已安装,但如果没有:

sudo apt update
sudo apt install iptables

查看是否安装:

iptables --version

二、iptables 基本概念

iptables 分 表(table) 和 链(chain):

常用表:

  • filter(默认,防火墙)
  • nat(地址转换)
  • mangle(修改包)

常用链:

  • INPUT:进入本机的数据包
  • OUTPUT:本机发出的数据包
  • FORWARD:转发的数据包

三、查看当前规则

sudo iptables -L -n -v
  • -L:列出规则
  • -n:不解析域名
  • -v:详细信息

查看 NAT 表:

sudo iptables -t nat -L -n -v

四、基本规则示例(filter 表)

1️⃣ 允许已建立连接

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

2️⃣ 允许本地回环

sudo iptables -A INPUT -i lo -j ACCEPT

3️⃣ 允许 SSH(端口 22)

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

4️⃣ 允许 HTTP / HTTPS

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

5️⃣ 拒绝其他 INPUT

sudo iptables -P INPUT DROP

五、删除 / 清空规则

删除某条规则(按编号)

sudo iptables -L --line-numbers
sudo iptables -D INPUT 3

清空所有规则

sudo iptables -F
sudo iptables -X

六、保存与开机生效(重要)

Debian 默认 重启后 iptables 规则会丢失。

方法 1:使用 iptables-persistent(推荐)

sudo apt install iptables-persistent

保存规则:

sudo netfilter-persistent save

开机自动加载:

sudo systemctl enable netfilter-persistent

七、NAT 示例(共享上网)

开启 IP 转发:

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

MASQUERADE(出口网卡 eth0):

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

八、常见问题

❓ iptables 和 nftables?
Debian 10+ 默认用 nftables,但仍兼容 iptables 命令。

❓ 防火墙被锁死?
通过控制台或救援模式清空规则:

iptables -F

如果你有具体需求(比如只允许某 IP、端口转发、Docker 环境、服务器防护),可以告诉我,我给你精确命令。

0 踩