
ポート開放の前にVPNを考える|WireGuardとTailscaleで外から安全に入る【OpenWrt集中連載013】
出張先でNASのファイルが必要になった。店舗の管理PCへSSHしたい。自宅のLuCIを見て、回線状態だけ確認したい。外から入りたい理由は、たいてい具体的です。
その入口としてLuCI、SSH、NAS、カメラの管理画面をインターネットへ直接公開すると、使う本人だけでなく、世界中から到達できるサービスが増えます。自分や限られたスタッフだけが使うなら、まずVPNを検討します。
この記事は、LN6001-JPでWireGuardかTailscaleを選び、一台の接続を確認するまでの案内です。対象はメーカー提供のOpenWrtベースのOS(ver. 1.2.0.15)とVPN Assistantで、ファームウェアの移行とは別の作業です。
今回の構成に使っているOpenWrtルーターはこちらです。
先に選び方を決める
外部からLN6001-JPへUDP通信を届けられるなら、WireGuardを選びやすくなります。固定IP、DDNS、上位ルーターのポート転送を自分で管理できる環境です。
固定IPがない、ホームゲートウェイ配下にある、MAP-EやDS-LiteでIPv4着信が難しい、といった環境ではTailscaleから始めると接続までの障壁が下がります。

Tailscaleは、NAT越えと端末管理をサービス側が支援します。その代わり、Tailscaleアカウント、管理コンソール、端末の失効、Access controlsも運用に含まれます。
WireGuardは外部サービスへの依存を抑えやすい一方、到達性、Peer、鍵、ルーティング、ファイアウォールを自分で管理します。優劣ではなく、どこを自分で持つかの違いです。
公開するのは一つのVPN入口だけ
ポート開放でNASやLuCIを直接見せる構成と、VPNへ接続してからLAN内の機器へ進む構成は、入口の数が違います。

VPNにしても危険が消えるわけではありません。秘密鍵が漏れる、退職者の端末を残す、VPN接続後に全ネットワークへ自由に入れる、といった運用なら被害範囲は広がります。
最初に決めるのは方式より、次の三つです。
誰の、どの端末を登録するか
何のために接続するか
どの機器、ネットワーク、ポートまで許可するか
「自分のスマートフォンからLuCIを確認する」「管理PCからNASとミニPCへ入る」のように、主語と目的を一行で書けるところまで絞ります。
接続先とアクセス権限を分ける
最初は自分の端末一台に絞ります。クライアント側の AllowedIPs で経路を狭くしても、それだけではNAS以外へのアクセスを禁止できません。ルーター側のファイアウォールやTailscaleのポリシーでも制限します。複数利用者の権限を設計する場合は028を参照してください。
設定前に回線と管理情報を確認する
WireGuardを選ぶ前に、WAN側へ外部から到達できるかを確認します。LN6001-JPの手前にホームゲートウェイや上位ルーターがある場合は、そちらの設定も関係します。

