在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
服務。