mongodb bindip是監聽,不是防火牆的白名單ip
阿新 • 來源:網路 • 發佈:2021-02-02
bind/繫結的含義,這裡是說服務監聽埠的繫結,而不是你從外網訪問時的IP繫結身份驗證。服務監聽埠的繫結,必須在本機(系統範圍)內的網路IP上,所以你繫結主機外網IP和你客戶端IP是不行的,會報錯。
netstat -pano | grep 27017

正確的問題
問:關於bindIP,我的理解是:將mongo服務啟動到對應的IP地址上。
那既然如此,如果我設定bindIP: 127.0.0.1 就是啟動到本地,那為什麼別的主機就沒法訪問呢?如果我設定成bindIP: 0.0.0.0 又是什麼含義呢?如果我要限制別的IP訪問,只能通過防火牆等其他方式而非 bindIP?
答:最基本的 TCP/IP 裡 Socket(套接字)五元組概念,這個瞭解嗎?不瞭解的話說明上學的時候沒好好聽課。
bind 指定的是其中二元,即本機地址和本機埠。一臺主機可以有多個 IP 地址,多個網絡卡的且不提,單個網絡卡的還分別有 127.0.0.1(即迴環地址)、子網地址(如同時處在多個子網下則子網地址也不唯一)、公網地址。
0.0.0.0 實際等效於萬用字元 *,代表任意地址。
修改 bind 即代表對五元組做出限制。
獲取這裡取名 listen,更為貼切。
希望能解決您碰到的問題,有問題可以隨時留言區與我聯絡。
