Rinetd 通过ECS端口转发到内网RDS
前置条件
实现目的:开发本地电脑需要连接没有外网地址的RDS,通过ECS进行转发连接到RDS数据库
客户 PC 终端可以 ssh 登录有公网的 ECS 服务器。
有公网的 ECS 服务器可以通过内网访问其他内网 ECS 服务器。
有公网的 ECS 服务器可以通过内网访问 RDS(ECS 的内网 IP 在 RDS 的白名单中)
1.1 如果是 Ubuntu 系统,可以直接使用如下指令安装:
apt-get install rinetd –y
1.2 下面介绍源代码安装配置方法(centos,redhat等)
1.下载解压 rinetd 软件包
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz tar -xvf rinetd.tar.gz cd rinetd
2.修改编译配置
sed -i 's/65536/65535/g' rinetd.c# 修改端口范围,否则会报错
3.编译安装
mkdir /usr/man #需要手动创建这个目录 make #在rinetd目录下make和make install make install #成功后会提示文件路径install -m 700 rinetd /usr/sbin,即程序放在此位置
4.创建配置文件
cat >>/etc/rinetd.conf <<end # allow 192.168.2.* # deny 192.168.1.* # bindadress bindport connectaddress connectport 0.0.0.0 3665 xxxxx.mysql.rds.aliyuncs.com 3306 #这就是RDS的内网地址和端口号,在控制台查看 logfile /var/log/rinetd.log #存放日志的地方 end
5.放入开机自启动
echo /usr/sbin/rinetd >>/etc/rc.local #centos6可以直接放入就行,centos7以上需要加执行权限chmod +x /etc/rc.local
6.启动
/usr/sbin/rinetd -c /etc/rinetd.conf
7.检查是否有你所添加的端口
netstat -lntup|grep rinetd
8.停止程序(关闭时使用)
pkill rinetd
注意事项
1. rinetd.conf中绑定的本机端口必须没有被其它程序占用
2. 运行rinetd的系统防火墙应该打开绑定的本机端口
1.3 Navicat for MySQL使用通过ECS服务器连接RDS数据库
1.3.1 下载地址:
https://pan.baidu.com/s/1o7OwjFG?errno=0&errmsg=Auth%20Login%20Sucess&&bduss=&ssnerror=0&traceid=#list/path=%2F
注册码:NAVH-WK6A-DMVK-DKW3
1.3.2 安装使用Navicat
找到下载的文件打开navicat.exe
进行注册
输入秘钥就可以了