Linuxでネットワーク設定をする方法(NETPLANを使ったDHCPと静的IP設定)

サーバー運用

Linuxでネットワーク設定を行う際、「DHCPや静的IP設定ってどうやるんだっけ?」と悩むことがあるかもしれません。特にサーバーを構築する場合や、IPv6でインターネットに公開するケースでは適切な設定が求められます。

Ubuntuをはじめとする多くのLinuxディストリビューションで採用されている「NETPLAN」は、設定ファイルをYAML形式で記述することでネットワーク設定を簡単に管理できるツールです。この記事では、NETPLANを使ったネットワーク設定方法を詳しく解説します。

NETPLANとは?

NETPLANは、Ubuntu 17.10以降でデフォルトのネットワーク設定ツールとして導入されました。シンプルで扱いやすいYAML形式でネットワーク設定を定義し、systemd-networkd または NetworkManager をバックエンドとして利用します。

NETPLANの設定ファイルの場所と構成

NETPLANの設定ファイルは以下のディレクトリに配置されます。

/etc/netplan/

通常、このディレクトリ内には 00-installer-config.yaml のようなファイルが存在しますが、自分で任意の名前で設定ファイルを作成することも可能です。

設定ファイルの書き方(基本構成)

NETPLANの設定ファイルはYAML形式で記述し、IPv4とIPv6の両方の設定を同時に行うことができます。 以下はIPv4とIPv6を両方有効にした基本構成の例です。

network:
  version: 2
  renderer: networkd  # または NetworkManager
  ethernets:
    enp0s3:
      dhcp4: true
      dhcp6: true
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
設定項目の説明
  • version: NETPLANの設定バージョンを指定する
  • renderer: 使用するバックエンド (networkd または NetworkManager) を指定する
  • ethernets: 設定対象のネットワークインターフェースを定義する
  • enp0s3: インターフェース名のこと「ip link」または「ip a」コマンドで確認
  • dhcp4: IPv4でのDHCP利用を有効にする設定
  • dhcp6: IPv6でのDHCP利用を有効にする設定
  • nameservers: DNSサーバーを指定する設定。例として GoogleのDNSサーバー 8.8.8.88.8.4.4 がよく使われる

静的IPアドレスの設定方法

IPv4

IPv4で静的IPアドレスを設定する場合は次のように記述します。

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

IPv6

IPv6で静的IPアドレスを設定する場合は次のように記述します。

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp6: true
      addresses:
        - 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64
      gateway6: fe80::1
      nameservers:
        addresses: [2001:4860:4860::8888, 2001:4860:4860::8844]

IPv6の設定は必要か?

IPv6の設定が必要かどうかは用途によって異なります。

LAN内の通信の場合

LAN内での通信は通常、IPv4を利用する方が分かりやすく管理もしやすいため、IPv6の設定は不要です。IPv6を利用する必要がなければ dhcp6: true と設定しなくても問題ありません。

サーバー公開する場合

IPv6アドレスを使ってサーバーをインターネット上に公開する場合は、IPv6の設定が必要です。しかし、dhcp6: true としておけば、上位にあるルーターが自動的にIPv6アドレスを割り当てるため、特別な設定をする必要はほとんどありません。

さらに、IPv6アドレスはプロバイダから割り当てられるプレフィックスが変化しない限り基本的に変わりません。つまり、プロバイダを変更しない限りプレフィックスは維持されるため、静的IP設定を行わなくても安定して利用できるケースがほとんどです。

もし、特定のIPv6アドレスで常時アクセスを確実にしたい場合は、プロバイダの契約内容を確認し、プレフィックスが変更される可能性があるかを調べると良いでしょう。

設定を適用する

設定ファイルを保存した後に以下のコマンドで設定を適用します。

sudo netplan apply

設定内容にエラーがある場合は表示されるので、エラーメッセージを確認し修正してください。

設定内容の確認

設定を試す際は、次のコマンドを使用できます。

sudo netplan try

このコマンドは設定を一時的に適用し、エラーがないか確認するためのものです。問題がなければ「Enter」を押して設定を保存し、問題がある場合は「Ctrl+C」で取り消してください。

トラブルシューティング

NETPLANの設定でエラーが発生する場合の原因と対処方法をいくつか紹介します。

  1. YAML形式のエラー: インデントやスペースのミスを確認してください。
  2. インターフェース名の誤り: ip link コマンドで正しいインターフェース名を確認してください。
  3. バックエンドの設定ミス: renderer の指定が正しいか確認しましょう。

まとめ

NETPLANを使ったネットワーク設定方法について解説しました。IPv4とIPv6の設定方法を網羅し、特にサーバー運用で重要になる 静的IPアドレスの設定方法 についても紹介しました。

  • IPv4の設定方法: DHCPによる自動設定 (dhcp4: true) と、静的IP設定の方法を解説
  • IPv6の設定方法: 基本的には dhcp6: true と設定するだけで、ルーターから自動的にIPv6アドレスが割り当てられるため、静的IPを設定する必要はほとんどない
  • IPv6で静的IPが不要な理由: プレフィックスが変化しない限り、IPv6アドレスは変更されないため。プロバイダを変更しない限り、プレフィックスも維持されるケースが多い
  • サーバーをIPv6で公開する場合のポイント: 静的IPの設定をせずとも dhcp6: true の設定で問題なく運用可能

コメント