在Ubuntu上,使用iptables实现端口转发需要以下几个步骤:
sudo apt-get update
sudo apt-get install iptables
sudo nano /etc/iptables/rules.v4
<源端口>
和<目标IP>
以及<目标端口>
替换为实际值。*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport <源端口> -j DNAT --to-destination <目标IP>:<目标端口>
COMMIT
例如,如果你想将所有发往本地计算机的8080端口的流量转发到192.168.1.100的80端口,你应该添加以下规则:
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80
COMMIT
保存并关闭文件。
重新启动iptables服务以应用更改:
sudo systemctl restart netfilter-persistent
现在,iptables应该已经设置好端口转发规则。你可以使用以下命令查看当前的iptables规则:
sudo iptables -t nat -L -n -v
请注意,这些设置在重启后可能会丢失。要使这些设置在重启后仍然生效,请确保已安装并启用了netfilter-persistent
服务。