工具简介

Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具。

Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址/端口对。尽管rinetd使用非闭锁I/O运行作为一个单一过程,它可能重定向很多连接而不对这台机器增加额外的负担。

安装

前提:保证转发机器到被转发的tcp协议如url或ip:port通信正常

1. 源安装

  • ubuntu :

1

2

sudo apt-get update

sudo apt-get install rinetd

  • centos:

1

2

sudo yum update

sudo yum install rinetd

2. 二进制安装

安装依赖gcc:

  • ubuntu:

1

sudo apt-get install gcc

  • centos:

1

sudo yum install gcc

# 下载二进制包并安装:

1

2

3

4

5

6

7

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

配置服务自启:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

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

配置文件

# 配置端口转发,可配置多个映射对:

1

2

3

4

5

vim /usr/local/rinetd/etc/rinetd.conf

0.0.0.0 3306 192.168.1.130 3306

  

logfile /var/log/rinetd.log

# 参数解释(可以是ip也可以是域名,也可以是外网ip[一般不转发到外网]) 

1

2

3

4

5

6

7

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端口

服务启动

1

2

3

systemctl  daemon-reload

systemctl  enable rinetd.service

systemctl  start/stop/restart rinetd.service

总结

以上为个人经验,希望能给大家一个参考



 

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