配置DMZ后如何获取树莓派公网IP实现外网访问Web应用
核心结论
你在树莓派上执行curl checkip.amazonaws.com返回的IP和电脑公网IP一致是完全正常的现象。同一家庭局域网下的所有联网设备,共用运营商分配的同一个出口公网IP,不存在树莓派专属的独立公网IP,你查到的这个公网IP就是外网访问时需要用的地址。
配置校验&访问操作步骤
- 第一步:确认你家宽带有公网IP
登录光猫/路由器管理后台,查看WAN口获取到的IP地址,和你curl拿到的IP做比对:- 两个IP完全一致:说明已拿到公网IP,可继续后续配置
- 两个IP不一致:说明运营商做了CGNAT(地址复用),DMZ规则无法生效,需要联系运营商申请公网IP,申请理由说需要远程访问家里的监控设备即可,多数地区可免费开通。
- 第二步:修正DMZ配置避免失效
- 先给树莓派设置静态内网IP,不要使用DHCP动态分配地址,防止树莓派重启后内网IP变动,导致DMZ规则指向错误设备
- 路由器DMZ规则中填写树莓派的静态内网IP,保存后重启路由器让规则生效
- 检查树莓派本地防火墙规则,放开Web服务监听端口的入站权限,确认Web服务在0.0.0.0地址上正常监听(不要只绑定127.0.0.1,否则外网流量无法到达服务)
- 第三步:正确测试访问
绝大多数家用路由器不支持NAT回环,同局域网内用公网IP访问服务会直接失败。测试时需要把手机断开家里WiFi,切换到蜂窝移动网络,在浏览器输入http://<你查到的公网IP>:<Web服务端口>访问即可。 - 长期使用优化
家用宽带的公网IP一般会定期自动变更,可以在树莓派上配置DDNS动态解析服务,绑定固定域名,后续直接用域名访问即可,不需要每次手动查询最新IP。
安全提示:DMZ模式会把对应内网设备的所有端口全部暴露到公网,攻击风险极高,不建议长期使用。更安全的方案是关闭DMZ,改用端口映射规则,仅把Web服务需要用到的端口单独映射到树莓派;同时做好树莓派安全加固:修改SSH默认端口、禁用SSH密码登录改用密钥认证、设置强系统密码、定期更新系统补丁。
内容的提问来源于stack exchange,提问作者user19230297
相关产品推荐
相关产品推荐

