天天看點

Linux下使用Rinetd來實作端口轉發

Linux下端口轉發一般都使用iptables來實作,使用iptables可以很容易将TCP和UDP端口從防火牆轉發到内部主機上。但是如果需要将流量從專用位址轉發到不在您目前網絡上的機器上,可嘗試另一個應用層端口轉發程式Rinetd。Rinetd短小、高效,配置起來比iptables也簡單很多。

Rinetd是為在一個Unix和Linux作業系統中為重定向傳輸控制協定(TCP)連接配接的一個工具。Rinetd是單一過程的伺服器,它處理任何數量的連接配接到在配置檔案etc/rinetd中指定的位址/端口對。盡管rinetd使用非閉鎖I/O運作作為一個單一過程,它可能重定向很多連接配接而不對這台機器增加額外的負擔。

通過包安裝

CentOS

官方源中不具有Rinetd,是以需要先安裝三方源。

配置三方源

32位系統

64位系統

安裝Rinetd

Ubuntu

編譯安裝

配置端口轉發的配置檔案在<code>/etc/rinetd.conf</code>

配置檔案格式

在每一單獨的行中指定每個要轉發的端口。源位址和目的位址都可以是主機名或IP位址,IP 位址0.0.0.0将rinetd綁定到任何可用的本地IP位址上。例如:<code>0.0.0.0 8080 www.hi-linux.com 80</code>

配置規則

說明

0.0.0.0表示本機綁定所有可用位址 将所有發往本機8080端口的請求轉發到172.19.94.3的8080端口 将所有發往本機2222端口的請求轉發到192.168.0.103的3389端口 将所有發往1.2.3.4的80端口請求轉發到192.168.0.10的80端口 allow設定允許通路的ip位址資訊,<code>*.*.*.*</code>表示所有IP位址 logfil設定列印的log的位置

啟動Rinetd

腳本啟動

手動啟動

編譯安裝不自帶腳本

關閉rinetd

腳本關閉

手動關閉

注意事項

1.rinetd.conf中綁定的本機端口必須沒有被其它程式占用 2.運作rinetd的系統防火牆應該打開綁定的本機端口 3.不支援FTP的跳轉