はじめに
Ubuntuを使用している際、DHCPによってIPアドレスが勝手に変わってしまい、SSH接続やサーバー用途で不便を感じることがありました。
今回は Netplan を使用して、UbuntuのIPアドレスを固定する手順をまとめます。
環境
- OS: Ubuntu (Desktop)
- ネットワーク管理: NetworkManager + Netplan
1. 現状のネットワーク情報を確認する
設定ファイルを書き換える前に、現在の「インターフェース名」と「デフォルトゲートウェイ」を確認する必要があります。
インターフェース名の確認
ip a
出力結果から、インターネットに接続されているインターフェース名を探します。
今回は enp2s0 が対象のインターフェースだとします。
ゲートウェイ(ルーター)の確認
ip route
default via ... と書かれている部分がルーターのIPアドレスです。
- インターフェース名:
enp2s0 - 固定したいIP:
10.29.31.197(今回は現在のIPをそのまま固定) - ゲートウェイ:
10.29.31.1
2. Netplan設定ファイルの編集
Ubuntuの設定ファイルは /etc/netplan/ ディレクトリにあります。
環境によってファイル名は異なりますが、今回は 01-network-manager-all.yaml を編集しました。
sudo nano /etc/netplan/01-network-manager-all.yaml
設定内容
デスクトップ版Ubuntuなどで NetworkManager を使用している場合、以下のように追記します。
network:
version: 2
renderer: NetworkManager
ethernets:
enp2s0: # 自分のインターフェース名
dhcp4: false # DHCPを無効化
addresses:
- 10.29.31.197/24 # 固定したいIPアドレス/サブネットマスク
routes:
- to: default
via: 10.29.31.1 # デフォルトゲートウェイ
nameservers:
addresses:
- 10.29.31.1 # ルーターのDNS
- 8.8.8.8 # Google Public DNS (予備)
3. 設定のテストと適用
いきなり適用して接続が切れるのを防ぐため、try コマンドを使用します。
sudo netplan try
エラーがなければEnterキーを押して設定を確定させます。
トラブルシューティング:権限設定の警告
設定適用時、以下のような警告(WARNING)が出ることがあります。
WARNING: Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others.
これは「設定ファイルの権限が緩すぎて、誰でも読める状態になっているのは危険」という警告です。 ネットワーク設定にはセキュリティ情報が含まれることもあるため、管理者(root)以外が読み書きできないように権限を変更します。
解決策
chmod コマンドでパーミッションを 600(所有者のみ読み書き可能)に変更します。
sudo chmod 600 /etc/netplan/01-network-manager-all.yaml
再度 sudo netplan try または sudo netplan apply を実行します。
まとめ
- 固定IP化するにはインターフェース名とゲートウェイの把握が必須。
netplan tryは設定ミスで通信断になっても自動で戻るため安全。- Netplanの設定ファイルはセキュリティ上、パーミッションを
600にしておくべき。