Linux无内置命令直接绘制网络命名空间拓扑,需组合命令手动分析:先用ip netns list或扫描/proc/*/ns/net查命名空间,再通过ip link show识别veth pair,结合ip -n <ns> link/addr/route show验证接口状态与路由,并用brctl show或ip link show master分析网桥连接关系。

Linux 没有内置命令能直接“画出”或“列出”所有命名空间之间的网络拓扑关系——因为命名空间本身不记录连接关系,veth pair、网桥、路由等才是构成拓扑的实体。你得靠组合命令手动拼凑。
查哪些命名空间存在(netns 列表)
先确认当前有哪些网络命名空间,这是拓扑的起点:
ip netns list 只显示 /var/run/netns/ 下有符号链接的命名空间(即用 ip netns add 创建并保留的)。但很多命名空间是临时创建的(比如容器退出后残留的),ip netns list 看不到。
更全的查法是扫描所有进程的 net namespace inode:
-
ls -la /proc/[0-9]*/ns/net 2>/dev/null | awk '{print $11}' | sort -u—— 列出所有唯一 netns inode - 再用
readlink /proc/[pid]/ns/net查某个进程属于哪个 netns(例如 Docker 容器 init 进程)
查 veth pair 的两端归属(关键拓扑链路)
veth 是跨命名空间通信最常用的方式,但系统不记录哪一端连到哪个 netns —— 你得靠接口名、索引和命名空间内设备状态反推。
步骤如下:
- 用
ip link show找出所有veth*设备,记下它们的 ifindex(如56:)和 peer ifindex(peer ifindex 57) - 对每个 veth 接口,执行
ip -n <code>netns-namelink show dev veth0 2>/dev/null,看它是否存在于某命名空间中 - 若在
test1中看到veth-test1,又在主机命名空间看到veth-test2@veth-test1,说明这是一对
注意:@ 符号右侧的名字就是 peer 接口名,但该名未必在 peer 所在命名空间里真实存在(比如 peer 被重命名过),所以不能只信名字,要结合 ifindex 和 ip -n 实际验证。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
查命名空间内的路由和接口(判断连通能力)
光知道 veth 连上了,不代表能通;得确认 IP、UP 状态、路由是否配置正确。
对每个目标命名空间,运行:
-
ip -n <code>ns-nameaddr show —— 看 veth 是否有 IP、是否UP -
ip -n <code>ns-nameroute show —— 看是否有直连路由(如192.168.1.0/24 dev veth-test1 proto kernel scope link src 192.168.1.1) -
ip -n <code>ns-namelink show —— 看 lo 是否 up(很多服务依赖lo,忘了ip netns exec ns-name ip link set lo up就会 ping 不通)
特别容易漏的是:主机命名空间里 veth 的那一端如果没 up,整个链路就断了,而 ip netns list 完全不报这个错。
查网桥与转发(多命名空间互联场景)
当有 3 个以上命名空间,或要接入主机网络时,常通过网桥中转。这时拓扑不再是点对点,而是星型。
检查方法:
-
brctl show或ip link show type bridge找出网桥设备(如br0) -
ip link show master br0查哪些接口被加进该网桥(包括 veth 主机端、物理网卡等) -
ip -n <code>ns-namelink show 确认命名空间内 veth 是否连到了网桥对应端口(需配合命名约定或 ifindex 对照) - 别忘了开转发:
sysctl net.ipv4.ip_forward=1,否则即使路由表有,包也过不去
复杂点在于:一个 veth 的主机端可能既在网桥里,又被配了 IP(比如做 gateway),这种混合模式下,ip addr show 和 brctl show 输出要交叉比对,单看一个命令会误判。

















