Rinetd是爲在一個Unix和Linux操作系統中爲重定向傳輸控制協議(TCP)連接的一個工具。Rinetd是單一過程的服務器,它處理任何數量的連接到在配置文件/etc/rinetd中指定的地址/端口對.
使用iptables 很容易將TCP 和UDP 端口從防火牆轉發到內部主機上。但是如果您需要將流量從專用地址轉發到甚至不在您當前網絡上的機器上,又該怎麼辦呢?可以用rinetd;
下載,如果wget http://www.boutell.com/rinetd/http/rinetd.tar.gz下載不了。直接把地址貼到網頁下載http://www.boutell.com/rinetd/http/rinetd.tar.gz
下載好解壓
tar -xvf rinetd.tar.gz
進入解壓目錄make && make install;再執行echo $? 看下有沒有報錯;
添加配置文件
[root@jw rinetd]# vim /etc/rinetd.conf
[root@jw rinetd]# cat !$
cat /etc/rinetd.conf
0.0.0.0 6379 111.111.111.111 6379
##說明一下(0.0.0.0表示本機綁定所有可用地址)
###將所有發往本機6379端口的請求轉發到111.111.111.111的6379端口,即redis
logfile /var/log/rinetd.log ——日誌目錄
[root@jw rinetd]#
配置文件綁定格式
命令格式是
bindaddress bindport connectaddress connectport
綁定的地址 綁定的端口 連接的地址 連接的端口
[root@jw rinetd]# rinetd
[root@jw rinetd]# echo $?
0
[root@jw rinetd]# netstat -antup
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 3096/rinetd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1025/rpcbind
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1092/sshd
tcp 0 52 192.168.3.2:22 192.168.3.100:1529 ESTABLISHED 1120/sshd
tcp 0 0 :::111 :::* LISTEN 1025/rpcbind
tcp 0 0 :::22 :::* LISTEN 1092/sshd
udp 0 0 0.0.0.0:111 0.0.0.0:* 1025/rpcbind
udp 0 0 0.0.0.0:776 0.0.0.0:* 1025/rpcbind
udp 0 0 0.0.0.0:68 0.0.0.0:* 955/dhclient
udp 0 0 :::111 :::* 1025/rpcbind
udp 0 0 :::776 :::* 1025/rpcbind
[root@jw rinetd]#
執行rinetd命令,可以看到已經啓動了6379端口了。
停止rinetd命令
pkill rinetd
rinetd -c /etc/rinetd.conf ##啓動轉發
echo rinetd >>/etc/rc.local##添加到開機啓動
如果你在阿里雲買了一臺redis,需要公網訪問,可以參考使用rinetd
以下鏈接:https://help.aliyun.com/document_detail/43850.html