在Ubuntu上配置MongoDB的防火墻規則,通常涉及使用ufw
(Uncomplicated Firewall)或iptables
。以下是使用這兩種方法的步驟:
ufw
安裝 ufw
(如果尚未安裝):
sudo apt update
sudo apt install ufw
啟用 ufw
:
sudo ufw enable
允許MongoDB的默認端口(27017):
sudo ufw allow 27017/tcp
檢查防火墻狀態:
sudo ufw status
iptables
允許MongoDB的默認端口(27017):
sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
保存 iptables
規則(Ubuntu 16.04及更高版本):
sudo apt install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
檢查 iptables
規則:
sudo iptables -L -n
為了進一步提高安全性,建議配置MongoDB只綁定到本地地址(127.0.0.1),這樣只有本地連接才能訪問MongoDB。
編輯MongoDB配置文件:
sudo nano /etc/mongod.conf
找到并修改bindIp
設置:
net:
port: 27017
bindIp: 127.0.0.1
重啟MongoDB服務:
sudo systemctl restart mongod
檢查MongoDB是否只綁定到本地地址:
sudo netstat -tuln | grep 27017
輸出應顯示MongoDB只監聽127.0.0.1:27017
。
嘗試從遠程機器連接MongoDB:
mongo --host <遠程IP地址> --port 27017
如果配置正確,應該會收到連接拒絕的錯誤。
通過以上步驟,你應該能夠在Ubuntu上成功配置MongoDB的防火墻規則,并確保其安全性。