linux 下使用rinetd實現流量轉發
阿新 • • 發佈:2018-04-22
rinetdRinetd是為在一個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 $? 看下有沒有報錯;
添加配置文件
使用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
linux 下使用rinetd實現流量轉發