🎃

isc-dhcp-clientがEOLなのでdhcpcdに移行してみた(Debian12)

2024/11/13に公開

最初に

Debianユーザーの中で、/etc/network/interfaces(intefaces.d/*)でネットワークとDHCPの設定をしている方がいると思います。IPアドレス取得時に呼び出されているのはisc-dhcp-clientですが、既にEOLとなっています。
Debian公式

ISC は isc-dhcp のクライアントおよびリレー部分の維持を止めることを 決定したため、これらは 4.4.3 リリースより後は削除され、サーバコンポーネント のみが残る予定です。isc-dhcp-client (dhclient) の代替品の利用を 検討してください。

と発表しており、早期移行を進める必要があるようです。またinterfacesも併用したいので、dhcpcdを使用することにしました。

環境

環境
Debian12.8

※ネットワークの作業をするため、SSH越しからの作業はオススメしません。

導入

まずdhcpcdから導入していきます。

sudo apt install dhcpcd

ただし推奨パッケージの関係でwpasupplicantが勝手に付属してくるので、いらないならば

wpasupplicant無し
sudo apt install dhcpcd --no-install-recommends

で導入可能です。

続いてinterfacesを弄っていきます。
競合を避けるため、dhcpでIPを取得しているインターフェイスの箇所を全部削除(コメントアウト)します。 今回はeth0が該当インターフェイスなので、それに関わる部分を全て消すかコメントアウトします。(IPv4もIPv6も)

/etc/network/interfaces(before)
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
iface eth0 inet6 auto
hoge eth0 hogehoge

/etc/network/interfaces(after)
#auto eth0
#allow-hotplug eth0
#iface eth0 inet dhcp
#iface eth0 inet6 auto
#hoge eth0 hogehoge

続いてdhcpcdが自動起動するようにします。

sudo systemctl enable dhcpcd

さてこれで設定は殆ど完了です。

あとは再起動するとdhcpcdがdhcpとdhcpv6,RAを取得してIPアドレスを自動設定できます。

ip a

でアドレスが付与されているか確認しましょう。

その他

静的設定したいときは、

/etc/dhcpcd.conf
interface eth0
static ip_address=IPアドレス
static routers=デフォルトゲートウェイ
static domain_name_servers=DNS1, DNS2...

また、resolv.confを上書きされたくないときは、

/etc/dhcpcd.conf
nohook resolv.conf

以上になります。

※ちなみにアカウントを作成してから初めての記事になります。(適当でごめんなさい)

参考サイト

https://wiki.archlinux.jp/index.php/Dhcpcd
https://packages.debian.org/ja/sid/isc-dhcp-client

Discussion