+ -
当前位置:首页 → 问答吧 → 利用rinetd将tcp端口转发到任意的机器上

利用rinetd将tcp端口转发到任意的机器上

时间:2011-07-28

来源:互联网

今天遇到个方案:
用户---公网---->web服务器-----公网---->接口机
用户(随机ip)的数据要传送到接口机,接口机只能让web服务器访问。
其实就是用web服务器转发数据,本来想用iptables,gooel了一下发现rinetd也不错,配置也好理解,方便维护。
估计也是利用iptables的完成的。
下面是转载的资料:

http://wanghaoran.net/gongju/1201.html

TCP连接重定向从一个IP地址和端口到另一个地方。 rinetd是一个单进程的服务器,它处理任何数量的连接地址/端口在文件/ etc/ rinetd.conf指定对。因为作为一个单一的过程中使用非阻塞I / O,它可以重定向的机器上没有严重影响了大量连接rinetd运行。这使得它实际运行在防火墙
内的机器IP伪装TCP服务。 rinetd不重定向的FTP,因为FTP需要多个插座。
rinetd通常是在开机时启动,使用下面的语法:
/ usr / sbin目录/ rinetd
配置文件中发现的文件/ etc/ rinetd.conf,除非另一个文件被指定使用- c命令行选项。
Linux下简单好用的工具rinetd,实现端口映射/转发/重定向
下载以后解压安装
tar zxvf rinetd.tar.gz
make
make install
编辑配置
vi /etc/rinetd.conf
0.0.0.0 8080 172.19.94.3 8080
0.0.0.0 2222 192.168.0.103 3389
1.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

作者: voostar   发布时间: 2011-07-28

LZ,这么搞的目的呢???怕人家黑网站?

作者: dn833   发布时间: 2011-07-28

热门下载

更多