阿里云数据库MongoDB,处于安全考虑是不允许外网连接的,那接下来就看怎么实现公网访问。
1、思路分析
既然无法直接使用公网(俗称的外网都是一个意思),那就使用端口转发的形式,把可以访问的一台服务器的公网ip和端口转到MongoDB的服务器即可,接下来我们使用rinetd的方式实现端口转发。
2、在服务器上安装rinetd
下载安装包
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
解压安装包并进入安装包根目录
tar -xvf rinetd.tar.gz
cd rinetd/
修改 rinetd.c
sed -i 's?65536?65535?g' rinetd.c
创建必须的目录并安装依赖
mkdir -p /usr/man/man8
yum install gcc
编译安装
make
make install
3、配置rinetd
编辑配置文件 /etc/rinetd.conf ,如果没有则新建文件,并写入配置内容,使用MongoDB公网连接地址
0.0.0.0 3717 dds-***.mongodb.rds.aliyuncs.com 3717
logfile /var/log/rinetd.log
4、启动、关闭rinetd
启动:rinetd
关闭:killall rinetd
查看运行情况:netstat -tanulp|grep rinetd
显示下面信息就说明运行成功了
tcp 0 0 0.0.0.0:3717 0.0.0.0:* LISTEN 15185/rinetd