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的跳轉