linux shell

关注公众号 jb51net

关闭
首页 > 脚本专栏 > linux shell > rinetd端口转发方式

rinetd实现端口转发方式

作者:咕咚杨

Rinetd是一个用于重定向TCP连接的工具,适用于Unix和Linux系统,它通过配置文件`/etc/rinetd`来指定源地址/端口对和目标地址/端口对,从而实现端口转发,安装方式包括源码安装和二进制安装,并且可以通过配置文件灵活设置多个转发规则

工具简介

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

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

安装

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

1. 源安装

sudo apt-get update
sudo apt-get install rinetd
sudo yum update
sudo yum install rinetd

2. 二进制安装

安装依赖gcc:

sudo apt-get install gcc 
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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文