Linux下利用rinetd快速实现TCP端口转发
很多时候我们搭建某些服务后,发现本地连接效果不给力,但是我们有一个国内机器,由于国内机器出去走BGP线路,国内机器连接国外效果好,本地连接国内效果也不错,这样我们就可以搭建一个跳板,从国内去连接国外服务器,常见的转发有rinetd、Haproxy、iptables、socat,前面2种只能转发TCP,后面TCP/UDP都可以转发,rinetd工具用来实现快速配置和修改端口转发。其实功能与iptables的转发功能类似,只是在配置上面简洁方便。
安装:
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
tar xzvf rinetd.tar.gz
cd rinetd
make
make install
tar xzvf rinetd.tar.gz
cd rinetd
make
make install
注意:执行make install时可能出现错误:缺少目录/usr/man/man8,此时执行 mkdir -p /usr/man/man8创建目录即可。
创建配置文件:
touch /etc/rinetd.conf
写入如下配置:
0.0.0.0 8011 10.36.0.11 8088
注意:多个转发可以写入多行,一行一个即可。
配置解释如下:
[Source Address] [Source Port] [Destination Address] [Destination Port]
源地址 源端口 目的地址 目的端口
0.0.0.0表示本机绑定所有可用地址,如果有多个IP可单独绑定。
此配置将所有发往本机8011端口的请求转发到10.36.0.11的8088端口。
源地址 源端口 目的地址 目的端口
0.0.0.0表示本机绑定所有可用地址,如果有多个IP可单独绑定。
此配置将所有发往本机8011端口的请求转发到10.36.0.11的8088端口。
启动程序
killall rinetd ##先关闭进程
rinetd -c /etc/rinetd.conf ##启动转发
rinetd -c /etc/rinetd.conf ##启动转发
启动后,可以利用netstat -ntlp 对rinetd端口情况进行查看。
如果需要开机自启,将rinetd -c /etc/rinetd.conf写入/etc/rc.local。
或者执行以下操作:
echo "rinetd -c /etc/rinetd.conf " >>/etc/rc.local
chmod +x /etc/rc.local
chmod +x /etc/rc.local
继续阅读