关于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.2、172.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)。

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

相关推荐
邱杰47028 分钟前
数智人事系统(十七):加班核算与薪资构成
后端·github
captain37639 分钟前
Spring IoC和DI(2)
java·后端·spring
梦想很大很大1 小时前
重新思考 Workrun:AI 时代,我们还需要手动编排 Workflow 吗?
前端·人工智能·后端
2501_933923251 小时前
SpringCloud组件:Nacos服务注册快速入门
后端·spring·spring cloud·nacos
小羊没烦恼!1 小时前
深入浅出SQL Server中的死锁
java·开发语言·前端·数据库·后端·spring·c#
柠檬味拥抱1 小时前
基于 YOLO11 的海底垃圾视觉巡检系统:水下 ROV + Streamlit 全流程实战
后端
武子康1 小时前
从预约改期看 Agent 工具粒度:把不变量留在权威服务
人工智能·后端·agent
弦儿2 小时前
从零认识 Maven:依赖管理 + 项目构建 + 单元测试知识点全梳理(附 IDEA 实操)
后端
Bazingga2 小时前
多智能体编排:拆分、隔离与收敛的完整实战
后端·agent·ai编程
geovindu2 小时前
rust: Template Method Pattern
开发语言·后端·设计模式·rust·行为模式·模板方法模