业务情景
两台服务器,一台阿里云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
|