温馨提示×

debian iptables怎么_nat

小樊
44
2026-09-16 21:00:21
栏目: 智能运维

在 Debian 上用 iptables 做 NAT(通常是 SNAT / MASQUERADE),一般步骤如下:


一、开启内核 IP 转发

编辑配置:

sudo nano /etc/sysctl.conf

添加或取消注释:

net.ipv4.ip_forward=1

生效:

sudo sysctl -p

确认:

cat /proc/sys/net/ipv4/ip_forward

输出应为 1


二、基本 NAT(MASQUERADE,最常用)

适用于 动态 IP(如拨号、DHCP)

# 清空旧规则(可选)
iptables -F
iptables -t nat -F

# 允许转发
iptables -P FORWARD ACCEPT

# 做 NAT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

eth0 是 出口网卡(连外网的)


三、静态 IP 用 SNAT(推荐服务器)

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 1.2.3.4

1.2.3.4 是你的公网 IP


四、允许内网访问(FORWARD 规则)

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

eth1 是 内网网卡


五、端口映射(DNAT,可选)

把外网 8080 转到内网 192.168.1.10:80

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 \
  -j DNAT --to-destination 192.168.1.10:80

iptables -A FORWARD -p tcp -d 192.168.1.10 --dport 80 -j ACCEPT

六、保存 iptables 规则(Debian)

Debian 11+(nft 后端)

apt install iptables-persistent
netfilter-persistent save

重启自动生效。


七、常见排错

# 查看 NAT 规则
iptables -t nat -L -n -v

# 查看转发
iptables -L FORWARD -n -v

确认:

  • IP 转发已开
  • 出口网卡正确
  • FORWARD 链不是 DROP

如果你愿意,可以告诉我:

  • Debian 版本
  • 网络拓扑(哪张网卡内网 / 外网)
  • 是 共享上网 还是 端口映射

我可以给你一份精确可直接用的规则。

0 踩