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

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 �Cdport 2533 -j DNAT �Cto 192.168.1.88:80
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.88 -p tcp �Csport 80 -j SNAT �Cto $WAN_IP:2533

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

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

你可能感兴趣的:(linux下使用rinetd来实现端口转发)