Skip to content

Debian 11 に関係する自分用メモ

   

気がむいた時に更新。

やった設定

IPアドレスを固定する

DHCPで自動的割り当てられるIPアドレスを固定IPアドレスに変更する設定を行っていきます。 固定IPアドレスに変更する方法は、色々あるのですが、ここではdhcpcdを利用して設定していきます。

dhcpcdのインストール

aptコマンドを使って、dhcpcd5パッケージをインストールします。

$ sudo apt install -y dhcpcd5

dhcpcd.confの編集

dhcpcd.confを編集します。

sudo vim /etc/dhcpcd.conf

ファイルの末尾に以下の内容を追記します。

追記内容:

interface eth0
static ip_address=192.168.100.3/24
static routers=192.168.100.1
static domain_name_servers=192.168.100.2
static domain_name=mylocaldomain
static domain_search=mylocaldomain

上の例では、DNSに関する情報も合わせて設定しており、/etc/resolv.confの内容が設定例を反映した内容に書き換えられます。元のファイルは/etc/resolv.conf.bakに保存されています。

DNS関連の設定を/etc/resolv.confで行いたい場合は、dhcpcd.confを以下のように変更してください。

# A list of options to request from the DHCP server.
- option domain_name_servers, domain_name, domain_search, host_name
+ nooption domain_name_servers, domain_name, domain_search
+ option host_name

dhcpcdの再起動

dhcpcdサービスを再起動します。

$ sudo systemctl restart dhcpcd

isc-dhcp-clientのアンインストール

isc-dhcp-clientがインストールされたままですと、一つのNICにDHCPで自動割り当てされたIPアドレスと、dhcpcdで固定割り当てしたIPアドレスが設定されます。isc-dhcp-clientは不要であるため、アンインストールを行います。

$ sudo apt purge isc-dhcp-client
$ sudo apt autoremove

ネットワークブリッジの作成

interfacesの編集

/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

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet manual
  bridge_ports eth0
  bridge_stp off
  bridge_maxage 0
  bridge_ageing 0

STP(Spanning Tree Protocol)は使わないのでoff

詳細はman bridge-utils-interfacesを参照。

dhcpcd.confの編集

dhcpcd5を使用してIPアドレスの設定をしているので、/etc/dhcpcd.confも合わせて編集します。

denyinterfaces eth0
interfaces br0
static ip_address=192.168.100.3/24
static routers=192.168.100.1
static domain_name_servers=192.168.100.2
static domain_name=mylocaldomain
static domain_search=mylocaldomain

ここまで設定して再起動すれば、ネットワークブリッジの作成完了です。

固定IPになっているかを確認

再起動して確認します。

$ ip addr show eth0
ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:46:50:81 brd ff:ff:ff:ff:ff:ff
    altname enp11s0
    altname ens192
    inet 192.168.100.3/24 brd 192.168.100.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::cfb:ed88:b119:817/64 scope link
       valid_lft forever preferred_lft forever

dhcpcd.confで設定した内容が反映されていることがわかります。

今回はdhcpcdを使って固定IPを割り当てましたが、正直どんな方法でもいいと思います。ぶっちゃけて言えば、NICが1個しかないなら/etc/network/interfacesファイルを直接編集するのが一番楽な方法だとは思います。一方、無線LAN使っているよという方は、dhcpcdとwpa_supplicantを組み合わせて使うといいかもです。

今はもうやってない設定

ネットワークインターフェース命名スキームの変更

Debian 9 以降、一貫性(consistent)と予測可能性(predictable)を担保するためのデバイス命名スキームが採用されています。このスキームはインターフェースの位置判定と区別が容易になるようにシステム上のネットワークインターフェース名を変更します。サーバ専用機や、複数のNICを増設しているマシンでは、デバイス名を見るだけでどのNICかを容易に特定できるという利点があります。

現在利用している環境ではNICを一つ搭載しているだけなので、(私の好みで)旧来の命名規則で利用できるように設定を変更します( もしかしたら、将来元に戻すかもしれません 今はデフォルトの命名規則を使っています)。

設定の変更の手順は次のとおりです。
まず、rootに移行して、以下の作業を行いました。

# dmesg |grep eth
[    0.936876] vmxnet3 0000:0b:00.0 eth0: NIC Link is Up 10000 Mbps
[    1.022226] vmxnet3 0000:0b:00.0 ens192: renamed from eth0

eth0からens192にリネームされてることがわかります。

# vim /etc/grub/default

GRUB_CMDLINE_LINUX=""net.ifnames=0 biosdevname=0を追加します。

FROM:

GRUB_CMDLINE_LINUX=""

TO:

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

に変更します。

ブートローダに設定を反映します。

# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.10.0-3-amd64
Found initrd image: /boot/initrd.img-5.10.0-3-amd64
Found linux image: /boot/vmlinuz-4.19.0-14-amd64
Found initrd image: /boot/initrd.img-4.19.0-14-amd64
done

再起動する前に、interfacesファイルの設定を変更しておきます。

# vim /etc/network/interfaces

FROM:

allow-hotplug ens192
iface ens192 inet dhcp

TO:

allow-hotplug eth0
iface eth0 inet dhcp

システムを再起動します

# reboot

再起動後、ipコマンドを使って、変更されていることを確認します。

$ ip addr
...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
...

無事、eth0に変更されていることが確認できました。