如何从WSL2及同WiFi设备访问Windows本地MongoDB
解决WSL2及同一WiFi设备访问Windows本地MongoDB的问题
1. 修改MongoDB绑定IP配置
MongoDB默认仅允许127.0.0.1本地访问,需调整配置开放外部连接:
- 找到Windows上的MongoDB配置文件,路径一般为
C:\Program Files\MongoDB\Server\{版本号}\bin\mongod.cfg - 打开文件定位到
net区块,将bindIp值改为0.0.0.0(允许所有IP访问),或指定特定IP名单(如127.0.0.1,192.168.x.x) - 重启MongoDB服务:按下Win+R输入
services.msc,找到MongoDB服务右键选择「重启」
2. 配置Windows防火墙入站规则
防火墙默认会拦截27017端口的外部请求,需添加放行规则:
- 打开「Windows Defender防火墙」→「高级设置」→「入站规则」→「新建规则」
- 规则类型选择「端口」,下一步
- 勾选「TCP」,指定本地端口为
27017,下一步 - 选择「允许连接」,下一步
- 按需勾选「域」「专用」「公网」(测试阶段可全选),下一步
- 命名规则(如「MongoDB 27017端口放行」),完成配置
3. WSL2环境连接Windows MongoDB的两种方式
WSL2与Windows处于独立网络栈,可通过以下两种方式连接:
- 方法一:使用自动映射地址
host.docker.internal,连接字符串为mongodb://host.docker.internal:27017 - 方法二:手动获取Windows网关IP,在WSL2终端执行命令:
将得到的IP作为连接地址,即cat /etc/resolv.conf | grep nameserver | awk '{print $2}'mongodb://{网关IP}:27017
4. 同一WiFi下另一台Windows设备连接方法
- 先验证网络连通性:在目标设备的PowerShell中执行
Test-NetConnection 192.168.x.x -Port 27017,确认端口可访问 - 连接字符串直接使用Windows主机的局域网IP:
mongodb://192.168.x.x:27017,若MongoDB设置了认证,需补充信息:mongodb://用户名:密码@192.168.x.x:27017/目标数据库名?authSource=admin
常见排查步骤
- 确认MongoDB服务处于运行状态:通过
services.msc查看服务状态 - 查看MongoDB日志(默认路径
C:\Program Files\MongoDB\Server\{版本号}\log\mongod.log),排查绑定失败、连接拒绝类错误 - 用
telnet 192.168.x.x 27017测试端口是否正常开放
内容的提问来源于stack exchange,提问作者H Nazmul Hassan
相关产品推荐
相关产品推荐

