linux rinetd 端口轉發部署


linux下簡單好用的工具rinetd,實現端口映射/轉發/重定向

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

官網地址:http://www.boutell.com/rinetd

軟件下載: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
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

說明一下(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端口  

命令格式是:

bindaddress   bindport      connectaddress   connectport
綁定的地址      綁定的端口    連接的地址           連接的端口
或
[Source Address] [Source Port] [Destination Address] [Destination Port]
源地址                  源端口            目的地址                     目的端口     

啟動程序:

pkill rinetd                        #關閉進程
rinetd -c /etc/rinetd.conf   ##啟動轉發
#把這條命令加到/etc/rc.local里面就可以開機自動運行            

查看狀態:

netstat -antup

需要注意:

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 ACCEPT

 因為我們的跳板機都是轉發的數據庫和redis的端口,運行了一段時間后每天早上來rinetd服務就掛了,沒辦法就執行寫個腳本檢查pid號,如果掛了就重啟。

#!/bin/bash

#rinetd pid check

pid=`ps -ef |grep rinetd |grep -v grep`

if [ $? -ne 0 ]
then
  rinetd -c /etc/rinetd.conf
  echo "Start executive time:"`date`
else

  echo rinetd pid is running...
  echo date is :`date`
fi

crontab -l 
1 */2 * * * /usr/local/src/pid-check.sh >> /tmp/rinetd.log 2>&1

#每兩個小時監測一次.

 

參考文檔:http://www.cnblogs.com/clds/p/5732370.html

               http://www.trojansun.com/using-rinetd-for-port-forwarding.html  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM