メインコンテンツへスキップ
見出し画像

SSHは怖くない|LN6001-JPで“読むだけCLI”から始める基本コマンド集【OpenWrt集中連載025】

    SSHは、設定を変えずにルーターの状態を読む入口にもなります。WAN、DNS、DHCP、Wi-Fi、ログを分けて確認すれば、LuCIで見えた症状を詳しく追えます。

    コマンドはメーカー提供のOpenWrtベースのOS、ファームウェア1.2.0.15が基準です。接続までのPC操作は033、ログイン後に何を読むかはこの記事で扱います。


    この連載では、Linksys Velop WRT Pro 7(LN6001-JP)を使いながら、家庭・小さなオフィス・店舗でOpenWrtルーターを現実的に使う方法をまとめています。
    連載目次: LN6001-JPで始めるOpenWrtルーター実践ガイド

    最初は「観測」に限定する

    SSHの操作を三つの段階に分けます。

    SSHを観測から始める三段階
    1. 状態を読む

    2. 状態と設定を保存する

    3. 必要な時だけ、理解した一項目を変更する

    この記事の中心は1と2です。uci set、uci commit、service再起動のような変更操作は、設定の意味と復旧方法が分かるまで急ぎません。

    通常は、設定変更をLuCIで行い、SSHで状態とログを確認するだけでも十分に役立ちます。

    SSHはLANまたはVPNから使う

    SSHをインターネット側へ直接公開しません。

    安全なSSH管理経路

    家庭やオフィス内では、有線LANなど信頼できる管理ネットワークから接続します。外出先から必要な場合は、WireGuardやTailscaleなどのVPNを先に確立し、その内側からSSHへ入ります。

    Guest Wi-FiやIoT用networkから管理画面へ入れない場合、意図した分離が働いている可能性があります。管理のために分離を崩すのではなく、管理用LANまたはVPNへ戻ります。

    ログイン前に三つ確認する


    画像
    • LN6001-JPの現在のLAN側IP

    • PCが管理用LANへ接続されていること

    • rootの現在のパスワード

    工場出荷時の管理IPは 192.168.1.1 です。LAN IPを変更している場合は、変更後のDefault Gatewayを使います。

    macOS、Linux、Windows Terminalなどから接続します。

    ssh root@192.168.1.1
    

    初期状態のユーザー名は root、初期パスワードは本体底面ラベルに記載された初期Wi-Fiパスワードです。変更済みなら、現在の管理者パスワードを使います。

    host key警告を反射的に消さない

    初回接続では、接続先のfingerprint確認が表示されます。初期化や機器交換後には、以前のhost keyと違う警告が出ることがあります。

    host key警告が出た時の判断

    警告を見たら、まず確認します。

    • 接続先IPは本当にLN6001-JPか

    • 最近、初期化、機器交換、ファームウェア変更をしたか

    • 同じIPを別の機器が使っていないか

    • LAN内に想定外のDHCPやルーターがいないか

    理由を確認せず、古い記録を削除して接続を続けるのは避けます。変更理由が説明できる時だけ、SSHクライアント側の既知host情報を更新します。

    警告の具体的な確認と、対象ホストだけの記録更新は053のSSHホスト鍵トラブル対処にまとめています。

    コマンドの失敗と、通信の失敗を分ける

    not found は、そのコマンドが利用できないという結果です。ifstatus wan の対象がない場合も、別名のインターフェースを使っている可能性があります。LuCIのInterfacesと照合し、コマンドを動かすためだけに別環境のパッケージを追加しないでください。

    メーカー製ファームウェアとupstreamでは、Firewallの実装やパッケージ管理が変わる場合があります。この記事の iptables-save / ip6tables-save や opkg の前提を、移行先へ自動的に引き継がないようにします。003のファームウェアの区別と、実機の ubus call system board を起点に確認します。

    3分診断セット

    トラブル時は、同じ時点の状態をまとめて残します。

    LN6001-JPの3分診断セット
    date
    ubus call system board
    uptime
    ip addr show
    ip route show
    ip -6 route show
    ifstatus lan
    ifstatus wan
    ifstatus wan6
    cat /tmp/dhcp.leases
    logread | tail -n 200
    

    診断結果は、そのまま公開しないでください。IP、IPv6 prefix、MAC、SSID、端末名、VPN endpoint、ユーザー情報などが含まれる場合があります。

    WAN・WAN6・経路を分けて読む

    日本の回線では、IPv6が使えてもIPv4 over IPv6側が正常とは限りません。

    WANとWAN6で確認する項目
    ifstatus wan
    ifstatus wan6
    ip route show
    ip -6 route show
    

    見るポイントです。

    • interfaceが up か

    • IPv4・IPv6 addressがあるか

    • IPv6 prefixを受け取っているか

    • IPv4・IPv6のdefault routeがあるか

    • 上流gatewayが想定通りか

    interface名や構成は、回線方式や追加モジュールで変わります。「自分の環境にも必ず同じ名前がある」と決めつけず、ifstatus とLuCIの Network → Interfaces を照合します。

    IP到達性とDNSを分ける

    Webサイトが開かない時は、IP通信と名前解決を別に確認します。

    IP通信とDNS名前解決の切り分け
    ping -c 4 8.8.8.8
    nslookup www.google.co.jp
    
    • IPへ届き、名前だけ引けない: DNS、Adblock、Family DNSを確認

    • IPへ届かない: WAN、route、Firewall、上流回線を確認

    • ルーターからは通り、端末から通らない: DHCP、端末DNS、SSID、zoneを確認

    Public DNSへ切り替える前に、どのDNSを使っているか、DNS関連パッケージが間にいるかを確認します。

    pingは通信を発生させる確認で、設定を書き換える操作ではありません。ただし、応答しない宛先もあるため、失敗一回で回線断とは判断しません。ルーターから成功した場合も、問題の端末で同じサービスが使えるかは別に試してください。

    DHCPとWi-Fiを読む

    Wi-Fiマークが出ていても、正しいIP・gateway・DNSを受け取れていないことがあります。

    DHCPとWi-Fiで見る項目
    cat /tmp/dhcp.leases
    wifi status
    iw dev
    

    特定SSIDだけ失敗する場合は、次も読みます。

    uci show wireless
    uci show network
    uci show dhcp
    

    SSIDがどのnetworkへ紐づき、そのnetworkにDHCP serverがあり、想定したsubnetのIPを端末へ配っているかを確認します。

    Firewallは設定と実ルールを分けて読む

    LN6001-JPのFirewall確認では、UCI設定とIPv4・IPv6の実ルールを分けます。

    Firewallの三つの読み取り口
    uci show firewall
    iptables-save
    ip6tables-save
    

    UCIでは、zone、forwarding、Traffic Rules、Port Forwardsを確認します。実ルールでは、現在systemへ反映されている内容を確認します。

    GuestやIoTでは、次を別々にテストします。

    • Internetへ出られる

    • DHCPとDNSを使える

    • LANやNASへ入れない

    • LuCIとSSHへ入れない

    • IPv4とIPv6の両方で分離される

    「外へ出られた」だけでは、LAN分離が成功した証明になりません。

    UCIはまずshowで読む

    UCI設定は、categoryごとに確認できます。

    出力を読む時は、次の対応を見ると理解しやすくなります。

    UCI四設定の役割
    • network: LAN、WAN、device、bridge、VLAN、address

    • wireless: radio、SSID、暗号化、networkへの紐づけ

    • firewall: zone、forwarding、rule、redirect

    • dhcp: DHCP、DNS、static lease

    長い出力をすべて理解する必要はありません。トラブル直前に触った範囲と、その上下の関係を追います。

    ログは時刻・反復・症状で読む

    3分診断セットで保存した直近ログから、関係する語を絞ります。

    logread | grep -Ei 'wan|wan6|dhcp|dnsmasq|wireless|auth|error|fail'
    

    一つのwarningだけで原因と決めません。症状が起きた時刻に一致するか、同じerrorが繰り返すか、その前にlinkやserviceの変化があるかを見ます。

    設定変更前に必ず残すもの

    CLIで変更する必要が出た場合も、最初に現在状態を残します。

    • LuCIの設定バックアップ

    • uci show の主要四設定

    • opkg list-installed

    • ubus call system board

    • WAN、WAN6、route

    • 直近ログ

    • 変更目的と元に戻す値

    変更は一項目だけにし、uci changes で未確定の差分を確認します。commitやservice再起動を行う前に、変更内容と復旧経路を説明できる状態にします。

    本記事では、個別環境を確認せずに実行できる万能な変更コマンドは案内しません。LAN IP、VLAN、Firewall、SSHを誤ると管理経路を失うため、最初はLuCIで変更し、SSHは観測へ使うのが安全です。

    変更の必要が見えたら、023で戻せる材料を保存し、021の切り分け順に沿って一項目だけ直します。変更前後に同じコマンドと同じ端末の通信を確認すると、出力の変化と利用者の復旧を結び付けられます。

    診断ログを共有する前に伏せる

    サポートへ相談する時は、観測結果があると早く進みます。ただし、秘密情報を外します。

    診断ログで公開しない情報
    • global IPとIPv6 prefix

    • MAC address、端末名、SSID

    • DDNS名と公開hostname

    • VPN endpoint、public key、token

    • ユーザー名、メール、認証情報

    • 個人や店舗を特定できる内部network名

    残すべき情報は、製品、ファームウェア版、接続構成、影響範囲、発生時刻、直前変更、再現手順、読み取り結果です。

    次の操作へ進む前に

    観測で原因を絞り、変更が必要になった時だけ元の値とバックアップを残します。一項目を変更したら、同じコマンドと、問題が出た端末の通信で結果を確認してください。

     
     
    外資系テックの仕事と、ネットワーク・AI・動画制作を実際に試す人。日本の仕事を少し便利にする方法を書いています。Linksys / OpenWrt / IPoE / Apple / YouTube tools. 個人の発信です。

    あなたへのおすすめ