久しぶりにラズベリーパイを購入し、セットアップ中にはまったことのメモです。
我が家は、無線LAN(Aterm QG1800HP)のDHCP固定割当設定を使ってファイルサーバのIPを固定させています。
今回購入したラズベリーパイ【Raspberry Pi 4 Model B 8G】も、SSH接続やサーバー的利用を考えてIPを固定しようとしました。
しかし、ルーター側のDHCP固定割当設定を行っても、どうしてもIPが固定できないという問題が発生しました。
調べた結果、Ubuntuのネットワーク設定(netplan)のyamlファイルにdhcp-identifier: macを加えることで解決できました。
原因と解決方法
Ubuntu 18.04 LTS Server以降、cloud-initやnetplanのデフォルトでは、DHCPのクライアント識別子としてMACアドレスではなくDUID(DHCP Unique Identifier)が使用される場合があります。そのため、ルーター側でMACアドレスベースの固定割当を行っていても、ルーターがクライアントを正しく識別できずIPが固定されません。
これを回避するため、netplanの設定にdhcp-identifier: macを明示的に指定します。
Netplan設定の手順
対象の設定ファイルをエディタで開きます(ファイル名は環境によって異なる場合があります)。
sudo vim /etc/netplan/50-cloud-init.yaml
以下のように、対象のインターフェース(例: eth0 または wlan0)に dhcp-identifier: mac を追記します。
network:
version: 2
ethernets:
eth0:
dhcp4: true
optional: true
dhcp-identifier: mac
設定を保存したら、次のコマンドを実行して変更を適用します。
sudo netplan apply
まとめ
DHCP固定割り当てのために、端末がルータに通知するアドレスはMACアドレスだけかと思い込んでいたのではまってしまいました。
無線LAN接続を使用する場合も、同様にdhcp-identifier: macを設定しておくことでIPアドレスを確実に固定できるようになります。
参考リンク
この記事の更新履歴
この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。
2026年9月26日
- 変更Netplanの設定ファイル例を適切なコードブロック形式に変更しました。
- 追加設定を反映させるための netplan apply コマンドの実行手順を追加しました。

