それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

linuxで macvlan on mavlan でネストしたネットワーク・インタフェースを作ってみる。

macvlan on macvlan は動くのか

これを見ていて、ふと愚問が湧いた。 ネストしたらどうなるんだろう。

ネストできるのか興味が出たので試した。

作れる。まじか。

macvlan3 on eth0

sudo ip link add macvlan4 link macvlan3 type macvlan mode bridge

macvlan 4 on macvlan3

sudo ip link add macvlan4 link macvlan3 type macvlan mode bridge

dhcp for macvlan4

dhclient -v macvlan4

動く。

takuya@raspi-ubuntu:~$ sudo dhclient -v -r macvlan4
Killed old client process
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/macvlan4/d2:27:17:3a:41:59
Sending on   LPF/macvlan4/d2:27:17:3a:41:59
Sending on   Socket/fallback
DHCPRELEASE of 192.168.2.113 on macvlan4 to 192.168.2.1 port 67 (xid=0x24dec657)```

macvlan3/macvlan4 に同時にdhcpしてみる

41: macvlan3@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 26:c0:ec:88:cc:ec brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.113/24 brd 192.168.2.255 scope global dynamic macvlan3
       valid_lft 43186sec preferred_lft 43186sec
    inet6 fe80::24c0:ecff:fe88:ccec/64 scope link
       valid_lft forever preferred_lft forever
42: macvlan4@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether d2:27:17:3a:41:59 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.114/24 brd 192.168.2.255 scope global dynamic macvlan4
       valid_lft 43198sec preferred_lft 43198sec
    inet6 fe80::d027:17ff:fe3a:4159/64 scope link
       valid_lft forever preferred_lft forever

まじか。ネストできるんじゃん。

実験環境

takuya@raspi-ubuntu:~$ uname -a
Linux raspi-ubuntu 5.4.0-1046-raspi #50-Ubuntu SMP PREEMPT Thu Oct 28 05:32:10 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
takuya@raspi-ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:        20.04
Codename:       focal