网卡虚拟化 Ipvlan

image.png

L2模式

添加网络命名空间net1和net2

ip netns add net1
ip netns add net2

添加link ipv1和 ipv2,类型为ipvlan,mode为L2

ip link add ipv1 link ens33 type ipvlan mode l2
ip link add ipv2 link ens33 type ipvlan mode l2

将ipv1加入到net1,ipv2加入到net2

ip link set netns net1 ipv1
ip link set netns net2 ipv2

给接口添加ip

ip netns exec  net1 ip addr add 192.168.232.11/24 dev ipv1
ip netns exec  net2 ip addr add 192.168.232.12/24 dev ipv2

使能接口

ip netns exec  net1 ip link set lo up
ip netns exec  net2 ip link set lo up
ip netns exec  net1 ip link set ipv1 up
ip netns exec  net2 ip link set ipv2 up

测试各个ip的联通性


image.png

L2模式下, 各个ipvlan之间是通的,与外部IP是通的,与物理网卡之间不通。

L3模式

image.png

添加网络命名空间net3和net4

 ip link set ipv3 netns net3
 ip link set ipv4 netns net4

添加ipvlan接口ipv3、ipv4、ipv5,type为ipvlan,mode为L3

ip link add ipv3 link ens33 type ipvlan mode l3
ip link add ipv4 link ens33 type ipvlan mode l3
ip link add ipv5 link ens33 type ipvlan mode l3

为Ipvlan接口配置地址,并up

ip netns exec net3 ip addr add 10.0.3.1/24 dev ipv3
ip netns exec net4 ip addr add 10.0.4.1/24 dev ipv4
ip add add 10.0.5.1/24 dev ipv5
ip netns exec net3 ip link set ipv3 up
ip netns exec net4 ip link set ipv4 up
ip link set ipv5 up

在各个命名空间添加路由,下一跳为ipvlan网卡

 ip netns exec net3 ip route add default dev ipv3
 ip netns exec net4 ip route add default dev ipv4
 ip route add 10.0.3.0/24 dev ipv5
 ip route add 10.0.4.0/24 dev ipv5

default命名空间可以ping通3个新加的ipvlan ip

# ping 10.0.3.1 -c1
PING 10.0.3.1 (10.0.3.1) 56(84) bytes of data.
64 bytes from 10.0.3.1: icmp_seq=1 ttl=64 time=0.048 ms
--- 10.0.3.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.048/0.048/0.048/0.000 ms
# ping 10.0.4.1 -c1
PING 10.0.4.1 (10.0.4.1) 56(84) bytes of data.
64 bytes from 10.0.4.1: icmp_seq=1 ttl=64 time=0.048 ms
--- 10.0.4.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.048/0.048/0.048/0.000 ms
# ping 10.0.5.1 -c1
PING 10.0.5.1 (10.0.5.1) 56(84) bytes of data.
64 bytes from 10.0.5.1: icmp_seq=1 ttl=64 time=0.040 ms
--- 10.0.5.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.040/0.040/0.040/0.000 ms

如果外部需要访问ipvlan的ip,则需要配置路由

$ ping 10.0.3.1
正在 Ping 10.0.3.1 具有 32 字节的数据:
请求超时。
10.0.3.1 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 3,丢失 = 1 (25% 丢失),
$ route add 10.0.3.1/24 192.168.232.110
 操作完成!
$ ping 10.0.3.1
正在 Ping 10.0.3.1 具有 32 字节的数据:
来自 10.0.3.1 的回复: 字节=32 时间<1ms TTL=64

L3S

与L3基本相似,只是可以提供更好的网络控制

你可能感兴趣的:(网卡虚拟化 Ipvlan)