<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>网络命名空间 on CAO ZUOHUA</title><link>https://caozuohua.github.io/tags/%E7%BD%91%E7%BB%9C%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4/</link><description>Recent content in 网络命名空间 on CAO ZUOHUA</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Mon, 14 Sep 2026 11:10:00 +0800</lastBuildDate><atom:link href="https://caozuohua.github.io/tags/%E7%BD%91%E7%BB%9C%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4/index.xml" rel="self" type="application/rss+xml"/><item><title>沙箱的屏障：深入解析 Linux 网络命名空间与容器隔离</title><link>https://caozuohua.github.io/posts/2026-09-14-linux-network-namespaces/</link><pubDate>Mon, 14 Sep 2026 11:10:00 +0800</pubDate><guid>https://caozuohua.github.io/posts/2026-09-14-linux-network-namespaces/</guid><description>&lt;h1 id="沙箱的屏障深入解析-linux-网络命名空间与容器隔离"&gt;沙箱的屏障：深入解析 Linux 网络命名空间与容器隔离&lt;/h1&gt;&#10;&lt;p&gt;在容器化时代，网络不再只是简单的物理网卡通信，而是通过 Network Namespaces (NetNS) 构建的虚拟化网络空间。对于需要处理多租户、复杂内外网流量的企业级 Agent 系统，理解这一屏障至关重要。&lt;/p&gt;&#10;&lt;h2 id="网络命名空间逻辑隔离的基石"&gt;网络命名空间：逻辑隔离的基石&lt;/h2&gt;&#10;&lt;p&gt;每一个网络命名空间都拥有一套完整的网络协议栈：独立的网卡、IP 地址、路由表、防火墙规则。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;veth pair&lt;/strong&gt;：连接命名空间的“桥梁”，一端插入 NetNS，另一端连接宿主机的网桥 (Bridge)。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Bridge (网桥)&lt;/strong&gt;：充当虚拟交换机，实现同一宿主机下不同命名空间的通信。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;iptables/netfilter&lt;/strong&gt;：通过 NAT 和转发规则，控制容器与宿主机、容器与互联网之间的流量。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="企业级-agent-的网络痛点与隔离设计"&gt;企业级 Agent 的“网络痛点”与隔离设计&lt;/h2&gt;&#10;&lt;p&gt;在设计 Agent 时，我们不仅要让它“联网”，更要实现“受控的隔离”。&lt;/p&gt;&#10;&lt;h3 id="1-复杂环境下的隔离策略"&gt;1. 复杂环境下的隔离策略&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;租户间流量切断&lt;/strong&gt;：利用不同的 NetNS 为每个租户 Agent 分配独立的虚拟网卡，通过宿主机 Bridge 的 ACL 规则彻底隔离租户流量，防止横向探测。&lt;/li&gt;&#10;&lt;li&gt;** egress 出口管控**：在容器命名空间内设置统一网关，强制所有出站流量必须经过 Agent 统一治理网关（Proxy/WAF），进行行为审计与流量清洗。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="2-流量调试与可观测性"&gt;2. 流量调试与可观测性&lt;/h3&gt;&#10;&lt;p&gt;在复杂网络环境下，Agent 经常遇到“请求发不出去”或“响应超时”，如何快速定位？&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;“旁路探测”&lt;/strong&gt;：在容器内注入 &lt;code&gt;tcpdump&lt;/code&gt; 或 &lt;code&gt;mitmproxy&lt;/code&gt;，通过 Unix Domain Socket 将抓包数据实时流转至外层 Agent 的治理工具链中，而非直接在容器内执行调试命令。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;全链路追踪&lt;/strong&gt;：在 Agent 发起请求的协议层（如 HTTP Request Header）植入 &lt;code&gt;X-Trace-ID&lt;/code&gt;，通过宿主机侧的 &lt;code&gt;eBPF&lt;/code&gt; 工具监听网络流量，实现从容器内到宿主机的全链路流量关联。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="实践agent-层的网络调试架构"&gt;实践：Agent 层的网络调试架构&lt;/h2&gt;&#10;&lt;p&gt;不要在生产容器里进行危险的操作。推荐方案：&lt;/p&gt;</description></item></channel></rss>