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

VPNは全部入れる鍵じゃない|WireGuard・Tailscaleで必要な場所だけ開ける【OpenWrt集中連載028】

    外出先からNASを開く時、VPNでLAN全体へ入れる必要があるとは限りません。この記事では「自分の管理PCから、NASのHTTPS管理画面だけを開く」という例で、経路・アクセス権限・確認方法を分けて設計します。

    LN6001-JPのメーカー提供ファームウェアとVPN Assistantを前提にした設計例で、新しい実測・動作検証の報告ではありません。CLI例の本体基準はversion 1.2.0.15です。導入条件はLinksysのVPN設定ガイド、ファームウェアの違いは003で確認してください。


    VPNを必要な宛先だけへ通す専用通路として考える

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

    WireGuardとTailscaleを選ぶ

    WireGuardとTailscaleを選ぶ判断軸

    WireGuardは、peer・鍵・経路を自分で管理したい場合に向きます。外出先からルーターへUDP通信を届けられる必要があるため、固定IPやDDNSに加え、回線の着信条件も確認します。IPoE、MAP-E、DS-Lite、ホームゲートウェイ配下では制約がある場合があります。

    Tailscaleは、固定IPやポート開放を前提にせず、登録端末を管理できます。外部サービスへの依存を含め、tailnetの参加端末・経路・アクセス権限を管理する方式です。「つながりやすい」だけで選ばず、誰が設定と端末の廃止を担当するかも決めます。

    設計例:管理PCからNASのTCP 443だけを許可

    ここでは、NASの管理画面が 192.168.1.10 のTCP 443で動いていると仮定します。実際のNASのIP・ポートへ読み替えてください。

    • 接続元:自分の管理PC 1台

    • 許可先:NAS 192.168.1.10 のTCP 443

    • 許可しない先:LuCI、SSH、ほかのLAN機器、NASの別サービス

    • 用途:外出時のNAS管理。インターネット全体を自宅経由にする必要はない

    先にNASをDHCP予約し、LAN側でHTTPSが開くことを確認します。LN6001-JPの設定をバックアップし、VPNが失敗しても有線LANから管理できる状態を残します。

    経路とアクセス権限は別々に設定する


    画像

    192.168.1.10/32 はNAS 1台、192.168.1.0/24 はLAN全体です。ただし、クライアントの経路を /32 に絞るだけでは、接続先で「NAS以外は禁止」を強制できません。

    WireGuardの場合

    外出先PCでは、NAS宛ての 192.168.1.10/32 をVPNへ送る経路にします。これはルーター側peerのAllowed IPへそのままコピーする値ではありません。ルーター側では、そのpeerが使うトンネル内IPなどを対応させます。

    AllowedIPsは送信先peerの選択と受信パケットの送信元確認を担います。通信の許可はルーター側のファイアウォールで、その管理PCのVPN接続元からNASのTCP 443だけに絞ります。VPN→LAN全体のforwardingや、VPNからルーター自身への広いInput許可が残っていないかも確認します。

    Tailscaleの場合

    NASへ直接Tailscaleを入れない構成では、LN6001-JPをサブネットルーターにし、必要なNAS宛て経路を広告・承認します。外出先PCがその経路を使えることも確認します。Linuxクライアントでは経路の受け入れ設定が必要です。サブネットルーターの手順

    そのうえでaccess controlの接続元を管理PCに限定し、宛先NAS・TCP 443の通信を許可します。利用者全体を指定すると、その人の別端末も対象になり得るため、1台を選ぶ条件を確認してください。grantsは許可の合算なので、狭い許可を追加しても、既存の「全端末から全宛先へ許可」は取り消されません。

    サブネットルーターはLAN内機器への中継、Exit Nodeは外出先のインターネット通信の出口です。今回のNAS管理にExit Nodeや 0.0.0.0/0・::/0 の全宛先経路は不要です。

    外部回線で、許可と拒否を確認する

    Wi-Fiを切り、モバイル回線などの実際の外部ネットワークから試します。

    1. VPN接続が成立し、NASのHTTPS画面を開ける

    2. LuCI、別のLAN機器、NASの許可していないサービスへは入れない

    3. 許可していない別の登録端末からNASへ入れない

    4. 端末の許可を外すと、その端末から再接続できない

    拒否の試験では、対象サービスがLAN内では応答することも確認します。停止中のサービスに届かなかっただけでは、アクセス制御の確認になりません。IPv6の経路や許可も設定している場合は、IPv6側も試します。

    接続が成立しない時は、外出先の通信、WireGuardのendpointとhandshake、経路、ファイアウォール、NAS側の受信許可の順に確認します。Tailscaleでは端末のonline状態、経路の広告・承認・受け入れ、ポリシーを確認します。

    VPNがつながらない時の切り分け順

    対応モジュール導入後、SSHで状態を読むコマンドです。秘密鍵や認証URLを含む出力は公開しません。

    wg show
    ip address show
    ip route show table all
    ip rule show
    tailscale status
    tailscale ip
    uci show network
    uci show firewall
    iptables-save
    ip6tables-save
    logread -e wireguard
    logread -e tailscale
    

    鍵の管理と、使い終わった後の戻し方

    VPNの秘密情報を守る運用ルール

    WireGuardの設定・QRコード・private keyは公開せず、端末ごとにpeerを分けます。端末紛失時は該当peerやTailscaleの登録端末を無効にし、一時保守には終了日を決めます。

    不要になった経路と許可ルールも用途のメモと照合して外します。普段の通信に影響したら、有線LANから最後に加えたVPN設定を戻します。バックアップ復元では、保存後のほかの変更も戻る範囲を確認してください。保存・復元023

    設定手順と公式情報

    導入へ進むならTailscale活用018、ルーターへの接続は初回SSH033へ。店舗の保守対象とGuestの分離は029で整理できます。

    VPN Assistantの入手先・対応環境と更新履歴はLinksys公式で確認してください。

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

    あなたへのおすすめ