Linux安装rinetd实现TCP/UDP端口转发

2021/12/26 12:00:52      点击:
这篇文章以CentOS 7为例,复制下面的命令输入,一行一个:
#安装依赖
yum -y install gcc gcc-c++ make automake
#下载rinetd
wget https://github.com/samhocevar/rinetd/releases/download/v0.70/rinetd-0.70.tar.gz
#解压
tar -zxvf rinetd-0.70.tar.gz
#进入目录
cd rinetd-0.70
#编译安装
./bootstrap
./configure
make && make install

安装后,可以输入rinetd -v查看当前版本。
设置TCP端口转发
#新建rinetd配置文件
vi /etc/rinetd.conf
#填写如下内容
0.0.0.0 2018 11.22.33.44 2019
#启动rinetd
rinetd -c /etc/rinetd.conf

rinetd配置文件的格式如下:

0.0.0.0:源IP
2018:源端口
11.22.33.44:目标IP
2019:目标端口
启动后可以输入netstat -apn|grep 'rinetd'查看是否运行正常

从0.70版本开始rinetd已经支持UDP转发,写法如下:
127.0.0.1   8000/udp  192.168.1.2     8000/udp

创建systemd服务
为了方便管理,我们可以为rinetd编写一个systemd服务
#创建rinetd服务
vi /etc/systemd/system/rinetd.service

[Unit]
Description=rinetd
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/sbin/rinetd -c /etc/rinetd.conf

[Install]
WantedBy=multi-user.target

#启动rinetd
systemctl start rinetd
#设置开机启动
systemctl enable rinetd
#停止rinetd
systemctl stop rinetd
#重启
systemctl restart rinetd