在Ubuntu上,使用iptables實(shí)現(xiàn)端口轉(zhuǎn)發(fā)需要以下幾個(gè)步驟:
sudo apt-get update
sudo apt-get install iptables
sudo nano /etc/iptables/rules.v4
<源端口>
和<目標(biāo)IP>
以及<目標(biāo)端口>
替換為實(shí)際值。*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 <目標(biāo)IP>:<目標(biāo)端口>
COMMIT
例如,如果你想將所有發(fā)往本地計(jì)算機(jī)的8080端口的流量轉(zhuǎn)發(fā)到192.168.1.100的80端口,你應(yīng)該添加以下規(guī)則:
*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
保存并關(guān)閉文件。
重新啟動iptables服務(wù)以應(yīng)用更改:
sudo systemctl restart netfilter-persistent
現(xiàn)在,iptables應(yīng)該已經(jīng)設(shè)置好端口轉(zhuǎn)發(fā)規(guī)則。你可以使用以下命令查看當(dāng)前的iptables規(guī)則:
sudo iptables -t nat -L -n -v
請注意,這些設(shè)置在重啟后可能會丟失。要使這些設(shè)置在重啟后仍然生效,請確保已安裝并啟用了netfilter-persistent
服務(wù)。