简单端口映射、转发、重定向工具-Rinetd

2023-12-13 23:48

本文主要是介绍简单端口映射、转发、重定向工具-Rinetd,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、简介

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

 

二、安装Rinetd

环境说明:

 

 

公司开发人员需要使用Navicat连接阿里云RDS数据库,官方只有网页的操作界面,用着不习惯。

之前的想法是在ECS主机安装×××,客户端进行拨号,来连接阿里云RDS数据库,后来发现总是无法打开表,非常慢,他们建议使用rinted,后来进过测试,可以打开表,而且速度很快。

 

安装

wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
tar -zxvf rinetd.tar.gz -C /usr/src
cd /usr/src/rinetd
sed -i 's/65536/65535/g' rinetd.c (修改端口范围,否则会报错)
mkdir /usr/man
make && make install

 

创建配置文件

cat >>/etc/rinetd.conf <<end
# allow 192.168.2.*
# deny 192.168.1.*
# bindadress bindport connectaddress connectport
0.0.0.0 3306 a.rds.aliyuncs.com 3306
#logfile /var/log/rinetd.log
end

 

添加开机自启动

echo rinetd >>/etc/rc.local

 

启动服务

rinetd

 

rinetd启动后,就已经可以通过云服务器的3306端口连接到处于内网模式的xxx rds数据库了
除了这个场景,其它的内网端口转发也都可以(由于FTP协议相对特殊,无法实现转发)


配置文件中可以对某个IP或者IP段进行允许/拒绝,藉此提高内网端口的安全性;

如果二者冲突,测试的结果来看是拒绝优先。

 

三、多端口配置

上面配置只是配置一个RDS,如果有多个,需要添加端口号

vi /etc/rinetd.conf

内容如下:

# allow 192.168.2.*
# deny 192.168.1.*
# bindadress bindport connectaddress connectport
0.0.0.0 3306 a.rds.aliyuncs.com 3306
0.0.0.0 3307 b.rds.aliyuncs.com 3306
0.0.0.0 3308 c.rds.aliyuncs.com 3306
#logfile /var/log/rinetd.log

 

重启服务

pkill rinetd
rinetd

 

测试连接

使用mysql客户端进行测试。注意连接第2台和第3台的时候,更改下端口号。

这样任何IP地址都可以连接了,这样不安全,最好做下防火墙,针对外网卡,只允许公司的网络访问。

然后家里连接的时候,先拨×××,用内网连接。

 

本文参考链接:

https://blog.51cto.com/xiao987334176/1643856

 

这篇关于简单端口映射、转发、重定向工具-Rinetd的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/490391

相关文章

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

Java中基于注解的代码生成工具MapStruct映射使用详解

《Java中基于注解的代码生成工具MapStruct映射使用详解》MapStruct作为一个基于注解的代码生成工具,为我们提供了一种更加优雅、高效的解决方案,本文主要为大家介绍了它的具体使用,感兴趣... 目录介绍优缺点优点缺点核心注解及详细使用语法说明@Mapper@Mapping@Mappings@Co

使用Python实现图片和base64转换工具

《使用Python实现图片和base64转换工具》这篇文章主要为大家详细介绍了如何使用Python中的base64模块编写一个工具,可以实现图片和Base64编码之间的转换,感兴趣的小伙伴可以了解下... 简介使用python的base64模块来实现图片和Base64编码之间的转换。可以将图片转换为Bas

使用Java实现一个解析CURL脚本小工具

《使用Java实现一个解析CURL脚本小工具》文章介绍了如何使用Java实现一个解析CURL脚本的工具,该工具可以将CURL脚本中的Header解析为KVMap结构,获取URL路径、请求类型,解析UR... 目录使用示例实现原理具体实现CurlParserUtilCurlEntityICurlHandler

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

Python实现文件下载、Cookie以及重定向的方法代码

《Python实现文件下载、Cookie以及重定向的方法代码》本文主要介绍了如何使用Python的requests模块进行网络请求操作,涵盖了从文件下载、Cookie处理到重定向与历史请求等多个方面,... 目录前言一、下载网络文件(一)基本步骤(二)分段下载大文件(三)常见问题二、requests模块处理