代码改变世界

CentOS下用rinetd做端口转发

2015-01-15 18:24  游乐场123  阅读(597)  评论(0编辑  收藏  举报

windows下的端口转发一般用的是自带的nat和porttunnel、portmap

linux下端口转发映射的程序叫rinetd,启动方法rinetd -c /etc/rinetd.conf  ,pkill rinetd  关闭进程

工具主页:http://www.boutell.com/rinetd/

软件下载,解压安装


  1. wget http://www.boutell.com/rinetd/http/rinetd.tar.gz  

  2. tar zxvf rinetd.tar.gz  

  3. make  

  4. make install 

把1.1.1.1的11端口映射到2.2.2.2的3389端口,配置文件如下

[root@localhost iso]#cat   /etc/rinetd.conf

  1. 1.1.1.1 11 2.2.2.1 3389  

  2. 1.1.1.1 12 2.2.2.2 3389  

  3. 1.1.1.1 13 2.2.2.3 22  

  4. 1.1.1.1 14 2.2.2.4 80  

  5. allow *.*.*.*  

  6. logfile /var/log/rinetd.log 

启动程序
pkill rinetd  ##关闭进程
rinetd -c /etc/rinetd.conf  ##启动转发
把这条命令加到/etc/rc.local里面就可以开机自动运行

查看状态
netstat -antup


本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2011-01/31287.htm 

 

如果想用iptables实现的话,可以用一下命令。

  1. WAN_IP=”202.106.0.20″  

  2. iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 2533 -j DNAT –to 192.168.1.88:80  

  3. iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.88 -p tcp –sport 80 -j SNAT –to $WAN_IP:2533 


第一句定义一个变量
第二句实现对端口为2533的请求转发到192.168.1.88的80端口
第三句修改从etho输出的源地址为192.168.1.88,端口为80的数据包的源地址为本机的2533端口,以便对方收到
数据包之后能正确返回。