このガイドは、Linksys OpenWRTルーターにOpenVPNを設定する方法を説明します。これらの手順に従うことで、VPNを使用して世界中のどこからでもルーターに安全に接続できるようになります。
問題が発生した場合や追加のサポートが必要な場合は、OpenWRTフォーラムまたはOpenVPNドキュメントを参照してください。
- OpenWRTルーター: ルーターがOpenWRTを実行しているMBE70モデルであることを確認してください。
- SSHアクセス: ルーターでSSHアクセスを有効にします。
- NATトラバーサルの状況を確認: この状況にある場合、追加の手順が必要です。
1. セットアップスクリプトをダウンロード
- ルーターにアクセス: SSHクライアントを使用してルーターに接続します。
ssh root@<router_ip>
- スクリプトをダウンロード: セットアップスクリプトをルーターにダウンロードします。スクリプトをダウンロードします。
wget -O /tmp/setup_openvpn_server.sh <link_to_script>
注: VPN_POOLおよびVPN_DNS変数で使用されているIPがネットワークと競合しないか確認してください。 上記のスクリプトはネットワーク10.8.0.0/24を使用しています。このネットワークが既に使用されている場合、ルーター側またはクライアント側でVPN接続を確立できません。その場合は、これらの変数を編集するだけです。
2. スクリプトを実行可能にする
chmod +x /tmp/setup_openvpn_server.sh
3. セットアップスクリプトを実行する
sh /tmp/setup_openvpn_server.sh
このスクリプトは以下を行います:
- 必要なパッケージ(openvpn-opensslおよびopenvpn-easy-rsa)をインストールします。
- キーと証明書を生成します。
- OpenVPNサーバーを設定します。
- ファイアウォールルールを設定します。
4. クライアント設定ファイルを転送する
スクリプトを実行した後、クライアント設定ファイルをローカルマシンに転送する必要があります:
scp root@<router_ip>:/etc/openvpn/openvpn_client.ovpn /path/to/local/machine
5. NATトラバーサルを確認する
NAT状況を確認するために、NAT確認スクリプトをダウンロードしてルーターで実行する必要があります。これにより、NAT状況が診断されます:
wget -O /tmp/check_nat.sh <link_to_script>
chmod +x /tmp/check_nat.sh
/tmp/check_nat.sh
スクリプトは診断結果を提供します。以下の結果が表示された場合、ルーターはNATの背後にあります:
デバイスはおそらくNATの背後にあります。
この状況にない場合は、直接ステップ6に進んでください。
この状況にある場合は、以下の指示に従う必要があります。ステップ5.aは静的なパブリックIPを持っていない場合にのみ必須です。静的なパブリックIPを持っていることが確実であれば、直接ステップ5.bに進んでください。
a. 動的DNSサービスの設定
多くの無料の動的DNSサービスがあります。どれを選んでも構いません。例として、https://www.dynu.comを選んだとしましょう。ドメイン名を選ぶように求められます。例えば、「remote_me.ddnsfree.com」を選んだとします。
次に、ルーターを設定してそのアドレスをサービスにプッシュする必要があります。これにより、IPが変更された場合でも、手動で設定する必要がなくなります。ルーターが自動的にそれを行います。
そのためには、ルーターに接続して「動的DNS」を選択します:
次に、my_ddns_IPv4サービスを編集するか、新しいサービスを作成します:
次に、詳細設定に移動して以下のように設定します:
これを行わないと、ルーターはプライベートIPアドレスを共有しようとし、動的DNSサービスによって拒否されます。
完了したら、「保存して適用」をクリックし、動的DNSページに戻ります。そこでサービスを開始し、「開始」をクリックする必要があります:
b. OpenVPNファイルの編集
動的DNSサービスが不要な静的IPを持っている方は、静的IPを取得してください。お気に入りのインターネット検索エンジンに尋ねるか、よりシンプルなコマンドを実行します:
curl ifconfig.me
IPがわかったので、接続を記述するopvnファイルを編集する必要があります。以前に取得した「openvpn_client.ovpn」ファイルを開き、4行目を編集します:
remote 192.168.1.22 1194
次のように変更します:(上記のIPアドレスは例です):
remove my_own_chosen_ddns_name.my_ddns_service.com 1194
または、静的なパブリックIPを知っている場合:
remote x.x.x.x 1194
さて、ファイルを保存します。次のステップに進むことができます。
c. ISPルーターの設定
これは最も難しい部分であり、ISPによって異なるため、明確な説明を提供するのは難しいです。まず、NATを実行しているルーターに接続する必要があります。そのルーターのIPを見つけるには、OpenWRTルーターで次のコマンドを実行します:
route
次のようなものが表示されます:
カーネルIPルーティングテーブル
デフォルトゲートウェイを探す必要があります。上記の場合、デフォルトゲートウェイは192.168.1.1です。
次に、そのデバイスに接続してルーティング/NAT設定を見つける必要があります。外部からのポート1194を、プライベートネットワーク内のOpenWRTデバイスに転送するように設定します。これは私の場合の表示です:
再度、これはISPによって異なります。この部分を達成できた場合、最終的にステップ6に進むことができます!
このステップを通過できない場合は、パニックにならないでください。別の設定が可能です。次を参照してください ZeroTier VPNを使用したリモートアクセス設定。
6. OpenVPNクライアントを使用して接続する
- OpenVPNクライアントをインストールする: お使いのオペレーティングシステム用のOpenVPNクライアントをOpenVPNの公式サイトからダウンロードしてインストールします。
- 設定ファイルをインポートする: OpenVPNクライアントを開き、ローカルマシンに転送したopenvpn_client.ovpnファイルをインポートします。
- VPNに接続する: インポートした設定を選択し、「接続」をクリックします。
7. 接続を確認する
接続後、IPアドレスが変更され、ネットワーク内の内部リソースにアクセスできることを確認します。この記事の最初に提供されたスクリプトOpenVPN_Remote.shを編集していない場合は、次のIPでルーターにSSH接続を試みることができます: 10.8.0.1
一般的な問題
- 接続が拒否される: ルーターのファイアウォールがOpenVPNポートへの着信接続を許可していることを確認します。
- 設定エラー: OpenVPNのログを確認して設定エラーがないか確認します。
logread -e openvpn
上級ユーザー向けに、OpenVPNの設定をさらにカスタマイズすることができます。/etc/openvpn/openvpn_server.confにあるサーバー設定ファイルを編集し、必要な変更を加えます。
- 強力なパスワードを使用する: すべてのパスワードが強力で安全であることを確認します。
- ソフトウェアを最新に保つ: OpenWRTおよびインストールされたパッケージを定期的に最新バージョンに更新します。
- ログを監視する: OpenVPNおよびシステムログを定期的にチェックし、異常な活動がないか確認します。