rinetd 作为tcp转发工具访问内网

399 阅读2分钟

背景

项目部署在国外服务器,由于要经常访问数据库,想要本地客户端可以连接上远程内网。

过程

最开始使用 openvpn方案,也算是很常用的方案, 觉得每次开vpn也不是很方便,就找到了 rinetd 工具作为转发,开始测试

实践

主要参考了博客园文章: 代理软件rinetd

找到可以直连的跳板机,在上部署rinetd

下载安装 rinetd

本人

wget http://li.nux.ro/download/nux/misc/el7/x86_64//rinetd-0.62-9.el7.nux.x86_64.rpm 
rpm -ivh rinetd-0.62-9.el7.nux.x86_64.rpm

配置 rinetd

vim /etc/rinetd.conf  

## 0.0.0.0 3307 是本跳板机ip端口,0.0.0.0接受所有来访问3307的网络,注意云服务器要开启使用的跳板机端口
## 172.18.111.18 3306 是内网数据库服务所在的ip和端口, 
0.0.0.0 3307 172.18.111.18 3306 

启动

## 启动
/etc/init.d/rinetd start

## 修改配置重启
/etc/init.d/rinetd restart

优缺点

没有全能的工具,使用工具也要扬长避短,找到最合适的使用场景。

rinetd 优点

  1. 简单易用:Rinetd配置简单,使用方便,用户无需具备高级网络技术知识即可上手使用。
  2. 资源消耗低:Rinetd占用系统资源较少,对系统性能影响不大。
  3. 支持多客户端:Rinetd可以同时处理多个客户端的请求,避免了其他端口重定向工具单线程处理请求可能出现的瓶颈问题。
  4. 高度可定制:用户可以自定义转发规则,灵活性较高,在满足特定需求时非常有用。

rinetd 缺点

  1. 仅支持TCP协议:Rinetd只能重定向TCP协议的数据流量,不能处理UDP等其他协议。
  2. 安全性问题:由于Rinetd需要监听外部网络接口,如果不加安全措施,可能会导致安全隐患。
  3. 可能存在性能问题:Rinetd每次重定向都需要进行数据包封装和解封操作,可能会影响传输性能。

替代品:

nginx 常被使用为服务反向代理工具,它也可以配置转发网络,rinetd的缺点它全不存在, 而且一般项目中都会用到, 直接修改配置就能用,不必再引入 rinetd 增加复杂度。 下期改nginx来试试。


参考:代理软件rinetd www.cnblogs.com/huningfei/p…