天天看點

公網通路阿裡雲資料庫MongoDB——填坑筆記

業務情景

兩台伺服器,一台阿裡雲ECS雲伺服器(專用網絡),另一台是阿裡雲資料庫MongoDB,處于安全考慮MongoDB是不運作外網連接配接的,那接下來就看怎麼實作公網通路。

看到上面紅色的網絡類型描述,有些人可能已經看出問題所在了,小小的提示:問題出現在開放端口上!

專用網絡和經典網絡的大緻差別可以用一句話講明白:專用網絡更安全,需要設定和配置的東西比較多,适合精通網絡的高手;經典網絡使用更友善,适合更适合小白使用者,使用起來更簡單友善,不用繁雜的配置;

思路分析

既然無法直接使用公網(俗稱的外網都是一個意思),那就使用端口轉發的形式,把可以通路的一台伺服器的公網ip和端口轉到MongoDB的伺服器即可,接下來我們使用rinetd的方式實作端口轉發。

具體步驟

rinetd的安裝方式有兩種,如果是Ubuntu系統,可用apt-get install rinetd -y安裝.

下面重點介紹源碼安裝

1、安裝rinetd

分别執行下面指令:

1. wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&&cd rinetd
2. sed -i 's/65536/65535/g' rinetd.c
3. mkdir /usr/man&&make&&make install      

2、配置端口映射

打開檔案/etc/rinetd.conf,配置内容:

1 0.0.0.0 3717 MongoDB的連結位址 3717
2 logfile /var/log/rinetd.log      

0.0.0.0表示本機的所有ip.

如圖:

公網通路阿裡雲資料庫MongoDB——填坑筆記

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

如上内容,顯示是運作正常的。

遇到的坑

經過如上的配置之後,使用公網連接配接還是失敗了,通路不了!筆者經過數次改配置,反複啟動ip,還是無果,于是感覺進坑了!

公網通路阿裡雲資料庫MongoDB——填坑筆記

問題處理

經過筆者反複排除,使用telnet等手段,分析得出3717的端口是問題的,于是爬文檔,發現如果伺服器是專用網絡的話是需要手動設定開放端口的。

具體操作如下:雲伺服器ECS => 安全組規則 => 添加安全組規則 => 如方向配置端口範圍3717/3717,如下:

公網通路阿裡雲資料庫MongoDB——填坑筆記

經過配置之後,使用MongoDB用戶端連接配接竟然成功了,如圖:

公網通路阿裡雲資料庫MongoDB——填坑筆記

開森

公網通路阿裡雲資料庫MongoDB——填坑筆記

參考:https://help.aliyun.com/knowledge_detail/39952.html

公網通路阿裡雲資料庫MongoDB——填坑筆記

如果本文對你有所幫助,請打賞——1元就足夠感動我:)

公網通路阿裡雲資料庫MongoDB——填坑筆記
公網通路阿裡雲資料庫MongoDB——填坑筆記

聯系郵箱:[email protected]

我的GitHub:

https://github.com/vipstone

關注公衆号:

公網通路阿裡雲資料庫MongoDB——填坑筆記

作者:

王磊

出處:

http://vipstone.cnblogs.com/

本文版權歸作者和部落格園共有,歡迎轉載,請标明出處。