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。