使用rinetd让ecs访问阿里内网RDS服务器

背景:

    由于阿里云RDS内网和外网只能选择其中一,并且内网流量是全部免费的,相比较对外网来说是快了好多倍,大多数的连接都是选择使用内网来连接RDS数据库的。
但是如果我们想通过外网访问和管理内网的RDS的怎么来实现尼?
我们可以使用rinetd来实现ecs访问rds服务器。 

下载

wget http://www.linuxboy.net/linux/rc/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&&cd rinetd  
sed -i 's/65536/65535/g' rinetd.c  

安装

[root@pds-web-01 rinetd]# mkdir /usr/man && make && make install  
cc -DLINUX -g -c -o rinetd.o rinetd.c  
rinetd.c:176: warning: conflicting types for built-in function ‘log’  
cc -DLINUX -g -c -o match.o match.c  
gcc rinetd.o match.o -o rinetd  
install -m 700 rinetd /usr/sbin  
install -m 644 rinetd.8 /usr/man/man8  
[root@pds-web-01 rinetd]#  

查看配置文件

[root@pds-web-01 ~]# cat /etc/rinetd.conf
# allow 121.43.152.*
# allow 121.40.166.*
0.0.0.0 3307 ********.mysql.rds.aliyuncs.com 3306   内网地址用*号代替,可以替换成自己的RDS地址
logfile /var/log/rinetd.log  
[root@pds-web-01 ~]#  

启动服务

rinetd  

查看端口

[root@pds-web-01 ~]# netstat -tlnp | grep 3307  
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 1626/rinetd  
[root@pds-web-01 ~]#  

测试

mysql -h121.40.166.* -updsdb -poSZZzE7ursUy3i06 -P3307  -H后面就是主机的IP地址
OpsNotes wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
坚持原创技术分享,您的支持将鼓励我继续创作!