Docker容器内部通过防火墙iptables限制出站流量 1. 启动容器# 启动一个交互式容器授予 NET_ADMIN 和 NET_RAWping 需要dockerrun-it--rm--namenginx-test\--cap-addNET_ADMIN --cap-addNET_RAW\ubuntu:22.04bash2. 在容器内安装必要工具# amd64修改镜像源加速可选sed-is/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g/etc/apt/sources.listsed-is/security.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g/etc/apt/sources.list# arm64修改镜像源加速可选sed-is/ports.ubuntu.com/mirrors.tuna.tsinghua.edu.cn\/ubuntu-ports/g/etc/apt/sources.listaptupdateaptinstall-ynginx iptables iputils-pingcurl3. 启动 nginx 服务作为背景服务servicenginx start# 或使用 nginx 二进制直接启动4. 测试初始连通性未限制前# ping 内网主机应该成功ping-c3192.168.1.100# ping 外网应该成功如果宿主机可上网ping-c38.8.8.85. 配置 iptables 规则限制访问内网# 在 OUTPUT 链添加规则丢弃目标为内网网段的数据包iptables-AOUTPUT-d192.168.1.0/24-jDROP6. 验证规则生效# ping 内网主机应该不成功ping-c3192.168.1.100# ping 外网应该成功如果宿主机可上网ping-c38.8.8.87. 删除规则可选# 在 OUTPUT 链删除规则放行目标为内网网段的数据包iptables-DOUTPUT-d192.168.1.0/24-jDROP8. 验证规则生效可选# ping 内网主机应该成功ping-c3192.168.1.100# ping 外网应该成功如果宿主机可上网ping-c38.8.8.8