在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的防火墙规则,并确保其安全性。