脚本专栏 
首页 > 脚本专栏 > 浏览文章

linux下使用rinetd来实现端口转发

(编辑:jimmy 日期: 2024/11/15 浏览:3 次 )

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

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

工具主页: http://www.boutell.com/rinetd/
软件下载,解压安装

复制代码 代码如下:
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
tar zxvf rinetd.tar.gz
make
make install

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

复制代码 代码如下:
[root@localhost iso]# cat   /etc/rinetd.conf
 
1.1.1.1 11 2.2.2.1 3389
1.1.1.1 12 2.2.2.2 3389
1.1.1.1 13 2.2.2.3 22
1.1.1.1 14 2.2.2.4 80
allow *.*.*.*
logfile /var/log/rinetd.log

启动程序

复制代码 代码如下:
pkill rinetd  ##关闭进程
rinetd -c /etc/rinetd.conf  ##启动转发

把这条命令加到/etc/rc.local里面就可以开机自动运行
查看状态

复制代码 代码如下:
netstat -antup

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

复制代码 代码如下:
WAN_IP=”202.106.0.20″
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 2533 -j DNAT –to 192.168.1.88:80
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端口,以便对方收到
数据包之后能正确返回。

以上所述就是本文的全部内容了,希望大家能够喜欢。

上一篇:Linux Shell脚本系列教程(三):变量和环境变量
下一篇:Linux Shell脚本系列教程(二):终端打印命令详解