📌

Netplanを使ってDebian/UbuntuのIPアドレスを固定にする

2025/01/28に公開

Debian/UbuntuでIPアドレスを固定にする必要がありましたので、その方法を記しておきます。

  • Debian 12
  • Ubuntu 24.04 Server

Debian12に関しては以下の2か所を参考にしました。

(Debianのみ)Netplanをインストールする

sudo apt update && sudo apt install netplan.io openvswitch-switch

コンフィギュレーションファイルのディレクトリを作っておきます。

sudo mkdir -p /etc/netplan/

(Debian/Ubuntu共通)Netplan設定ファイルの用意

Netplanの構成ファイルを作り、パーミッションを設定して開きます。

Netplanは設定ディレクトリの中の設定ファイルをファイル名の昇順で読み込みます。そして重複項目があった場合は、後から読んだファイルの内容で上書きします。そのため、99-*.yamlはそれより若い番号のファイルに優先します。既に存在する設定ファイルは上書きせずに、ファイル番号の大きなファイルで上書きします。

sudo touch /etc/netplan/99-fixed-ip-address.yaml
sudo chmod 600 /etc/netplan/99-fixed-ip-address.yaml
sudo nano /etc/netplan/99-fixed-ip-address.yaml

以下は設定ファイルの例です。NIC device nameはあらかじめip linkコマンドで調べておきます。

/etc/netplan/99-fixed-ip-address.yaml
network:
    renderer: networkd
    ethernets:
        ens33:  # NIC device name. 
            addresses:
              - xxx.xxx.xxx.xxx/xx # IP Address
            dhcp4: false           # Disable DHCP
            routes:                # Gateway configuration
              - to: default        # Any address should go to this gateway. 
                via: yyy.yyy.yyy.yyy # Gateway server address
            nameservers:
              addresses: [zzz.zzz.zzz.zzz,8.8.8.8,8.8.4.4] # List of nameservers. 
    version: 2

この例のIPアドレスの表記は以下の通りです。

表記 説明
xxx.xxx.xxx.xxx/xx 使用したいIPアドレスとネットマスク。
yyy.yyy.yyy.yyy ゲートウェイとなるサーバーやルーターのIPアドレス
zzz.zzz.zzz.zzz DNSサーバーのIPアドレス

(Debianのみ)systemd-networkdの有効化

Debianのみ、systemd-networkdを起動します。Ubuntuでは既に有効ですので以下は不要です。

sudo systemctl enable --now systemd-networkd

(Debian/Ubuntu共通)Netplanの設定を適用する

Netplanに設定を反映します。

sudo netplan apply

Discussion