2. ipvlan
macvlan是有一些局限性的,ipvlan也能够解决macvlan的一些限制。
macvlan和ipvlan虚拟网络模型提供的功能看起来差不多。macvlan存在一些先天不足:
- 无法支持大量的mac地址
- 无法工作在无线网络环境中
2.1 ipvlan介绍
ipvlan也是从一个主机的接口虚拟出多个网络接口。区别在于ipvlan的所有虚拟接口都是用相同的mac地址,而ip地址却各不相同。因为共享mac地址,所以DHCP的场景一般会使用mac地址作为机器的标识。在macvlan的场景下,客户端动态获取IP的时候需要配置唯一的clientID,并且DHCP服务器也要使用作为机器的标识而不是mac地址。
- linux 3.19开始支持ipvlan,4.2+docker才能稳定的支持ipvlan。
2.1.1 mode L2
IPvlan有L2,L3两种模式,一个父接口只能选择其中一种模式。
ipvlan l2 和macvlan 的bridge 很相似。
[root@node2 ~]# nsenter -t 29159 -n
用法:
nsenter [options] <program> [<argument>...]
Run a program with namespaces of other processes.
选项:
-t, --target <pid> 要获取名字空间的目标进程
-m, --mount[=<file>] enter mount namespace
-u, --uts[=<file>