Rinetd是爲在一個Unix和Linux操做系統中爲重定向傳輸控制協議(TCP)鏈接的一個工具,實現端口映射/轉發/重定向。
Rinetd是單一過程的服務器,它處理任何數量的鏈接到在配置文件etc/rinetd中指定的地址/端口對。
儘管rinetd使用非閉鎖I/O運行做爲一個單一過程,它可能重定向不少鏈接而不對這臺機器增長額外的負擔。
一、軟件下載
# wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
二、軟件安裝
# tar zxvf rinetd.tar.gz
# cd rinetd
# make
# make install
注:
執行過程當中若是出現下面的錯誤
install: cannot create regular file `/usr/man/man8': No such file or directory
須要手動建立一下文件夾,從新編譯安裝便可
mkdir -p /usr/man/man8
三、配置文件
# vim /etc/rinetd.conf
編輯配置文件,添加以下內容
# pkill rinetd
# rinetd -c /etc/rinetd.conf
# bindaddress bindport connectaddress connectport
0.0.0.0 8080 172.19.94.3 8080
0.0.0.0 9090 192.168.0.103 3389
1.2.3.4 80 192.168.0.10 80
注:
格式是:
bindaddress bindport connectaddress connectport
綁定的地址 綁定的端口 鏈接的地址 鏈接的端口
或
[Source Address] [Source Port] [Destination Address] [Destination Port]
源地址 源端口 目的地址 目的端口
(0.0.0.0表示本機綁定全部可用地址)
將全部發往本機8080端口的請求轉發到172.19.94.3的8080端口
將全部發往本機9090端口的請求轉發到192.168.0.103的3389端口
將全部發往1.2.3.4的80端口請求轉發到192.168.0.10的80端口
四、啓停、查看程序
關閉
# pkill rinetd
啓動
# rinetd -c /etc/rinetd.conf
查看狀態
# netstat -antup | grep rinetd
注:
1.rinetd.conf中綁定的本機端口必須沒有被其它程序佔用
2.運行rinetd的系統防火牆應該打開綁定的本機端口
例如:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1111 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPTvim