それマグで!

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

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

systemd-networkdでVLANを作る

networkd で VLAN インターフェースを作ろう

eth0 の設定に書いた。タグVLANをリッスンするインターフェースを作ろう。networkd の設定で。

networkd の設定は、3つファイルを使った。

systemd-networkd は設定がバラけるので管理が面倒です。そのうちnetplanに書き直そうと思う。

/etc/systemd/network/01-eth0.network

今回は、mavlan のひとつで vlan をリッスンする。

[Match]
Name=eth0

[Network]
MACVLAN=macvlan0
MACVLAN=macvlan1
VLAN=vlan11 # vlanインターフェース名称
LinkLocalAddressing=no

/etc/systemd/network/03-vlan11.network

[Match]
Name=vlan11 # インターフェース名称を指定

[Network]
DHCP=yes

/etc/systemd/network/03-vlan11.netdev

VLAN IDを設定する。

[NetDev]
Name=vlan11 # インターフェース名称
Kind=vlan

[VLAN]
Id=11 # tag の番号

再起動

ubuntu なので、この他にも netplanに設定があるので念の為。

sudo netplan --debug generate
sudo netplan --debug apply

再起動

sudo systemctl restart networkd-dispatcher.service

VLANで通信を確認

tcpdump -e で パケットとVLAN ID を確認。

f:id:takuya_1st:20211129183859p:plain

出来上がった。ネットワーク設定

だんだんカオスになってきた。。。raspi4 はよく働きますね。

f:id:takuya_1st:20211129184109p:plain

図のCPUってのは、IPアドレスを振ってるインターフェースを明確にするために、便宜的に書いてる感じです。

CPU接続してる=IPアドレス割当してる。なので、CPUと接続してる=フィルタリングかかってるであり、CPU接続してる=フォワード設定に従う=ルーティングテーブルを使う でもあります。レイヤが上の機能をCPUと解釈して、CPUを便宜的に書くと図がスッキリするので好きです。