Ubuntu防火墙(UFW)可通过配置iptables
规则实现端口转发,步骤如下:
/etc/sysctl.conf
,取消net.ipv4.ip_forward=1
的注释,执行sudo sysctl -p
使配置生效。/etc/ufw/before.rules
,在*nat
部分添加规则:-A PREROUTING -p tcp --dport <外部端口> -j REDIRECT --to-port <目标端口> # 本地端口转发
# 或
-A PREROUTING -p tcp --dport <外部端口> -j DNAT --to-destination <目标IP>:<目标端口> # 转发到其他IP
-A POSTROUTING -j MASQUERADE # 允许返回流量
sudo nano /etc/ufw/before.rules
# 在*nat段添加
-A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80
ufw allow <目标端口>/tcp
开放目标端口。sudo systemctl restart ufw
。验证:通过sudo ufw status
查看规则,或使用telnet
/curl
测试端口连通性。
注:若需永久保存iptables
规则,可安装iptables-persistent
。