LoginSignup
2
4

More than 1 year has passed since last update.

Debian Bullseye(11)での固定IP設定をsystemdでする

Last updated at Posted at 2022-04-22

はじめに

 当方、IPv4およびIPv6の両方の到達性がある状況を作りたいために、備忘録を兼ねて書いております。誤りがありましたら、コメントなどでお教えいただけると幸いです。

Debian Bullseye初期状態

 OSインストール中にネットワーク設定をしていない状態であれば、IPv4, IPv4問わずDHCP/RAなどでアドレスが自動で設定されます。
その設定ファイルは以下のとおりです。

$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

このファイルをいじればいいのだと思いますが、IPv6アドレスの固定方法が自分では調べられず、期待していることができそうな情報を見つけた次第です。

systemd-networkdによるネットワーク設定

 少し前までは毛嫌いしていたsystemdですが、少しずつ慣れてきたところで、systemdでネットワーク設定ができるとのことで、それを試してみました。

デフォルトからsystemd-networkdへの移管方法

Debian公式に情報があります。

  1. 一旦、/etc/network/interfaces/etc/network/interfaces.saveとして退避させておきます。
  2. systemd-networkdの有効化のため、
    # systemctl enable systemd-networkd
    をします。
  3. とりあえず、DHCPでアドレスを取得できる状態の設定ファイルを作ります
# vi /etc/systemd/network/eth0.network
[Match]
Name=eth0

[Network]
DHCP=ipv4

内容は、

  • [Match]セクションのNameについて、/etc/network/interfacesifaceと同じ名前を指定します。
  • [Network]セクションは、IPv4アドレスをDHCPで取得するように書いています。
    • DHCP=yesでIPv4/v6ともに自動取得
    • DHCP=ipv6でIPv6のみ自動取得
    • DHCP=noで自動設定無効

ファイルの編集が終わったら、再起動します。

systemd-networkd管理下にあるか確認

以下のコマンドで設定が反映されているか確認できます。

# networkctl
IDX LINK TYPE     OPERATIONAL SETUP
  1 lo   loopback carrier     unmanaged
  2 eth0 ether    routable    configured

2 links listed.

eth0のみ今回は設定しているので、

  • SETUPconfigured
  • OPERATIONALroutable

になっていればsystemd-networkd管理下になりました。

IPv4, IPv6アドレスの固定化

先ほど作成した、eth0.networkファイルを編集します。

$ cat /etc/systemd/network/eth0.network
[Match]
Name=eth0

[Network]
DHCP=ipv4
IPv6Token=::dead:beef:4:252
IPv6AcceptRA=true

各所、解説します。

  • IPv6Token
    • IPv6アドレスをRAから生成する際、eui-64の自動生成ではなく、指定するインターフェースIDとしたいときに設定します。
    • RAの情報が「ABCD:EF01:2345:6789」だった場合、IPv6アドレスは「ABCD:EF01:2345:6789:dead:beef:4:252」になります。
  • IPv6AcceptRA
    • RAを受け取るかどうかのbooleanです。falseの場合は、DHCPv6から取得される?不明です。

IPv4についてはルータでの固定割当にしているので、ここでは設定を変更していませんが、AddressGatewayDNSを設定すると良いと思います。

終わりに

 systemd.networkのmanがとても充実していて、その情報を一部抜粋しました。色々な設定が可能ですので、一読すると大抵のことができると思いますので、見てみると良いと思います。

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4