跳到主內容

【port forwarding】rinetd

https://github.com/samhocevar/rinetd

rinetd 是一個簡單的 TCP 端口轉發工具,它可以將進入的 TCP 連接重定向到指定的目標 IP 地址和端口。以下是 rinetd 的基本使用方式:

  1. 安裝 rinetd

    在大多數 Linux 系統上,你可以使用包管理器進行安裝。例如,在基於 Debian/Ubuntu 的系統上,可以運行:

    sudo apt-get install rinetd
    

    在基於 Red Hat/CentOS 的系統上,可以使用 yum

    sudo yum install rinetd
    
  2. 配置 rinetd

    配置文件通常位於 /etc/rinetd.conf,你可以使用文本編輯器(如 nanovim)來編輯它:

    sudo nano /etc/rinetd.conf
    

    在配置文件中,每行包含一條規則,指定了本地和遠程端口。格式如下:

    bindaddress bindport connectaddress connectport
    
    • bindaddress:本地 IP 地址,可以是 0.0.0.0 表示所有網卡。
    • bindport:本地監聽端口。
    • connectaddress:目標伺服器的 IP 地址。
    • connectport:目標伺服器的端口。

    例如:

    0.0.0.0 8080 192.168.1.100 80
    

    這條規則將本地機器的 8080 端口的請求重定向到 IP 地址為 192.168.1.100,端口為 80 的伺服器。

  3. 啟動 rinetd 服務:

    保存配置文件並啟動 rinetd 服務:

    sudo service rinetd restart
    

    或者,使用 systemctl

    sudo systemctl restart rinetd
    

    這將讓 rinetd 讀取配置文件並應用轉發規則。

  4. 確認 rinetd 是否運作:

    你可以使用以下命令檢查 rinetd 是否正在運行:

    sudo service rinetd status
    

    或者,使用 systemctl

    sudo systemctl status rinetd
    

    如果服務正在運行,而且配置文件沒有錯誤,則 rinetd 將開始將來自本地端口的請求轉發到指定的目標伺服器。

請注意,rinetd 主要用於簡單的 TCP 端口轉發,並不支持高級功能。對於更複雜的需求,可能需要考慮使用其他工具或設置伺服器上的防火牆規則。