はじめに
当方、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公式に情報があります。
- 一旦、
/etc/network/interfaces
を/etc/network/interfaces.save
として退避させておきます。 - systemd-networkdの有効化のため、
# systemctl enable systemd-networkd
をします。 - とりあえず、DHCPでアドレスを取得できる状態の設定ファイルを作ります
# vi /etc/systemd/network/eth0.network
[Match]
Name=eth0
[Network]
DHCP=ipv4
内容は、
- [Match]セクションのNameについて、
/etc/network/interfaces
のiface
と同じ名前を指定します。 - [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のみ今回は設定しているので、
-
SETUP
がconfigured
-
OPERATIONAL
がroutable
になっていれば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についてはルータでの固定割当にしているので、ここでは設定を変更していませんが、Address
とGateway
、DNS
を設定すると良いと思います。
終わりに
systemd.networkのmanがとても充実していて、その情報を一部抜粋しました。色々な設定が可能ですので、一読すると大抵のことができると思いますので、見てみると良いと思います。