linux端口映射转发工具rinetd

linux端口映射转发工具rinetd – wilim2009的个人空间 – 开源中国

官网地址http://www.boutell.com/rinetd

软件下载
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz

解压安装
tar -zxvf rinetd.tar.gz

进入到解压后rinetd目录
make&&make install

安装的时候报错

cannot create regular file `/usr/man/man8′: No such file or directory

手动创建该目录再次安装

mkdir -p /usr/man/man8

编辑配置,默认没有/etc/rinetd.conf这个文件需要手动创建
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

加入开机启动:
    vi /etc/rc.d/rc.local
    加入/usr/sbin/rinetd

需要注意
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

日志加入:

在rinetd.conf文件末尾加入:

allow *.*.*.* 

logfile /var/log/rinetd.log