温馨提示×

debian iptables怎么设置转发

小樊
46
2026-09-16 20:56:22
栏目: 智能运维

在 Debian 上用 iptables 设置转发(端口/流量转发),通常分为 系统开启转发 和 iptables 规则配置 两部分。


一、开启 Linux 内核 IP 转发

临时开启(重启失效)

sysctl -w net.ipv4.ip_forward=1

永久开启

编辑 /etc/sysctl.conf:

nano /etc/sysctl.conf

添加或修改:

net.ipv4.ip_forward=1

生效:

sysctl -p

二、iptables 基本转发规则

示例 1:端口转发(DNAT)

把本机 8080 端口转发到 192.168.1.10:80

iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.10:80
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.10 --dport 80 -j MASQUERADE

说明:

  • PREROUTING:修改目标地址(DNAT)
  • POSTROUTING:做 SNAT(MASQUERADE 适合动态 IP)

示例 2:全网流量转发(网关)

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

(eth0 为出口网卡)


示例 3:允许转发流量

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

三、保存 iptables 规则(Debian)

Debian 11+(nftables 默认)

apt install iptables-persistent
netfilter-persistent save

或:

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

开机恢复:

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

四、常见场景总结

场景 做法
端口转发 DNAT + MASQUERADE
做网关 开启转发 + POSTROUTING
本地访问转发 加 OUTPUT 链规则

五、本地访问本机转发的补充(可选)

如果 本机访问本机端口 也需要转发:

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

如果你能告诉我:

  • 是 端口转发 还是 整网转发
  • 内网/公网 IP
  • Debian 版本

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

0 踩