在 Linux 中,可以使用 iptables
或 socat
等工具進行端口轉發
方法 1:使用 iptables 進行端口轉發
首先,確保你的系統已安裝了 iptables
。在大多數 Linux 發行版中,它通常是默認安裝的。
打開終端,輸入以下命令以創建一個新的 iptables 規則,將本地端口 8080 轉發到遠程服務器的端口 80:
sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination <遠程服務器IP>:80
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
將 <遠程服務器IP>
替換為實際的遠程服務器 IP 地址。
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
注意:這可能需要 root 權限。如果需要,請在命令前加上 sudo
。
iptables-persistent
:sudo apt-get install iptables-persistent
在安裝過程中,系統會提示你是否要保存當前的 iptables 規則。選擇“是”以確保規則在系統重啟后仍然生效。
方法 2:使用 socat 進行端口轉發
socat
(如果尚未安裝):對于基于 Debian 的系統(如 Ubuntu):
sudo apt-get install socat
對于基于 RHEL 的系統(如 CentOS):
sudo yum install socat
socat TCP-LISTEN:8080,fork TCP::<遠程服務器IP>:80
將 <遠程服務器IP>
替換為實際的遠程服務器 IP 地址。
現在,當有人訪問你的本地服務器上的 8080 端口時,請求將被轉發到遠程服務器的 80 端口。