工具简介
Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具。Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址/端口对。尽管rinetd使用非闭锁I/O运行作为一个单一过程,它可能重定向很多连接而不对这台机器增加额外的负担。
Rinetd官网地址 https://boutell.com/rinetd/
安装
前提:保证转发机器到被转发的tcp协议如url或ip:port通信正常
1. 源安装:
ubuntu :
sudo apt-get update sudo apt-get install rinetd
centos:
sudo yum update sudo yum install rinetd
2. 二进制安装:
安装依赖gcc:
ubuntu:
sudo apt-get install gcc
centos:
sudo yum install gcc
# 下载二进制包并安装:wget http://www.boutell.com/rinetd/http/rinetd.tar.gz tar -xf rinetd.tar.gz cd rinetd && ./configure --prefix=/usr/local/rinetd make && make install
配置服务自启:
cat >> /lib/systemd/system/rinetd.service << EOF [Unit] Description=Rinetd Daemon After=network.service Wants=network.service [Service] Type=forking PIDFile=/var/run/rinetd.pid ExecStart=/usr/local/rinetd/sbin/rinetd -c /usr/local/rinetd/etc/rinetd.conf Restart=on-failure [Install] WantedBy=multi-user.target EOF
配置文件
# 配置端口转发,可配置多个映射对:
vim /usr/local/rinetd/etc/rinetd.conf 0.0.0.0 3306 192.168.1.130 3306 logfile /var/log/rinetd.log
# 参数解释(可以是ip也可以是域名,也可以是外网ip[一般不转发到外网])
0.0.0.0 22 192.168.1.11 10022
0.0.0.0 --- 源IP
22 --- 源端口
192.168.1.11 --- 目标IP
10022 --- 目标端口
上面配置的意思是将本机22端口转发到192.168.1.11的10022端口
服务启动
systemctl daemon-reload systemctl enable rinetd.service systemctl start/stop/restart rinetd.service