| 第 1 步 | docker exec 容器 ping/curl 网关与外网,区分全断还是 DNS 问题 |
|---|---|
| 宿主转发 | sysctl net.ipv4.ip_forward=1(Docker 依赖它) |
| NAT 规则 | iptables -t nat -L POSTROUTING -n 应有 MASQUERADE |
| 宿主防火墙 | ufw/firewalld 默认可能拦 FORWARD 链 |
| 云安全组 | 出方向限制时同样表现为不通 |
逐层验证
逐层验证
docker exec myapp ip route
docker exec myapp curl -sS -m 5 https://www.example.com -o /dev/null -w '%{http_code}\n'
sysctl net.ipv4.ip_forward
iptables -t nat -S POSTROUTING | grep -i masq用 netshoot 容器做对照实验:同一宿主上其他容器能出网而某个容器不能,问题通常在该容器网络配置(自定义网络/策略)而非宿主。