溫馨提示×

Ubuntu Iptable如何實(shí)現(xiàn)端口轉(zhuǎn)發(fā)

小樊
82
2024-09-13 23:54:55

在Ubuntu上,使用iptables實(shí)現(xiàn)端口轉(zhuǎn)發(fā)需要以下幾個(gè)步驟:

  1. 首先,確保你的系統(tǒng)已經(jīng)安裝了iptables。如果沒有,可以使用以下命令安裝:
sudo apt-get update
sudo apt-get install iptables
  1. 打開iptables配置文件:
sudo nano /etc/iptables/rules.v4
  1. 在文件中添加以下內(nèi)容,用于設(shè)置端口轉(zhuǎn)發(fā)規(guī)則。將<源端口><目標(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
  1. 保存并關(guān)閉文件。

  2. 重新啟動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ù)。

0