veth 是虚拟以太网卡 ( Virtual Ethemet )的缩写。
veth 设备总是成对的,因此我们称之为 veth pair。 veth pair 常被用于 跨 network namespace 之间的通信,即分别将 veth pair 的两端放在不同的 namespace 里
仅有veth pair设备,容器是无法访问外部网络的。
从容器发出的数据包,实际上是直接进了 veth pair 设备的协议栈。
如果容器需要访问网络,则需要使用网桥等技术将 veth pair 设备接收的数据包转发出去。
sudo ip link add veth0 type veth peer name veth1
创建的 veth pair 在主机上表现为2块网卡,默认会创建在当前进程的命名空间内
这里的MTU默认是 1500,
可以看到默认的初始状态是 down,这就是为什么上一节中我们需要 设置它为 up
lizhe@ubuntu:~$ sudo ip link set dev veth0 up
lizhe@ubuntu:~$ sudo ip link set dev veth1 up
配置ip
sudo ifconfig veth0 10.10.10.1/24
sudo ifconfig veth1 10.10.10.2/24
如何查看某个 veth pair 两端的设备