前置条件

实现目的:开发本地电脑需要连接没有外网地址的RDS,通过ECS进行转发连接到RDS数据库

客户 PC 终端可以 ssh 登录有公网的 ECS 服务器。

有公网的 ECS 服务器可以通过内网访问其他内网 ECS 服务器。

有公网的 ECS 服务器可以通过内网访问 RDS(ECS 的内网 IP 在 RDS 的白名单中)

1.1 如果是 Ubuntu 系统,可以直接使用如下指令安装:

  1. apt-get install rinetd y

1.2 下面介绍源代码安装配置方法(centos,redhat等)

1.下载解压 rinetd 软件包

  1. wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
  2. tar -xvf rinetd.tar.gz
  3. cd rinetd

2.修改编译配置

  1. sed -i 's/65536/65535/g' rinetd.c# 修改端口范围,否则会报错

3.编译安装

  1. mkdir /usr/man #需要手动创建这个目录
  2. make #在rinetd目录下make和make install
  3. make install #成功后会提示文件路径install -m 700 rinetd /usr/sbin,即程序放在此位置

4.创建配置文件

  1. cat >>/etc/rinetd.conf <<end
  2. # allow 192.168.2.*
  3. # deny 192.168.1.*
  4. # bindadress bindport connectaddress connectport
  5. 0.0.0.0 3665 xxxxx.mysql.rds.aliyuncs.com 3306 #这就是RDS的内网地址和端口号,在控制台查看
  6. logfile /var/log/rinetd.log #存放日志的地方
  7. end

5.放入开机自启动

  1. echo /usr/sbin/rinetd >>/etc/rc.local #centos6可以直接放入就行,centos7以上需要加执行权限chmod +x /etc/rc.local

6.启动

  1. /usr/sbin/rinetd -c /etc/rinetd.conf

7.检查是否有你所添加的端口

  1. netstat -lntup|grep rinetd

8.停止程序(关闭时使用)

  1. pkill rinetd

注意事项

1. rinetd.conf中绑定的本机端口必须没有被其它程序占用

2. 运行rinetd的系统防火墙应该打开绑定的本机端口

1.3 Navicat for MySQL使用通过ECS服务器连接RDS数据库

1.3.1 下载地址:

  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

进行注册

输入秘钥就可以了

1.4 使用工具连接线上RDS数据库

Rinetd 通过ECS端口转发到内网RDS的更多相关文章

  1. LCX端口转发实现内网突破

    工具:lcx.exe 原理:当目标主机仅开放了web服务,而该服务又仅能供内网用户使用,外网用户根本无法直接访问.因此想要让外网用户能能够访问局域网中的系统服务,必须进行端口映射等操作才行.其原理就是 ...

  2. rein 多平台支持的超便携端口转发与内网穿透工具

    介绍 本程序主要用于进行反向代理IP地址和端口,功能类似于 nginx 的 stream 模式和rinetd 的功能:在(1.0.5)版本开始,rein支持内网穿透,这一功能类似于frp 和ngrok ...

  3. SSH反向代理转发至内网msf

    前言 买了个便宜的 vps , 在上面装 msf 也装不上,于是想着把端口映射到内网来. 正文 拓扑如下: 首先在内网主机 B ssh -fCNR 7281:localhost:5000 root@C ...

  4. frp端口映射穿透内网

    前言 frp 是一个高性能的反向代理应用,可以轻松地进行内网穿透,对外网提供服务,支持 TCP.UDP.HTTP.HTTPS 等协议类型,并且 web 服务支持根据域名进行路由转发. Github: ...

  5. p2p-tunnel 打洞内网穿透系列(三)TCP转发访问内网web服务

    系列文章 p2p-tunnel 打洞内网穿透系列(一)客户端配置及打洞 p2p-tunnel 打洞内网穿透系列(二)TCP转发访问远程共享文件夹 p2p-tunnel 打洞内网穿透系列(三)TCP转发 ...

  6. p2p-tunnel 打洞内网穿透系列(二)TCP转发访问内网共享文件夹

    系列文章 p2p-tunnel 打洞内网穿透系列(一)客户端配置及打洞 p2p-tunnel 打洞内网穿透系列(二)TCP转发访问远程共享文件夹 p2p-tunnel 打洞内网穿透系列(三)TCP转发 ...

  7. ssh 端口转发实现外网 80 端口映射到内网 80 端口

    开发中经常需要外网服务映射到本机内网服务的需要,便于调试. 以前都是同事帮着配,这两天自己也看了一下 ssh 端口转发. 同事分分钟钟搞定的事情,自己折腾了 2 天, 真是弱爆了. 最初老想不明白一件 ...

  8. firewalld 实现nat 转发外网转发到内网 实现访问外网端口到内网

    第0步骤:  开启转发生效 [root@node178.oldboy.com ~]# cat /proc/sys/net/ipv4/ip_forward1 [root@node178.oldboy.c ...

  9. CentOS 7 下用 firewall-cmd / iptables 实现 NAT 转发供内网服务器联网

    自从用 HAProxy 对服务器做了负载均衡以后,感觉后端服务器真的没必要再配置并占用公网IP资源. 而且由于托管服务器的公网 IP 资源是固定的,想上 Keepalived 的话,需要挤出来 3 个 ...

