关于docker容器内部无法联网的解决方案之一

Docker 容器访问外部网络的流程是:容器流量 → 宿主机的 Docker 桥接网络(172.18.0.0/16)→ 宿主机的 FORWARD 链转发 → 宿主机网关(192.168.13.1)→ 外部网络

问题现象与环境说明

基本环境

  • 宿主机系统:Linux(Ubuntu/Debian 系)
  • 宿主机内网 IP:192.168.13.2,网关:192.168.13.1
  • Docker 网络:通过 1Panel 创建的1panel-network(bridge 模式)
  • 网络配置:子网172.18.0.0/16,网关172.18.0.1,容器 IP 均为此网段(如172.18.0.2172.18.0.3等)

这是我的容器默认使用的docker网络,先确定网络的子网是啥,然后配置流量转发就可以了。

我的解决流程:(改成你自己的子网ip) 执行以下命令,允许容器子网(172.18.0.0/16)通过宿主机转发访问外部网络,并允许返回流量:

bash 复制代码
# 允许容器子网(172.18.0.0/16)访问外部网络(新连接和相关返回连接)
sudo iptables -I FORWARD -s 172.18.0.0/16 -j ACCEPT
sudo iptables -I FORWARD -d 172.18.0.0/16 -m state --state RELATED,ESTABLISHED -j ACCEPT

• 第一条规则:允许容器主动发起的新连接(如访问 www.bing.com)。

• 第二条规则:允许外部网络对容器的返回流量(如网页响应)。

相关推荐
duration~16 分钟前
SpringAI集成MCP
人工智能·后端·spring·ai
Java水解29 分钟前
Java最新面试题(全网最全、最细、附答案)
java·后端·面试
Java水解31 分钟前
java开发面试题(10个常问面试题含答案,亲测有效)
java·后端·面试
用户40993225021232 分钟前
如何用Prometheus和FastAPI打造任务监控的“火眼金睛”?
后端·ai编程·trae
悟纤35 分钟前
Spring Boot 实用小技巧:多级缓存(Caffeine + Redis)- 第545篇
spring boot·后端·spring
查老师41 分钟前
人在上班,突然被开源社区用户点名不要脸?我想问你,你给我刷过几个子儿?
后端·开源·github
深圳蔓延科技43 分钟前
详细学习一下 Redisson 的 `RFuture`
后端
用户4822137167751 小时前
C++——类的继承
后端
陈随易1 小时前
前端之虎陈随易:2025年8月上旬总结分享
前端·后端·程序员
MrSYJ1 小时前
UserDetailService是在什么环节生效的,为什么自定义之后就能被识别
java·spring boot·后端