阿里云ECS linux通过rinetd 端口转发来访问内网服务

时间:2023-03-08 16:10:40

一、场景说明:

可以通过端口映射的方式,来通过具有公网的云服务器 ECS 访问用户名下其它未购买公网带宽的内网 ECS 上的服务。端口映射的方案有很多,比如 Linux 下的 SSH Tunnel、rinetd,Windows 下的 portmap 等,本文简要介绍 rinetd 的配置方法

二、rinetd配置方法:

ubuntu系统,可以直接一键安装(建议此种方式,简单快速):

apt-get install rinetd -y

源码安装配置方法:

1、下载并解压rinetd软件包:

wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&&cd rinetd

2、修改编译配置:

sed -i ‘s///g’ rinetd.c# 修改端口范围,否则会报错

3、编译安装:

mkdir /usr/man&&make&&make install

4、创建配置文件:

vim  /etc/rinetd.conf   添加:

0.0.0.0 11702  172.17.8.67 3306
logfile /var/log/rinetd.log 绑定的地址 绑定的端口 转发的地址 转发的端口
0.0.0.0 11702 172.17.8.67 3306 ps:需要确认绑定的端口11702未被使用

5、启动使用:

rinetd -c  /etc/rinetd.conf
ps:需要确认进程中没有rinetd:ps ax | grep rinetd | grep -v grep,如果有的话,需要删除该进程:pkill rinetd
rinetd 启动后,就已经可以通过云服务器的 11702 端口连接到处于内网模式的 3306端口的MySQL 数据库了。除了这个场景,其它的内网端口转发配置也类似。不过,由于FTP 协议端口是随机的,所以无法通过此方法实现转发。
另外为了提高安全性,可在安全组里配置允许拒绝策略。