ネットワーク機器操作マニュアル
このページの目次
interface・address・route・neighbor・DNS・service の順に原因を絞る。管理主体を確認して設定を変更する。遠隔ホストのアドレス・既定経路変更には復旧接続を確保する。
| やりたいこと | 参照先 |
|---|---|
| 全く接続できない | 層別診断 |
| 出口・DNS が違う | route と policy |
| interface・Wi-Fi 設定 | 一時設定と永続設定 |
link と address を分ける
インターフェースとリンク状態を確認する
# インターフェースとフラグを短形式で表示する
enp1s0 は実際の名前に置き換える。UP は管理状態、LOWER_UP は下位層の状態を示す。
# IPv4/IPv6 アドレスとプレフィックスを確認する
scope・有効期間は ip address show dev enp1s0 で詳しく見る。アドレス不足と経路不足は別の障害。
# 同じインターフェースのエラー・drop 累計を読む
同じ負荷で時間を空けて差分を見る。起動後累計を今回の損失と誤認しない。
# 物理リンクの速度・duplex・carrier を確認する
仮想インターフェースでは未対応の場合がある。詳細は ethtool -S とカーネルのリンクリセットログを照合し、項目はドライバーごとに解釈する。
| 観測 | 意味 | 次の確認 |
|---|---|---|
| UP / LOWER_UP | 管理上 UP と下位 carrier は別 | carrier なしなら配線・switch・交渉。仮想機器は別解釈 |
| IP address | address だけでは出口は不明 | prefix・取得元・期限・route get |
| RX/TX errors, drops | 累積値は現在の率ではない | 同負荷で増分と driver 固有値を比較 |
宛先への実経路を kernel に尋ねる
カーネルが選ぶ経路を問い合わせる
# IPv4 の宛先への選択経路を調べる
dev・via・src を読み、実際の宛先に置き換える。IPv6 は ip -6 route get で別途確認する。
# どのテーブルを選ぶか決める policy rule を読む
優先度と条件を読む。VPN・送信元・mark も影響する。テーブル本体は別途調べる。
# 各テーブルの実際の経路を確認する
default があっても利用されるとは限らない。route get と照合する。
# 次ホップの ARP/NDP 状態を確認する
FAILED/INCOMPLETE は解決未完了を示す。STALE は通常 flush せず、通信して変化を見る。
名前解決と待ち受けを分けて確認する
# システム NSS 経由で宛先名を解決する
systemd-resolved なら resolvectl status でリンク別 DNS・routing domain を確認する。getent は hosts も利用し、dig とは異なる。
# サービス側ホストの TCP/UDP 待ち受けを確認する
-l は待ち受け、-n は数値、-t/-u はプロトコル、-p は権限内のプロセス情報。ループバックだけでは外部宛先の要求を直接受けない。
dev・via・src を確認する。policy rule が先に table を選び、その中で最長 prefix を使うため main の default だけでは不十分。STALE は通常再確認待ち。DNS 成功は port 待受けを、ping 失敗は全通信不可を意味しない。
障害層を区別できるテストを選ぶ
# 確認した次ホップの ICMP 応答を調べる
実際の gateway に置き換える。フィルターで応答しない場合もあるため業務プロトコルも確認する。
# 探測経路と path MTU を調べる
探測と業務のポリシーが異なる場合がある。応答しない hop が業務パケットを落としているとは限らない。
# DNS・TCP・TLS・HTTP の到達段階を確認する
接続タイムアウトは接続段階のみ。全体は --max-time を使う。最後に成功した段階を読み、証明書エラーを経路障害と混同しない。
# 対象ホストの HTTPS TCP 通信だけを取得する
-n は逆引きをせず、-i はインターフェース指定。一度再現し SYN・応答・再送を確認して Ctrl-C で終了する。保存が必要なら専用ファイルへ -w する。
gateway と宛先を置き換え、SYN 送信・応答・再送・interface を見る。全 timeout を DNS 原因としない。/proc/net/dev は機器統計、softirq は /proc/softirqs。
試験 interface に一時 address を一つ追加するなら ip address add 192.0.2.10/24 dev enp1s0、解除は対応する del を使い全 flush を避ける。文書用 subnet を置き換え競合を確認する。永続化は次節の管理主体で行う。
interface の設定主体を一つにする
管理元を先に特定する
# NetworkManager の状態と接続名を確認する
systemd-networkd 管理なら networkctl status enp1s0 の Network File を読む。同じインターフェースを二重管理しない。
# active インターフェースと profile 名・UUID を照合する
YOUR_PROFILE はここで取得する。空白は引用し、同名なら UUID を使う。
# 保存された profile と実効値を読む
method・アドレス・gateway・DNS・経路を記録し、profile ファイルを制限付きでバックアップする。場所は nmcli -f NAME,UUID,FILENAME connection show で確認する。
テスト用インターフェースに一時アドレスを追加する
# 重複なしと確認したテストアドレスを一つ追加する
一時的なカーネル状態。ip address show と同一サブネットへの通信で検証する。管理器や DHCP に上書きされ得る。
# テスト後、今回追加したアドレスだけを削除する
後で行う復元で、add 直後に続けるものではない。インターフェース全体を flush しない。
NetworkManager の DNS を永続変更する
# 確認した DNS を profile に保存する
到達可能で分割 DNS 方針に合う値に置き換える。ipv4.dns の置換と自動 IPv4 DNS の無視を行う。IPv6 は別設定として確認する。
# 再適用可能な変更をインターフェースへ反映する
失敗は再起動の指示ではない。必要なら復旧接続を確保して connection up する。実効 DNS と名前解決を確認し、戻すときは元の値を再適用する。
Wi-Fi の検索と接続を分ける
# SSID・信号・セキュリティを確認する
非公開 SSID・企業認証・複数無線 NIC では設定と対象を明確にする。
# 認証情報を対話入力し、選んだネットワークへ接続する
--ask は資格情報を引数に残さない。成功後に IP・route get・実通信を確認する。
VLAN:親とスイッチ設定を合わせる
未管理のテスト用インターフェースでの一時 VLAN 例。現在の SSH 経路には使わない。親リンクとスイッチの VLAN 100 許可を確認し、アドレスを置き換える。
# 親に VLAN 100 の子インターフェースを作る
ip -d link show で親と ID を確認してからアドレスを設定する。
# VLAN のアドレスを子に設定する
# 子を有効にし、VLAN 内の隣接・業務通信を試す
テスト後は ip link delete enp1s0.100 で今回の子を削除する。永続化は選んだ管理器の VLAN profile で行う。
bridge:L3 アドレスは bridge に置く
業務アドレスのない予備 enp2s0 と新規 br-test の例。現用 IP・既定経路の移行はコンソールと別の移行計画が必要。
# 一時的な L2 bridge を作る
# 予備ポートを bridge に接続し、ポート自体に業務 IP を置かない
bridge link show で master を確認してからポートと bridge を有効にする。
# bridge ポートを有効にする
# ポートの後に bridge を有効にする
IP なしは L2 の例。ホストの L3 アドレスは br-test に設定する。終了時はポートを nomaster で外し、br-test を削除して元のポート状態へ戻す。
管理主体を見分けるためのコマンドで、同一 interface を両方で管理する意味ではない。--ask で履歴に password を残さない。profile 名と機器名は別。再接続は SSH に影響し、一時 ip 設定は DHCP で上書きされ得る。
| 変更 | 先に確認すること |
|---|---|
| 一時 up/down | ip link set dev enp1s0 up。down は別実行 |
| Linux bridge | host IP は通常 bridge、port は L2。IP 移動は旧経路を切る |
| VLAN | 親 interface・VLAN ID・trunk・subnet を合わせる |
| Wi-Fi 不安定 | 信号・帯域・混雑・規制地域を確認。149 等を万能設定にしない |