軟件下載wget http://www.boutell.com/rinetd/http/rinetd.tar.gz解壓安裝tar zxvf rinetd.tar.gzmakemake install編輯配置vi /etc/rinetd.conf0.0.0.0 8080 172.19.94.3 80800.0.0.0 2222 192.168.0.103 33891.2.3.4 80 192.168.0.10 80說明一下(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端口命令格式是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
另外我加了一下監控服務
#!/bin/sh#------------------------------------------------------------------------------# 函數: CheckPRocess# 功能: 檢查一個進程是否存在# 參數: $1 --- 要檢查的進程名稱# 返回: 如果存在返回0, 否則返回1.#------------------------------------------------------------------------------
CheckProcess(){# 檢查輸入的參數是否有效 if [ "$1" = "" ]; then return 1 fi#$PROCESS_NUM獲取指定進程名的數目,為1返回0,表示正常,不為1返回1,表示有錯誤,需要重新啟動 PROCESS_NUM=`ps -ef | grep "$1" | grep -v "grep" | wc -l` if [ $PROCESS_NUM -eq 1 ]; then return 0 else return 1 fi}# 檢查rinetd實例是否已經存在while [ 1 ] ; do CheckProcess "rinetd" CheckQQ_RET=$? if [ $CheckQQ_RET -eq 1 ]; then# 殺死所有rinetd進程,可換任意你需要執行的操作 rinetd -c /etc/rinetd.conf & fi sleep 300done
新聞熱點
疑難解答