温馨提示×

debian iptables怎么 nat 转发

小樊
44
2026-10-04 16:44:50
栏目: 智能运维

在 Debian 上使用 iptables 做 NAT 转发(端口转发 / 网络地址转换) 通常分几种场景,下面按常见用法说明。


一、开启内核 IP 转发(必须)

编辑配置:

sudo nano /etc/sysctl.conf

确保有这一行(没有就加上):

net.ipv4.ip_forward=1

立即生效:

sudo sysctl -p

二、端口转发(DNAT,最常用)

示例:把本机 8080 端口转发到 192.168.1.100:80

iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80
iptables -A FORWARD -p tcp -d 192.168.1.100 --dport 80 -j ACCEPT

如果是对本机访问也生效(本地回环):

iptables -t nat -A OUTPUT -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80

三、SNAT(内网机器通过 Debian 上网)

示例:Debian 作为网关,内网 192.168.1.0/24 上网

假设:

  • 外网网卡:eth0
  • 内网网卡:eth1
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

或指定公网 IP:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 公网IP

四、保存 iptables 规则(Debian)

方法 1(推荐)

sudo apt install iptables-persistent
sudo netfilter-persistent save

规则会保存到:

/etc/iptables/rules.v4

方法 2(手动)

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

开机恢复:

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

五、常见排查

查看 NAT 规则:

iptables -t nat -L -n -v

查看转发:

iptables -L FORWARD -n -v

六、如果你用的是 nftables(Debian 新版本)

Debian 10+ 默认可能是 nftables,建议确认:

iptables -V

如果显示 nf_tables,说明是 nft 后端。


如果你能告诉我:

  • 是 端口映射 还是 上网共享
  • 内网 / 公网网卡名
  • Debian 版本

我可以给你一套直接可用的完整规则。

0 踩