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 を確認。
出来上がった。ネットワーク設定
だんだんカオスになってきた。。。raspi4 はよく働きますね。
図のCPUってのは、IPアドレスを振ってるインターフェースを明確にするために、便宜的に書いてる感じです。
CPU接続してる=IPアドレス割当してる
。なので、CPUと接続してる=フィルタリングかかってる
であり、CPU接続してる=フォワード設定に従う=ルーティングテーブルを使う
でもあります。レイヤが上の機能をCPUと解釈して、CPUを便宜的に書くと図がスッキリするので好きです。