debian で br0 をつくり、IPを複数割り当てたい。
debian で eth0 を bridge にして bridge に複数のIPを割り当てて行ききたい
完成形をこんな感じにする
takuya@:~$ ip a br0 br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether be:53:38:65:9d:00 brd ff:ff:ff:ff:ff:ff inet 192.168.101.5/24 brd 192.168.101.255 scope global br0:0 valid_lft forever preferred_lft forever inet 192.168.101.9/24 brd 192.168.101.255 scope global secondary br0:1 valid_lft forever preferred_lft forever
図で書くと、次のようにした。
veth は後で付与するので、今回は br0 の箇所を重点的に作った。
必要な準備
sudo apt install bridge-utils
bridge-utils を入れて ブリッジを確認できるように準備しておく。
必要な設定
/etc/network/interfaces のファイルに、設定を書いていく。
bridge の設定や IPを複数割り当てる設定をうまく組み合わせる必要がある。
/etc/network/interfaces
allow-hotplug eth0 iface eth0 inet manual auto br0 allow-hotplug br0 iface br0 inet manual bridge_ports eth0 bridge_stp off bridge_maxwait 1 auto br0:0 allow-hotplug br0:0 iface br0:0 inet static address 192.168.101.5/24 gateway 192.168.101.1 auto br0:1 allow-hotplug br0:1 iface br0:1 inet static address 192.168.101.9/24
設定を書いたら、反映するので再起動
service networking restart
設定のポイント1
br0 を起動する設定 manual がポイント。
auto br0 iface br0 inet manual
br0 というNICを定義して、その設定を inet manual と書いて、何も設定しないNICを生み出しておく.
設定のポイント2
br0 をブリッジにする設定
iface br0 inet manual bridge_ports eth0 bridge_stp off bridge_maxwait 1
作った br0 をブリッジとして登録するように設定を書いておく。ここではIPアドレスの指定をしない。
設定のポイント3
br0:0を作る設定。
br0:0 に address付与している。
auto br0:0 iface br0:0 inet static address 192.168.101.5/24
debian では、eth0:0,eth0:1, eth0:2 のようにコロンで番号を振って、同一インタフェースをに複数のIPアドレスを割り振ることができる。eth0:0 を作るときは eth0 にIPを割り当てずにおいておく(割り当てても問題ないが、トラブル原因になるので、普通は割り当てないと思う)
この複数のIPを割り当てる設定を応用して、eth0:0 のeth0の代わりに、br0にかえて、br0をNICに指定した。
そして、br0 をそのままにしておくので、 br0 は inet manualでipアドレスを付与せず。br0:0 に address付与している。
このネットワークの作成意図
なんでこんな事するの?
eth0を共有して、docker ホスト側に抜けるIPを分けてNATフォワードを分けたい。ネットワークをうまく通信を捌いてアレコレしたいが、macvlan ほどは今はも求めてない。
そして、IPアドレスはに予備がほしい。わたしはすべてに予備がないと不安。
そして、netplan には愛想が尽きたので debian を使って /etc/network/interface という古き佳きわかりやすいものを使ったのだが、bridgeと組み合わせは、ちょっと頭を捻ったのでメモとして残しておきます。
単純な br0 の設定と 単純な eth0 の設定で動く。netplan みたいに制限ないし、ぱぱっと使いやすい。
Debianのネットワーク設定はシンプルでいいな!