公网不能访问阿里云ECS服务器上的MongoDB解决方案


业务情景

两台服务器,一台阿里云ECS云服务器(专用网络),另一台是阿里云数据库MongoDB,处于安全考虑MongoDB是不运行外网连接的,那接下来就看怎么实现公网访问。

看到上面红色的网络类型描述,有些人可能已经看出问题所在了,小小的提示:问题出现在开放端口上!

专用网络和经典网络的大致区别可以用一句话讲明白:专用网络更安全,需要设置和配置的东西比较多,适合精通网络的高手;经典网络使用更方便,适合更适合小白用户,使用起来更简单方便,不用繁杂的配置;

思路分析

既然无法直接使用公网(俗称的外网都是一个意思),那就使用端口转发的形式,把可以访问的一台服务器的公网ip和端口转到MongoDB的服务器即可,接下来我们使用rinetd的方式实现端口转发。

 

Centos6.9

1、安装rinetd

分别执行下面命令:

第一步: wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&&cd rinetd
第二步: sed -i 's/65536/65535/g' rinetd.c
第三步: mkdir /usr/man&&make&&make install

 

2、配置端口映射

打开文件/etc/rinetd.conf,配置内容:

0.0.0.0 3717 172.xxx.xxx.xxx 3717
logfile /var/log/rinetd.log

 

3、启动/关闭 rinetd

启动:rinetd
关闭:killall rinetd

 

4、查看运行情况

 

netstat -tanulp|grep rinetd

 

显示:tcp        0      0 0.0.0.0:3717            0.0.0.0:*               LISTEN      4270/rinetd

 

 

设置阿里云安全组端口:3717

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM