veth pair


"veth pair" 指的是 Linux 中的一对虚拟以太网设备。"veth" 代表虚拟以太网。这对设备用于在 Linux 内核内的两个网络命名空间之间创建虚拟网络链接。每对设备包括两个端点:一个端点放置在一个网络命名空间中,另一个端点放置在另一个网络命名空间中。

这个虚拟网络链接允许在不同网络命名空间中的进程或容器之间进行通信,就像它们通过物理以太网电缆连接一样。它通常用于容器化和虚拟化场景,其中需要隔离和网络分割。

要创建 veth 对,您可以使用 Linux 中的 ip 命令。以下是一个基本示例:

# 创建一个 veth 对
sudo ip link add veth0 type veth peer name veth1

# 将一端移到不同的网络命名空间(例如容器)
sudo ip link set veth1 netns <namespace_id>

# 为每个端点(在各自的命名空间中)配置 IP 地址
sudo ip netns exec <namespace_id> ip addr add 192.168.1.1/24 dev veth1
sudo ip addr add 192.168.1.2/24 dev veth0

# 启用接口
sudo ip netns exec <namespace_id> ip link set veth1 up
sudo ip link set veth0 up

这个示例创建了一个名为 veth0 和 veth1 的 veth 对,将其中一个端点(veth1)移到指定的网络命名空间,并为每个端点分配了 IP 地址。然后启用接口以启用通信。

请注意,<namespace_id> 应替换为您要移动 veth 对一端的网络命名空间的实际 ID 或名称。