文章目录
cloud
网络命名空间
AI文章摘要
qwen-turbo-latest
加载中...
网络命名空间(Network Namespace)
网络命名空间提供一个网络资源隔离空间,它包含自己的网络设备、IPv4和IPv6协议、ip路由表、ip路由规则以及防火墙规则。除了网络资源的隔离,应用程序视角下/proc/net
目录也是针对当前的命名空间而言的。
任何物理网络设备只能处在一个网络命名空间中,当该网络命名空间中最后一个程序运行退出而导致命名空间销毁时,物理设备会退回到初始网络命名空间。
# add network namespace
ip netns add <namespace-name>
# delete network namespace
ip netns delete <namespace-name>
虚拟以太网对(Veth Pair)
虚拟以太网适配器对即一对软件实现的以太网适配器,虚拟以太网对总是成对出现的,用于连接Linux下两个不同的网络命名空间。
可以类比两台物理电脑的两个物理以太网适配器,这两个以太网适配器的职责就是将两台电脑连接起来。
通过以下命令可以创建虚拟以太网适配器对,创建完成后通ip link
将可以看到两个以太网适配器,他们的名字后的@xxx
即表示对端名字。
# add veth pair
ip link add <veth-name> type veth peer name <peer-veth-name>
# delete veth pair
ip link delete <veth-name> type veth peer name <peer-name>
通过以下命令可以将虚拟以太网适配器移动到指定的网络命名空间:
ip link set <veth-name> netns <namespace-name>