Contents
導入前の前提要件と互換性チェック(ExpressVPN と Asuswrt‑Merlin)
導入前にハード/ソフト面の互換性を確認します。ここでの検証は稼働後のトラブルやセキュリティ事故を防ぐため重要です。
互換性チェックと必須項目
まず確認すべき最小要件とチェックポイントを列挙します。
- 対応機種とファームウェア
- Asuswrt‑Merlin が公式にサポートするモデルか確認します。代表例は RT‑AC86U / RT‑AC88U / RT‑AX86U / RT‑AX88U / GT‑AX11000 / RT‑AC5300 等ですが、必ず Merlin の対応リストで検証してください。
-
Merlin のビルドによって OpenVPN クライアント機能や JFFS/Entware の可否が変わります。安定版リリースノートを参照してください。
-
ハードウェア要件(CPU・メモリ・ストレージ)
- OpenVPN は CPU 負荷が高く、ルーターのスループットは CPU 性能に依存します。想定帯域が高い場合は上位機種や別筐体を検討してください。
-
JFFS を使う場合は書き込み回数制限と永続化状態(/jffs がマウントされていること)を確認してください。
-
ExpressVPN 側の前提
- 有効な ExpressVPN サブスクリプションが必要です。Manual Config(OpenVPN)から .ovpn ファイルと OpenVPN 用のユーザー名/パスワードが取得できることを確認します。
環境依存の名称/パスの確認方法
実環境でのインターフェース名やパスは機種や設定で異なります。実際に確認してからスクリプトやルールに反映してください。
- インターフェース名の確認例(実行前に管理端末で確認)
|
1 2 3 4 |
ip addr show ip -o -4 route get 8.8.8.8 | awk '{print $5}' # デフォルト経路のインターフェースを取得 cat /proc/net/dev |
- ブリッジ名や LAN 名は br0 / br-lan / vlan0 等があるため、スクリプトでは変数化して置換します。
|
1 2 3 |
WAN_IF=$(ip -o -4 route get 8.8.8.8 | awk '{print $5}') LAN_BR=$(ip -o link show | awk -F': ' '/br/{print $2; exit}') |
公式アプリ・プロトコル対応の事実確認
ExpressVPN の公式ルーターアプリや Lightway/WireGuard の対応状況は変化します。導入前に必ず公式ドキュメントを参照してください(参照日: 2026-04-30)。公式ドキュメントや Merlin のリリースノートを優先して確認し、ここで示した情報を鵜呑みにしないでください。
Asuswrt‑Merlin の準備(バックアップ/バージョン管理)
作業前にバックアップと復旧手順を必ず確立します。設定ミスやファームウェア更新失敗時のロールバック計画が最重要です。
バージョン管理とリスク評価
安定版の Merlin ビルドを選び、OpenVPN 関連の既知不具合がないかリリースノートで確認します。業務時間外のメンテナンス枠を確保し、物理的な現地復旧手段も用意してください。
設定とファイルのバックアップ(暗号化と除外)
設定のバックアップは暗号化して保管し、認証情報はバックアップ対象から除外するのが基本です。以下の手順は一例です。
- 設定のエクスポート(GUI)
-
GUI の Administration → Restore/Save Settings でエクスポートします。エクスポートファイルに認証情報が含まれていないか必ず中身を確認してください。
-
CLI ベースで一時アーカイブを作成してから安全な作業局へ転送する例
|
1 2 3 4 5 |
# ルーター側(一部のモデルでは openssl/gpg が無いことに注意) cd /jffs || exit tar czf /tmp/merlin-config-$(date +%F).tgz configs || true scp /tmp/merlin-config-*.tgz admin@workstation:/secure/path/ |
- バックアップの暗号化(作業端末側で推奨: GPG を使用)
|
1 2 |
gpg --symmetric --cipher-algo AES256 -o merlin-config.tgz.gpg merlin-config.tgz |
- バックアップ前に認証ファイルを除外する方法(例)
|
1 2 |
tar --exclude='./configs/openvpn/auth' -czf /tmp/merlin-config-sanitized.tgz configs |
バックアップファイルをクラウドや外部ストレージに保管する場合は保存先のアクセス権・暗号化キーの管理ポリシーを厳密に決めてください。
/jffs と認証情報・証明書の機密管理
/jffs や GUI に認証情報や証明書を置く場合のリスクと対策を明示します。平文保管、ファイル権限、バックアップへ混入するリスクに注意してください。
- 認証情報ファイルの安全な作成例(ルーター上での最低限の対策)
|
1 2 3 4 5 6 7 8 9 |
umask 077 mkdir -p /jffs/openvpn cat > /jffs/openvpn/auth <<'EOF' your_ovpn_username your_ovpn_password EOF chown root:root /jffs/openvpn/auth chmod 600 /jffs/openvpn/auth |
- 留意点
- GUI に入力したユーザー名/パスワードが NVRAM やエクスポートファイルに平文で保存される場合があるため、エクスポートファイルは必ず検査し、不要な認証情報を削除します。
- 証明書(CA, TLS‑Auth)もファイルとして保存されるため、権限を限定し、アクセスログを監視します。
- 長期保存するバックアップは必ず暗号化し、鍵管理ポリシーを適用します。
SSH と GUI 管理のハードニング
管理者インターフェースを堅牢にします。
- リモート GUI(WAN側)の無効化を推奨します。必要なら管理専用 IP のみ許可します。
- HTTPS を有効にし、管理アカウントは強力なパスワードにします。可能なら管理用 VLAN/物理隔離を行います。
- 管理者アカウントの多要素認証が使えない場合、アクセス元 IP を固定してフィルタリングします。
公式アプリとMerlin手動設定の比較(実務向け)
導入手法は運用要件で決定します。簡便性と保証を重視するか、柔軟な制御を重視するかで選択してください。
利点・欠点と推奨ケース
公式アプリと Merlin 手動設定の長所短所をまとめます。
- 公式 ExpressVPN ルーターアプリ
- 利点:導入が簡単で Network Lock(キルスイッチ)等の機能が組み込まれている場合があるため、個人利用や手間をかけたくない環境に向きます。
-
欠点:対応機種やファームウェアに制限があり、Merlin に換装していると動作しない場合があります。企業利用ではサポート体制や証跡が十分か確認が必要です。
-
Merlin 手動 OpenVPN 設定
- 利点:PBR(分割トンネリング)、dnsmasq による DNS 制御、iptables を使った細かいキルスイッチなど高度な制御が可能です。
- 欠点:手作業が増え、設定ミスによる管理アクセス喪失リスクが上がります。運用上は変更管理とロールバック手順が必須です。
Manual Config の認証情報取得手順(ExpressVPN)
ExpressVPN の Manual Config で得られる OpenVPN 用のユーザー名/パスワードはアカウントログイン用のパスワードとは別扱いです。取得手順(UI 名は変わる可能性があるため目安)を示します。
- ExpressVPN アカウントにログインします。
- 「Manual Config」や「Set Up Other Devices」等のページを開き、OpenVPN を選択します。
- 接続したいサーバーの .ovpn をダウンロードします(複数を取得しておくと切替が容易です)。
- ページ内に表示される OpenVPN 用の「ユーザー名」と「パスワード」を控えます(この認証情報は OpenVPN 用で、アカウントのログインパスワードとは別です)。
- 認証情報は一時表示または生成式の場合があるため、安全に保管し、必要に応じて再生成や撤回(revoke)を行ってください。
(参照日: 2026-04-30。ExpressVPN の UI や手順は更新されるため、必ず公式ページの最新手順を確認してください。)
Merlinでの OpenVPN クライアント設定(ステップバイステップ)
GUI で完結する流れと、必要に応じた .ovpn 編集例を示します。スクリプトやルールを導入する前に環境名やパスを実機で確認してください。
.ovpn の編集と GUI 設定(事前確認)
.ovpn を入手してから GUI 登録するまでの手順です。事前に .ovpn 内容を確認しておきます。
- ExpressVPN の Manual Config から .ovpn を複数ダウンロードします。
- .ovpn の確認項目:remote(ホスト:ポート)、proto(udp/tcp)、auth‑user‑pass の有無、
/ の有無、cipher/auth、tun‑mtu/mssfix 等。 - GUI の VPN → VPN Client → Add profile → OpenVPN を選びます。Description、Server Address(remote の host:port)、Protocol、Username、Password を入力します。
や が inline( ... )であれば、その中身を GUI の CA Cert / TLS Auth Key フィールドに貼り付けます。GUI に直接貼れない場合は /jffs に保存して参照する方法もありますが、機密管理に注意してください。- Advanced に mssfix 1400 等を追加して試験し、Save → Activate で接続、Status が Connected になることを確認します。
分割トンネリング(ポリシーベースルーティング)実例
特定端末だけを VPN 経由にする場合の基本概念と安全な適用手順を示します。以下は例であり、実環境のインターフェース名に置換してください。
- 事前チェック(必須)
- 管理アクセスを確保するため、変更適用前に管理 PC の IP(例: 192.168.1.10)を許可するルールを追加します。
- 現行 iptables を保存し、ロールバック用の自動復帰を設定します。
|
1 2 3 4 5 6 |
# 例: 現行ルールを保存 iptables-save > /tmp/iptables.pre_vpn # 例: デフォルトの戻しを 300 秒後に実行するリバート(テスト用) nohup sh -c 'sleep 300 && iptables-restore < /tmp/iptables.pre_vpn && echo "rollback executed" > /tmp/rollback.log' >/dev/null 2>&1 & |
- ソースベースルーティング(例: 192.168.1.50 を VPN 経路へ)
|
1 2 3 4 5 6 7 8 9 10 11 12 |
# ルーティングテーブル追加 echo "200 vpn" >> /etc/iproute2/rt_tables # 端末をルールに追加 ip rule add from 192.168.1.50/32 table 200 # tun 名は実環境で確認(例: tun0) ip route add default dev tun0 table 200 # LAN への経路明示(br0 等は実機で置換) ip route add 192.168.1.0/24 dev br0 table 200 |
- マークベースの例(iptables + ip rule)
|
1 2 3 4 |
iptables -t mangle -A PREROUTING -s 192.168.1.50 -j MARK --set-mark 1 ip rule add fwmark 1 table 200 ip route add default dev tun0 table 200 |
- 永続化は /jffs/scripts/firewall-start に追加し、実行権限を付与します。ただしパスは機種依存のため必ず確認してください。
接続検証・DNSリーク対策・キルスイッチ・IPv6対策
接続後は必ず IP/DNS リーク、切断時の挙動、IPv6 の取り扱いを検証します。これらはプライバシー保護に直結します。
接続テストと DNS の設定
接続確認と DNS 強制設定の基本手順です。複数の外部検査サイトで確認してください。
- 基本検証
- ルーターの VPN ステータスが Connected か確認します。
- クライアントから公開 IP 確認サイト(例: ipinfo.io)で表示される国と IP を検証します。
-
DNS リーク検査は dnsleaktest.com や ipleak.net 等で DNS サーバー表示を確認します。
-
ルーター側で上流 DNS を固定する dnsmasq 例(/jffs/configs/dnsmasq.conf.add に追記)
|
1 2 3 4 5 6 |
no-resolv server=1.1.1.1 server=9.9.9.9 domain-needed bogus-priv |
- DoH/DoT を使用する場合は Entware に cloudflared 等を導入し、ローカルの 127.0.0.1:5053 を上流に指定します。導入は検証と負荷試験が必要です。
キルスイッチの実装と管理アクセス保護
誤設定で管理アクセスを失うリスクが高いため、管理 IP を残す例を示します。実行前に物理アクセスと復旧手順を用意してください。
- 安全なキルスイッチ例(実行前に WAN_IF と VPN_SERVER_IP を実機で置換)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# 変数設定(実機で確認して置換) MGMT_IP=192.168.1.10 WAN_IF=$(ip -o -4 route get 8.8.8.8 | awk '{print $5}') VPN_SERVER_IP=203.0.113.45 # 現行ルール保存 iptables-save > /tmp/iptables.pre_killswitch # 管理用の SSH/GUI ポートを許可 iptables -I INPUT -s $MGMT_IP -p tcp -m multiport --dports 22,443 -j ACCEPT # ルーター自身が VPN サーバーに接続できるよう許可 iptables -I OUTPUT -o $WAN_IF -d $VPN_SERVER_IP -j ACCEPT iptables -I OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT # その他 WAN への出力を遮断(慎重に) iptables -I OUTPUT -o $WAN_IF -j DROP iptables -I FORWARD -o $WAN_IF -j DROP # 自動ロールバック(例: 5 分後に元に戻す保険) nohup sh -c 'sleep 300 && iptables-restore < /tmp/iptables.pre_killswitch && echo "rollback done" >/tmp/killswitch_rollback' >/dev/null 2>&1 & |
- 重要:上記を実行する際は必ず管理端末からの接続を確認してから適用してください。ロールバックが自動化されていない環境では、管理者の事前確認と物理リセット方法(ルーターのリセットボタン、シリアルコンソール、リカバリモードなど)を用意してください。
IPv6 の扱い
多くの VPN は IPv6 をトンネルしないため、IPv6 が有効だとリークのリスクがあります。運用での対処例を示します。
- IPv6 を無効にする(即時反映)
|
1 2 3 |
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6 echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6 |
- GUI で IPv6 関連設定を無効化するか、永続化する設定ファイルに追記してください。必要な場合はプロバイダと VPN の両方が IPv6 をサポートすることを確認した上で設定を行ってください。
運用・保守、パフォーマンス最適化、トラブルシューティング、法務・コンプライアンス(実務向け)
導入後の監視、定期メンテナンス、障害対応、社内承認フローまでを含めた運用ガイドです。
運用と保守(チェックリスト)
日常的に確認すべき項目をまとめます。
- サブスクリプション有効性と Manual Config 認証情報の有効期限確認。
- 設定の暗号化バックアップを定期実行(取得・保管・鍵管理を明文化)。
- Merlin と Entware 等のパッケージの定期更新とリリースノート確認。
- ログの保全:必要ならリモート syslog(暗号化チャネル推奨)へ転送し、ローテーションを設定。
パフォーマンス測定とベンチマーク手順
「1GHz で数十 Mbps」という表現は目安にすぎません。実測手順を示します。
- 測定準備
- 測定は LAN クライアント → インターネット(VPS などの iPerf サーバ)で実施します。ルーター上で直接 iperf を動かせない場合は LAN 側の PC を用います。
-
VPN のオン/オフでそれぞれ計測して差分を確認します。
-
iperf3 を使った測定例(サーバ側)
|
1 2 3 |
# サーバ(VPS) iperf3 -s |
- クライアント側(LAN PC)
|
1 2 3 |
# VPN 有効時/無効時に分けて実行 iperf3 -c <iperf_server_ip> -t 60 -P 4 |
- CPU 監視(ルーター上で)
|
1 2 3 |
top -b -n1 | head -n 20 cat /proc/loadavg |
- 繰り返し測定して中央値を取り、CPU 使用率とスループットの相関を確認してください。プロトコル(UDP/TCP)、暗号方式(AES‑128/AES‑256)、AES‑NI の有無で結果は大きく変わります。一般的な目安として、AES ハードウェア支援が無い 1GHz クラスのルーターでは OpenVPN のスループットは数十 Mbps 程度になることがありますが、これは実装や負荷に依存するため必ず自環境で測定してください。
代表的なトラブルと具体的な復旧手順(ログとコマンド例)
代表的なログメッセージ別に初動と調査コマンドを示します。
- AUTH_FAILED(認証失敗)
- 初動:Manual Config の OpenVPN 用ユーザー名/パスワードを再取得し、改行や CRLF の混入がないか確認します。
- ログ確認コマンド例:
|
1 2 3 |
grep -i "AUTH_FAILED" /tmp/openvpn* || true cat /tmp/openvpn* | tail -n 200 |
-
切り分け:別 PC 上で同じ .ovpn と auth ファイルを使い、openvpn コマンドで接続して再現性を確認します。
-
TLS Error / VERIFY_FAILED(証明書検証失敗)
- 初動:CA や tls‑auth キーの不一致、時刻ズレが原因の場合があります。時刻同期を確認します。
- コマンド例(時刻同期とサーバ接続テスト):
|
1 2 3 4 |
date ntpdate -q pool.ntp.org || true openssl s_client -connect vpn.example.com:1194 -showcerts |
- Connection timed out / Connection refused(到達不可)
- 初動:ポート・プロトコルがブロックされている可能性があります。別ポート(TCP/443)や別サーバを試します。
- 接続性確認コマンド例(ルーターに nc が無い場合は別端末から):
|
1 2 3 4 |
nc -vz vpn.example.com 1194 traceroute vpn.example.com ping -c 4 vpn.example.com |
- ログや設定をサポートに送る際は、認証情報や秘密鍵を除外してパッケージ化します。
|
1 2 |
tar --exclude='./jffs/openvpn/auth' -czf /tmp/support_pkg.tgz /tmp/openvpn* /jffs/configs |
自動復旧と監視
自動再接続(keepalive、resolv‑retry、persist‑tun)を .ovpn に設定し、/jffs/scripts に簡単な監視スクリプトを置くことを推奨します。自動化は便利ですが、誤動作時の影響範囲を評価してください。
法務・コンプライアンスと社内承認の具体例
企業導入では技術判断だけでなく法務・情報セキュリティ部門との連携が必須です。具体的な承認プロセス例を示します。
- ベンダーリスク評価(Vendor Security Assessment)
- 提出させる資料例:プライバシーポリシー、DPA(Data Processing Agreement)、SOC2/ISO27001 等の第三者評価書、インシデント通知の SLA。
- 社内承認フロー(例)
- 技術設計書(接続アーキテクチャ、ログ保持方針)を作成。
- 情報セキュリティ部門のリスク評価と承認。
- 法務による契約(DPA 等)確認。
- 変更管理(RFC)を通じた本番導入スケジュールの確定。
- 検討項目
- ログの収集・保存場所と保持期間、クロスボーダー(国をまたぐ)通信の法的影響、プロバイダの管轄国と管轄法。
参考リンクと信頼性メモ
外部情報を参照する際は出典の信頼性と利害関係を確認してください。
- ExpressVPN サポート(公式、最優先で参照)
- https://www.expressvpn.com/jp/support/vpn-setup/
-
信頼性:公式ドキュメントのため導入手順や認証情報取得について最優先で確認すること。
-
FlashRouters(商用のプレフラッシュルーター提供、ガイドあり)
- https://support.flashrouters.com/asuswrt-merlin/vpn-setup-asuswrt-merlin/expressvpn-merlin-openvpn-setup/
-
信頼性:実務的ガイドあり。ただし商用ベンダーであり製品販売やアフィリエイトの可能性があるため、公式情報と突き合わせて検証してください。
-
個人/紹介記事(実例)
- https://yoshikazu-komatsu.com/expressvpn-router-setup-guide-benefits/
-
信頼性:個人の実機解説。具体的な事例は参考になるが、環境差に注意して適用すること。
-
総合ガイド(レビュー系、商用)
- https://ja.safetydetectives.com/blog/%E3%83%AB%E3%83%BC%E3%82%BF%E3%83%BC%E3%81%ABvpn%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/
- 信頼性:レビューページ。比較情報は有益だが、アフィリエイトや評価基準の偏りに留意してください。
(各リンク参照日: 2026-04-30。リンク先の情報は更新されるため、常に公式ページを最優先で確認してください。)
まとめ
ExpressVPN を Asuswrt‑Merlin で運用する際は、互換性確認、認証情報の機密管理、ファイアウォール操作前のロールバック策、性能測定、法務承認の順で準備することが重要です。以下に要点を整理します。
- 導入前に Merlin の対応機種・ビルドと ExpressVPN のサポート状況を確認する。
- /jffs や GUI に認証情報を置く場合はファイル権限を厳格にし、バックアップからは除外して暗号化保存する。
- iptables 等のルール変更は必ず管理 IP を例外にするか、ロールバックタイマーを設定して管理喪失リスクを軽減する。
- パフォーマンスは実機測定(iperf3 等)で確認し、必要であればハードウェア強化か別プロトコルを検討する。
- 企業導入では情報セキュリティ部門・法務によるベンダー評価と承認を必須とすること。