【Linux】Netplanを利用したUbuntu ServerのIPアドレス設定方法

Ubuntuでは、ネットワーク設定が`Netplan`というツールを使って管理されています。UbuntuのServer版では、`Netplan`を用いることで、有線やWi-Fiの固定IP（静的IP）やDHCP（動的IP）の設定を簡単に行うことができます。本記事では、`Netplan`でのIPアドレスの設定方法を紹介します。

## 目次

2. [DHCPによるIPアドレスの設定](#dhcpによるipアドレスの設定)
3. [固定IPアドレスの設定](#固定ipアドレスの設定)
4. [設定の適用](#設定の適用)
5. [設定確認方法](#設定確認方法)
6. [設定ファイルのテンプレート](#設定ファイルのテンプレート)

---

## DHCPによるIPアドレスの設定

DHCPでは、ネットワークに接続するたびに自動的にIPアドレスが割り当てられます。

#### 1. **ネットワーク設定ファイルを編集**

   ネットワーク設定ファイルを編集します。ネットワーク設定は`/etc/netplan/`ディレクトリ内に配置します。`50-cloud-init.yaml`が元々ありますが、それは編集する事が推奨されていないので、新しく`99-config.yaml`などの名前でファイルを作成します。

   ```bash
   sudo nano /etc/netplan/99-config.yaml
   ```

#### 2. **設定内容の確認と編集**

   ファイルの中身を次のように編集して、DHCPを有効にします。

   ```yaml
   network:
     version: 2
     renderer: networkd
     ethernets:
       enp0s3:  # インターフェース名を確認して適宜修正
         dhcp4: true
   ```

   - `enp0s3`はネットワークインターフェース名です。環境によって異なる場合があるので、`ip a`でインターフェース名を確認してください。
   - `dhcp4: true`を指定することで、IPv4でのDHCPを有効にしています。

#### 3. **設定を適用**

   設定を適用するために、次のコマンドを実行します。

   ```bash
   sudo netplan apply
   ```

#### 4. **設定確認**

   設定後、`ip a`コマンドでIPアドレスが自動的に割り当てられたことを確認します。

   ```bash
   ip a
   ```

   `inet`欄にDHCPで取得したIPアドレスが表示されます。

---

### 固定IPアドレスの設定

固定IPを設定することで、毎回同じIPアドレスを使用できるようになります。

#### 1. **ネットワーク設定ファイルを編集**

   DHCP設定と同様に、ネットワーク設定ファイルを開きます。

   ```bash
   sudo nano /etc/netplan/99-config.yaml
   ```

#### 2. **固定IPアドレスを設定**

   以下のように設定を変更して、固定IPアドレスを指定します。ここでは例として`192.168.0.100`を設定します。

   ```yaml
   network:
     version: 2
     renderer: networkd # GUIのUbuntuの場合は「NetworkManager」を指定
     ethernets:
       eth0:  # インターフェース名を確認して適宜修正
         dhcp4: false
         addresses:
           - 192.168.0.100/24 # 固定IPとサブネットマスク
         routes:
           - to: default
             via: 192.168.0.1
         nameservers:
           addresses:
             - 8.8.8.8
             - 8.8.4.4 # DNSサーバーの設定（例: Google DNS）
   ```

   - `dhcp4: false`に設定してDHCPを無効化します。
   - `addresses`で固定IPアドレスを指定します。`/24`はサブネットマスク（255.255.255.0）を示しています。
   - `routes`でデフォルトゲートウェイを指定します。
   - `nameservers`でDNSサーバーを指定します。

#### 3. **設定を適用**

   設定を適用するために、次のコマンドを実行します。

   ```bash
   sudo netplan apply
   ```

#### 4. **設定確認**

   固定IPが設定されたことを確認するために、`ip a`コマンドを実行します。

   ```bash
   ip a
   ```

   `inet`欄に設定したIPアドレスが表示されるはずです。

---

### 設定の適用

設定を適用した後にネットワークサービスを再起動する必要は通常ありません。`sudo netplan apply`を実行することで即座に設定が反映されます。もし適用がうまくいかない場合は、次のコマンドでネットワークサービスを再起動できます。

```bash
sudo systemctl restart systemd-networkd
```

### テンプレート

Netplanの設定ファイルのテンプレートを示します。Wi-FiはDHCP、有線は固定IPに設定しています。

```yaml
network:
  version: 2
  renderer: networkd
  wifis:
    wlp2s0:
      dhcp4: true
      optional: true
      access-points:
        your_wifi_ssid:  # Wi-FiのSSIDを記載
          password: "your password"  # ""の中にWi-FiのPWを記載
  ethernets:
    eth0:
      dhcp4: false
      addresses:
        - 192.168.0.100/24
      routes:
        - to: default
          via: 192.168.0.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
```

---

### まとめ

- **DHCPの設定**は、`dhcp4: true`とすることで自動的にIPアドレスが割り当てられます。
- **固定IPの設定**では、`dhcp4: false`とし、`addresses`、`routes`、`nameservers`を手動で設定します。
- 設定を適用した後、`netplan apply`で即座に反映できます。

サーバを扱う際、Netplanは必要不可欠な知識ですので、Ubuntu Serverを用意して試してみてください。