Linux下端口映射工具rinetd

Linux下简单好用的工具rinetd,实现端口映射/转发/重定向

软件下载
wget https://github.com/samhocevar/rinetd/releases/download/v0.73/rinetd-0.73.tar.gz

解压安装
tar -xvzf rinetd-0.73.tar.gz
cd rinetd-0.73
yum install -y gcc gcc-c++ autoconf automake build-essential 安装依赖
./bootstrap
./configure
make && make install
rinetd –version 查看安装结果

编辑配置
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

 

rpm安装方式

网上有人用源码包编译了rpm安装包,联网的情况下我们可以直接配置yum源安装,离线的情况下我们可以将下载的rpm包拷贝到无网的服务器,因为主包没有依赖,安装显得异常简单方便。

配置yum仓库安装

#  vim /etc/yum.repos.d/nux-misc.repo

####################################################

[nux-misc]

name=Nux Misc

baseurl=http://li.nux.ro/download/nux/misc/el7/x86_64/

enabled=0

gpgcheck=1

gpgkey=http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

#######################################################

# yum  -y install  rinetd  –disablerepo=”*”  –enablerepo=nux-misc

# wget  http://li.nux.ro/download/nux/misc/el7/x86_64//rinetd-0.62-9.el7.nux.x86_64.rpm

# rpm  -ivh  rinetd-0.62-9.el7.nux.x86_64.rpm

# rpm -ql  rinetd

# cat  /etc/rc.d/init.d/rinetd

# cat /etc/rinetd.conf

# /usr/sbin/rinetd  –help

#  /usr/sbin/rinetd  -v

# systemctl status rinetd