Linksys公式サポートでは、PPPoEや固定IPサービスなど外部から着信できる環境をWireGuardサーバーとして使いやすい構成とし、DS-LiteやMAP-EではIPv4着信を利用できない場合があると案内しています。後者では、IPv6で到達できる構成、固定IPサービス、Tailscaleなどを検討します。
回線方式が分からないままUDPポートを追加しても、上流で届かなければhandshakeは起きません。先に契約回線、WANアドレス、上位機器、DDNSの要否をメモします。通常のインターネット接続自体が不安定、IPv6のサイトだけ開く、といった状態なら、VPNを重ねる前に014の回線切り分けや043のIPoE Assistantの確認手順で整理します。
外出先LANと自宅LANが両方 192.168.1.0/24 など、同じ範囲になっていないかも確認してください。宛先の重複は、VPN接続後に手元のLANへ通信してしまう原因になります。遠隔接続しかない状態で宅内LANを変更せず、現地で管理できるときにアドレス設計を見直します。
VPN Assistantを入れる
LN6001-JPでは、一般的なOpenWrt向けパッケージを寄せ集める前に、Linksys公式サポートのVPN Assistantを使います。2026年7月19日に確認した公式ページでは vpn-assistant_0.93_all.ipk が案内されています。ファイル名やバージョンは更新される可能性があるため、必ず公式ページから取得してください。
設定前にLuCIの System → Backup / Flash Firmware → Generate archive でバックアップを保存します。現在の関連設定もSSHから確認できます。
echo "### installed VPN packages"
opkg list-installed | grep -Ei 'vpn|wireguard|tailscale' || true
echo "### network and firewall hints"
uci show network | grep -Ei 'wireguard|wg|tailscale|vpn' || true
uci show firewall | grep -Ei 'wireguard|wg|tailscale|vpn' || true
LuCIでは次の順で進みます。
System → Software を開く
Update lists を実行し、完了後に Dismiss を押す
Upload Package を開く
公式ページから取得したVPN AssistantのIPKを選ぶ
Upload → Install と進む
インストール完了後にルーターを再起動する
LuCIへ入り直し、Services → VPN Assistant があることを確認する
更新エラーが出たらWAN接続とDNSを確認し、解消してから進めます。既存の手動設定との重複にも注意してください。画面や出力が異なる場合は、取得したモジュールの版と公式手順を照合します。
WireGuardは外部到達性から確認する
VPN Assistantの WireGuard Server タブで、Enable WireGuard VPN を有効にします。設定を保存したらClient Peersで最初の一台を作り、Show QR からスマートフォンへ取り込みます。

テストは自宅やオフィスのWi-Fiを切り、スマートフォンのモバイル回線で行います。同じLAN内から試すと、外部到達性の問題を見落とすことがあります。
まずWireGuardアプリの接続を有効にし、LN6001-JPでhandshakeと転送量を確認します。
echo "### WireGuard status"
if command -v wg >/dev/null; then
wg show
else
echo "wg command is not installed"
fi
echo "### WireGuard logs"
logread | grep -Ei 'wireguard|wg|vpn' | tail -n 80
handshakeがなければ、DDNS名、WANアドレス、待受UDPポート、上位ルーター、回線方式を確認します。handshakeはあるのにNASへ届かない場合は、クライアント側の AllowedIPs、LANへの経路、ファイアウォールを分けて見ます。
クライアント側の例は次の考え方です。
LuCIだけを経路へ入れる:192.168.1.1/32
NAS一台だけを経路へ入れる:192.168.1.10/32
Staff LANを経路へ入れる:192.168.1.0/24
IPv4の全通信をVPNへ入れる:0.0.0.0/0
最初は対象機器一台かStaff LANだけにします。全通信を通す設定は、VPN先のDNSやインターネット出口も含めて必要になった時に検討します。
QRコードは秘密鍵と同じ扱いにする
WireGuardのQRコードと設定ファイルには、クライアントの秘密鍵が含まれます。記事、チャット、共有フォルダー、写真アプリへ不用意に残しません。

