linux 下使用rinetd實現流量轉發

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章