简单端口映射、转发、重定向工具-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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix