それマグで!

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

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

SystemdのDHCPネットワークの設定

systemd でのDHCPIPアドレスの割当をもらってくる

よくある例なので、ぱぱっと書いておく。

対象

systemd になってるLinuxディストーション。 今回は、 ubuntu / debian で設定をする。

準備するファイル

/etc/systemd/network にファイルを用意する。

/etc/systemd/network/dhcp.network

名前は何でもいい。

ファイルに記載する

[Match]
Name=en*

[Network]
DHCP=yes

DHCPをYESとかくCentっぽい。とにかくネットワークの設定はここ(/etc/systemd/network)にファイルを作って管理する。

固定IPのときは

[Match]
Name=en*

[Network]
Address=192.168.0.15/24
Gateway=192.168.0.1

などとすればOK

再起動する。

sudo systemctl restart systemd-networkd

わたしは、ここで restart networking.service をやってしまい、反映されないって10数分悩んだ。

ポイント

systemd-networkd で ネットワークを管理する。

/etc/networking/interfce の networking に依る管理 は systemd-networkd から起動する service になっている。

もちろん 旧来のディストーション依存のやり方でも構わない。ただそのときは sytemd と設定が違うのでググり方を間違えないこと。

2018-06-13 追記

うちの環境では、再起動してもネットワークがつながらないので、ずっと悩んでた。VirtualBoxのホストオンリーアダプタで頻発するから、ホストオンリーアダプタやブリッジネットワークのプロミスキャス・モードだと思ってたら、全然違った。

systemd に networkd が登録されてなかったので、手動登録した。

sudo systemctl enable  systemd-networkd

この減少はCentなどでも見られた。インストール時にNIC(ethernet)を自動設定にしてないときに、インストール後にネットワークカードを入れたら間違いなく起きるよね。はぁ。。。

enabled にしたあとのnetworkd の依存関係

takuya@debian01:~$ sudo systemctl list-dependencies  systemd-networkd
systemd-networkd.service
● ├─org.freedesktop.network1.busname
● ├─system.slice
● └─network.target

参考資料

Debian 資料 5.3. The modern network configuration without GUI

http://yukithm.blogspot.com/2014/05/systemd-networkd.html