スマートフォンを紛失したら、画面ロックだけに頼らず、該当Peerを削除または再発行します。スタッフへ渡した設定は、一人一Peer、一台一Peerにすると、対象だけを止めやすくなります。
Tailscaleは端末登録から始める
VPN Assistantの Tailscale タブで Enable Tailscale Service を有効にすると、認証用URLが表示されます。公式手順では、バックグラウンド接続が安定するまで数分かかる場合があります。URLをブラウザで開き、TailscaleアカウントでLN6001-JPを登録します。
最初は Advertise as Exit Node を有効にしません。まずLN6001-JPが管理コンソールに現れ、外出先端末からTailscale IPへ到達できることを確認します。この段階で確認できるのはLN6001-JP自身への経路です。Tailscale未導入のNASへ届くようにするには、次のサブネットルーターの設定と許可を別に確認します。
echo "### Tailscale service"
if [ -x /etc/init.d/tailscale ]; then
/etc/init.d/tailscale status
fi
echo "### Tailscale status"
if command -v tailscale >/dev/null; then
tailscale status 2>/dev/null || echo "tailscaled is not running or not authenticated"
tailscale ip 2>/dev/null || true
else
echo "tailscale command is not installed"
fi
echo "### Tailscale logs"
logread | grep -Ei 'tailscale|tailscaled|auth' | tail -n 80
認証できない場合は、LN6001-JPの時刻、WAN接続、DNS、管理コンソール側の状態を確認し、数分待ってから再確認します。
NASへ進む時は、サブネットルーターを設定する
Tailscale未導入のNASなどへ接続するには、LANへの経路広告・承認・アクセス許可に加え、接続元端末の経路受け入れを確認します。LN6001-JP自身へ接続できたら、018のTailscale詳細手順へ進んでください。
Exit Nodeは、外出先端末のインターネット通信もVPN先から出すための機能です。NASへ接続するだけなら有効にする必要はありません。
最初の確認は許可と不許可を一組にする
「NASへつながった」だけでは、範囲を狭くできているか分かりません。届くべき宛先と、届かないべき宛先を一組で確認します。

たとえば管理PCからStaff LANへ入る構成なら、次を確認します。
モバイル回線からVPNへ接続できる
NASや管理用ミニPCへ到達できる
Guestネットワークへは到達できない
Deviceネットワークは、必要な機器だけ到達できる
VPNを切るとLAN内機器へ到達できない
再起動後も意図した設定で復帰する
遮断を試す宛先は、現地の管理PCから同じIP・ポートで利用できるサービスを選びます。停止中の機器や存在しない宛先への失敗では、アクセス制御が働いたか分かりません。また、クライアント側に経路がないため届かない状態と、LN6001-JPやTailscaleのポリシーで拒否される状態を分けて確認します。
LuCIへ接続できる権限は強いので、全利用者へ渡しません。日常利用でNASだけ必要な端末と、ルーター管理を行う端末を分けると事故を小さくできます。
つながらない時は層を分けて見る
一度に設定を変えると、原因が分からなくなります。症状から最初に見る場所を絞ります。

WireGuardでhandshakeがない
回線方式、WAN到達性、上位ルーター、DDNS、待受UDPポートを確認します。MAP-EやDS-LiteではIPv4着信を利用できない場合があります。
handshakeはあるがLANへ届かない
クライアント側の AllowedIPs、VPNインターフェースのアドレス、LANへのルート、OpenWrtのファイアウォールを確認します。名前だけ引けない場合はDNSを別に切り分けます。
TailscaleでLN6001-JPは見えるがNASへ届かない
サブネット経路を広告しているか、管理コンソールで承認したか、Access controlsで許可されているか、OpenWrt側で転送できるかを確認します。
VPN接続後にインターネットが遅い
WireGuardで 0.0.0.0/0 を指定していないか、TailscaleでExit Nodeを選んでいないかを確認します。LAN内機器へ入るだけなら、全通信をVPNへ流す必要はありません。
紛失・退職・漏えい時の止め方を先に決める
VPNを有効にした日に、対象端末だけを止める方法も確認します。
WireGuard:対象Peerを無効化または削除する
Tailscale:管理コンソールから対象端末を無効化または削除する
秘密鍵やQRコード漏えい:該当Peerを再発行する
Tailscaleアカウント侵害:アカウント保護とTailnetの端末・鍵を再確認する
不審な接続:VPNを一時停止し、ログと設定変更履歴を保存する
設定失敗から戻す場合も、今操作しているVPNが唯一の管理経路なら先に現地の有線接続や担当者を確保します。全体のファイアウォールを無効にして接続を通すのではなく、最後に変更したPeer、経路、許可ルールを戻し、必要なら変更前バックアップと照合します。復旧後は「つながる宛先」と「つながらない宛先」を再試験してください。