随机推荐

  1. java源码-Semaphore源码分析

    Semaphore内部Sync对象同样也是继承AQS,跟Reentrant一样有公平锁跟非公平锁区分,但是Semaphore是基于共享锁开发,Reentrant是基于独占锁开发.主要就是初始化Sema ...

  2. json字符串转map、json数组演示

    公司项目用的IBM封装的json解析,此处采用阿里的fastjson进行演示,代码如下: package com.alphajuns.test; import com.alibaba.fastjson ...

  3. jquery中this与$(this)的用法区别

    jquery中this与$(this)的用法区别.先看以下代码: $("#textbox").hover( function() { this.title = "Test ...

  4. Tensorflow 从文件中载入训练数据

    本节包含: 用纯文本文件准备训练数据 加载文件中的训练数据 一.用纯文本文件准备训练数据 1.数据的数字化 比如,“是” —— “1”,“否” —— “0” “优”,“中”,“差” —— 1 2 3  ...

  5. 【DSP开发】【VS开发】YUV与RGB格式转换

    [视频处理]YUV与RGB格式转换 YUV格式具有亮度信息和色彩信息分离的特点,但大多数图像处理操作都是基于RGB格式. 因此当要对图像进行后期处理显示时,需要把YUV格式转换成RGB格式. RGB与 ...

  6. sqlalchemy的常用字段

    #encoding: utf-8 from sqlalchemy import create_engine,Column,Integer,String,\ Float,Boolean,DECIMAL, ...

  7. Laravel策略(Policy)示例

    场景:当前用户创建的订单,只能当前用户自己看,可以通过授权策略类(Policy)来实现 1.php artisan make:policy OrderPolicy 成功后,默认只有一个构造方法.因为涉 ...

  8. VC/MFC中的CComboBox控件使用详解

    CComboBox控件详解 CComboBox控件又称作组合框控件,其有三种形态可供选择,1.简单组合框(Simple)2.下拉组合框(Drop-down)3.下拉列表式组合框(Drop-down l ...

  9. 一个SQL注释引发的线上问题

    最近开始服务拆分,时间将近半个月.测试阶段也非常顺利,没有什么问题. 但上线之后的第二天,产品就风风火火的来找我们了,一看就是线上有什么问题.我们也不敢说,我们也不敢问,线上的后台商品忽然无法上架了, ...

  10. 走环概率问题(至今有点迷)--牛客第二场( Eddy Walker)

    思路: 概率结论题,好像属于线性递推,现在也不太懂(lll¬ω¬) #define IOS ios_base::sync_with_stdio(0); cin.tie(0); #include < ...