設定の後始末
中古のLet's noteを「試しにNextcloudのフロントエンドやDNS(AdGuard Home)」にしていたものの、いよいよもって本格的に稼働させることにします。
ネットワーク環境の確認情報
- 対象機器:
- Ubuntu 26.04 Desktopノート
- 有線LAN (NIC)
- :
enp0sxx(NetworkManager接続名:netplan-enp0s31f6)
- :
- 無線LAN (Wi-Fi)
- :
wlp1s0(NetworkManager接続名:Wi-Fi)
- :
- デフォルトゲートウェイ:
192.168.x.1
- サブネットマスク:
/24(255.255.255.0)
問題と解決
直面した問題
デスクトップ画面で有線LANと無線LANを同時に切り替えようとしたのですが、
無線側がまだ 引き継ぎたいIPアドレスを掴んでいたため、有線側で同じIPを有効化しようとした際にアドレスの重複・競合が発生し、以下のエラーで有効化に失敗しました。
エラー: 接続のアクティベーションに失敗: IP 設定を確保できませんでした (利用可能なアドレスがない、タイムアウトなど)
これに対処していきます。ここからはターミナルやSSH接続です。
解決策
- 無線接続を先にダウンさせ、旧IPアドレスを解放します。
- 無線のIPv4設定を自動(DHCP)に変更・初期化する。
- 有線LAN側に静的IP(
192.168.11.16)とゲートウェイ・DNSを設定する。 - 有線LAN接続を有効化する。
実行した復旧手順(コマンド)
SSH切断による作業中断を防ぐため、以下のコマンドを一括で実行しました。
sudo nmcli connection down "Wi-Fi" && \
sudo nmcli connection modify "Wi-Fi" ipv4.method auto ipv4.addresses "" ipv4.gateway "" ipv4.dns "" && \
sudo nmcli connection modify "netplan-enp0s31f6" ipv4.method manual ipv4.addresses 192.168.x.x/24 ipv4.gateway 192.168.x.1 ipv4.dns "192.168.x.1" && \
sudo nmcli connection up "netplan-enp0s31f6"
それぞれのステップで何が起きているのか、順番に詳しく解説します。
Step 1: 無線LANの切断
sudo nmcli connection down "Wi-Fi"
- やっていること:
- 現在有効になっているWi-Fi接続(
Wi-Fi)を即座に無効化(切断)します。
- 現在有効になっているWi-Fi接続(
- 目的:
- これから有線側に設定しようとしているIPアドレス(
192.168.x.x)をWi-Fi側から完全に解放し、IPアドレスの重複(衝突)を防ぐために行っています。
- これから有線側に設定しようとしているIPアドレス(
Step 2: 無線LAN設定の初期化 (DHCP化)
sudo nmcli connection modify "Wi-Fi" ipv4.method auto ipv4.addresses "" ipv4.gateway "" ipv4.dns ""
- やっていること:
- Wi-Fi接続の設定情報を変更します。
ipv4.method auto:- IPアドレスの取得方法を「自動(DHCP)」に変更
ipv4.addresses "":- 以前割り当てていた固定IPアドレスの登録を削除
ipv4.gateway "":- 設定されていたゲートウェイ情報を削除
ipv4.dns "":- 設定されていたDNSサーバー情報を削除
- 目的: 今後Wi-Fiを単体で使うことがあっても、固定IPではなく自動でIPを取得(DHCP)するように設定をリセットしています。
Step 3: 有線LANへの固定IP・ネットワーク情報の設定
sudo nmcli connection modify "netplan-enp0s31f6" ipv4.method manual ipv4.addresses 192.168.x.x/24 ipv4.gateway 192.168.x.1 ipv4.dns "192.168.x.1"
- やっていること: 有線LAN(
netplan-enp0s31f6)に新しいネットワーク情報を書き込みます。 ipv4.method manual: IP設定を「手動(固定IP)」に変更ipv4.addresses 192.168.x.x/24: サーバー用の固定IPアドレスとサブネットマスクをセットipv4.gateway 192.168.x.1: デフォルトゲートウェイ(ルーター)を指定ipv4.dns "192.168.x.1": 名前解決用のDNSサーバー(ルーター)を指定- 目的: サーバー機能(NextcloudやAdGuard等)を引き継ぐための固定IP環境を有線側に割り当てます。
Step 4: 有線LANの有効化(新設定の反映)
sudo nmcli connection up "netplan-enp0s31f6"
- やっていること:
- Step 3で書き換えた設定を使って、有線LAN接続を起動(アクティベート)します。
- 目的:
- 設定を反映させて通信を開始します。この瞬間に有線側のIPアドレスが
192.168.x.xに変更されるため、旧IPで繋がっていたSSH接続はここで途切れ、新しいIPでの接続が解禁されます。
- 設定を反映させて通信を開始します。この瞬間に有線側のIPアドレスが
なぜこれを「1行(ワンライナー)」でやったのか?
SSH接続中にネットワーク設定を変更すると、Wi-Fiを切断した時点(Step 1)でターミナルの操作ができなくなってしまいます。
命令を && で繋いで1行で送信しておくことで、SSHが切れてしまってもUbuntu内部でStep 4まで自動的に突っ走って完了させてくれるという技術的な工夫(SSH切断対策)でした。
最終確認結果
- IPアドレス・インターフェース状態の確認 (
ip a)
- 有線 (
enp0s31f6):inet 192.168.x.x/24(正常に固定IP割り当て完了) - 無線 (
wlp1s0):state DOWN(競合解消)
- 疎通確認
- 有線LANのIP宛て(
192.168.x.x)へのSSH再接続: 成功 - 外向き通信テスト (
ping -c 3 google.com): 成功
なんとなくで設定していた宿題に取り組むことが出来ました。