はじめに
仮想プライベートネットワーク(VPN)は、インターネット接続を保護し、リモートネットワークにアクセスし、機密データを保護するために、企業や個人にとって不可欠なツールとなっています。MikroTikルーターは、その堅牢な機能セットとコスト効率の良さで知られており、様々なセキュリティニーズとユースケースに対応するいくつかのVPN実装オプションを提供しています。
この包括的なガイドでは、MikroTikルーターに様々なVPNソリューションをセットアップするプロセスを順を追って説明します。安全なサイト間接続を確立しようとしているネットワーク管理者であろうと、自宅のネットワークにリモートでアクセスしたい個人であろうと、この記事はMikroTikデバイスにVPNサービスを正常に実装するための知識とステップバイステップの手順を提供します。TildaVPSは、このガイドで説明するVPNソリューションの実装に最適な最適化されたMikroTikサーバーを提供し、ネットワーキングのニーズに対して信頼性の高い安全な接続を保証します。
セクション1:MikroTikのVPNタイプを理解する
MikroTikで利用可能なVPNオプション
MikroTik RouterOSはいくつかのVPNプロトコルをサポートしており、それぞれに独自の強みと理想的なユースケースがあります。設定に取り掛かる前に、どのプロトコルがあなたのニーズに最適かを理解することが重要です。
OpenVPNは、セキュリティとパフォーマンスのバランスに優れたオープンソースのVPNプロトコルです。キー交換にはSSL/TLSを使用し、UDPとTCPの両方で動作できます。OpenVPNは高度に設定可能で、ほとんどのファイアウォールをバイパスできるため、多くのシナリオで汎用性の高い選択肢となります。
IPsec(Internet Protocol Security)は、各IPパケットを認証および暗号化することで安全なIP通信を提供します。プラットフォーム間で広くサポートされており、非常に安全と考えられているため、支店間のサイト間VPN接続に理想的です。
L2TP/IPsecは、レイヤー2トンネリングプロトコルとIPsec暗号化を組み合わせたものです。このプロトコルは、Windows、macOS、iOS、Androidを含むほとんどのオペレーティングシステムでネイティブにサポートされており、リモートアクセスVPNに便利です。
PPTP(Point-to-Point Tunneling Protocol)は、最も古いVPNプロトコルの1つです。セットアップが簡単で高速な接続を提供しますが、そのセキュリティは侵害されており、利便性がセキュリティ上の懸念を上回る非機密性のアプリケーションにのみ適しています。
SSTP(Secure Socket Tunneling Protocol)は、TCPポート443でSSLを使用するため、ほとんどのファイアウォールやプロキシサーバーを通過できます。良好なセキュリティレベルを提供しますが、主にWindowsプラットフォームでサポートされています。
WireGuardは、そのシンプルさ、高いパフォーマンス、最新の暗号化で知られる新しいプロトコルです。MikroTikはRouterOS v7でWireGuardのサポートを追加し、最新のファームウェアを実行しているユーザーにとって優れたオプションとなっています。
MikroTikでVPNを使用するメリット
強化されたセキュリティ: VPNはデータを暗号化し、特に公衆Wi-Fiネットワークを使用している場合に、盗聴や中間者攻撃からデータを保護します。
リモートアクセス: 世界中のどこからでも自宅やオフィスのネットワークリソースに安全にアクセスできます。
サイト間接続: 複数のオフィス拠点をインターネット経由で安全に接続し、統合されたネットワークを構築します。
地域制限の回避: 異なる地理的場所にVPNサーバーに接続することで、地域制限のあるコンテンツにアクセスできます。
ネットワークセグメンテーション: 組織内で異なる部門や目的のために、安全で隔離されたネットワークセグメントを作成します。
適切なVPNプロトコルの選択
MikroTikセットアップに最適なVPNプロトコルは、特定の要件によって異なります。
- 最大限のデバイス互換性の場合:L2TP/IPsec
- 企業環境での最高のセキュリティの場合:IPsec
- 柔軟性と良好なセキュリティ・パフォーマンスバランスの場合:OpenVPN
- 最新の高性能ニーズの場合:WireGuard (RouterOS v7+)
- Windowsクライアントでの簡単なセットアップの場合:SSTP
ミニFAQ
MikroTikで最高のパフォーマンスを提供するVPNプロトコルは何ですか?
WireGuardは、その軽量な設計と効率的な暗号化により、一般的に最高のパフォーマンスを提供し、次にUDPを使用するOpenVPNが続きます。ただし、パフォーマンスは特定のハードウェアとネットワーク条件によって異なります。
MikroTikルーターで複数のVPNプロトコルを同時に実行できますか?
はい、MikroTik RouterOSでは複数のVPNプロトコルを同時に実行できます。これは、異なるクライアントデバイスをサポートしたり、1つのプロトコルがブロックされた場合にフォールバックオプションを提供したりするのに役立ちます。
セクション2:MikroTikでVPNをセットアップするための前提条件
ハードウェアおよびソフトウェア要件
MikroTikルーターでVPNをセットアップする前に、以下の前提条件が整っていることを確認してください。
ハードウェア要件:
- VPNの暗号化/復号化に十分な処理能力を持つMikroTikルーター。VPNの使用量が多い場合は、RB4011やCCRシリーズのようなマルチコアプロセッサを搭載したモデルを検討してください。
- 十分なRAM(複数のVPN接続には少なくとも256MB推奨)
- VPNのニーズに十分な帯域幅を備えた安定したインターネット接続
ソフトウェア要件:
- 選択したVPNプロトコルと互換性のあるRouterOSバージョン(v6.45+推奨、WireGuardにはv7+)
- セキュリティパッチが適用されていることを確認するため、最新の安定リリースに更新済みであること
- 選択したVPNプロトコルをサポートする有効なライセンスレベル(ほとんどのVPN機能にはレベル4以上が必要)
ネットワーク要件:
- パブリックIPアドレス(静的IPが望ましい)または適切に構成されたDDNSサービス
- MikroTikが別のルーターの背後にある場合は、適切なポートフォワーディング
- VPNトラフィックを許可するように適切に構成されたファイアウォールルール
初期ルーター設定
VPNを実装する前に、MikroTikルーターが基本的な安全な設定になっていることを確認してください。
- RouterOSを最新の安定バージョンに更新する
- デフォルトの管理者パスワードを変更する
- すべてのインターフェースに適切なIPアドレスを設定する
- ネットワークを保護するための基本的なファイアウォールルールを設定する
- DNS設定を構成する
- 正確な時刻がVPN認証に不可欠であるため、NTP(ネットワークタイムプロトコル)が適切に構成されていることを確認する
VPN実装の計画
VPN導入を計画する時間をとって、以下を検討してください。
VPNトポロジー:
- リモートアクセスVPN(クライアントがネットワークに接続する)
- サイト間VPN(複数のネットワークを接続する)
- ハブアンドスポーク(中央サイトが複数の支店に接続する)
- メッシュ(すべてのサイトが相互に接続する)
IPアドレススキーム:
- VPNクライアント用のIPサブネットを決定する
- ローカルネットワークとリモートネットワーク間でIPの競合がないことを確認する
- ネットワーク間の適切なルーティングを計画する
認証方法:
- ユーザー名/パスワード
-
plaintext
証明書ベースの認証
- プリシェアードキー
- 二要素認証
セキュリティに関する考慮事項:
- 暗号化強度の要件
- トラフィック分離の必要性
- アクセス制御ポリシー
MikroTikルーターへのアクセス
MikroTikルーターを設定するには、以下のいずれかの方法でアクセスする必要があります。
-
WebFig(Webベースの構成インターフェース):
- Webブラウザ経由でルーターのIPアドレスに接続します
- 資格情報でログインします
- メニューを介してVPN設定を構成します
-
WinBox(Windows GUIアプリケーション):
- MikroTikのウェブサイトからWinBoxをダウンロードします
- IPまたはMACアドレス経由でルーターに接続します
- グラフィカルインターフェースを使用して設定を構成します
-
SSH/Telnet(コマンドラインインターフェース):
- PuTTYのようなSSHクライアントを使用して接続します
- RouterOS CLIに直接コマンドを入力します
- スクリプト作成や高度な構成に便利です
-
The Dude(ネットワーク管理アプリケーション):
- 複数のMikroTikデバイスを管理するため
- インフラストラクチャのネットワーク全体ビューを提供します
ミニFAQ
MikroTikでVPNサーバーをセットアップするには、静的IPアドレスが必要ですか?
静的IPが理想的ですが、動的IPをお持ちの場合は、no-ip.comやdyn.comのようなダイナミックDNSサービスを使用できます。MikroTikは、スクリプトまたは組み込みのDDNSクライアントを介した自動DDNS更新をサポートしています。
MikroTikのVPN機能にはどのライセンスレベルが必要ですか?
ほとんどのVPN機能にはレベル4以上のライセンスが必要です。ただし、基本的なPPTPとL2TPはレベル3から利用できます。高度な機能とより良いパフォーマンスのために、特にエンタープライズ展開ではレベル5またはレベル6が推奨されます。
セクション3:L2TP/IPsec VPNサーバーのセットアップ
L2TP/IPsecは最も広くサポートされているVPNプロトコルの1つであり、多様なクライアントデバイスを持つ環境にとって優れた選択肢です。MikroTikルーターにL2TP/IPsec VPNサーバーをセットアップするプロセスを順を追って見ていきましょう。
ステップ1:IPsec設定の構成
まず、L2TPトンネルに暗号化を提供するVPNのIPsec部分を設定する必要があります。
- WinBoxを開き、MikroTikルーターに接続します
- IP → IPsec → Profilesに移動します
- **+**ボタンをクリックして新しいプロファイルを追加します
- 以下の設定を構成します:
- Name: L2TP-IPsec
- Hash Algorithms: sha256
- Encryption Algorithms: aes-256-cbc
- DH Group: modp2048
- Proposal Check: obey
- Lifetime: 1d 00:00:00
- OKをクリックしてプロファイルを保存します
次に、IPsecプロポーザルを作成します。
- IP → IPsec → Proposalsに移動します
- **+**ボタンをクリックして新しいプロポーザルを追加します
- 以下の設定を構成します:
- Auth Algorithms: sha256
- Encr Algorithms: aes-256-cbc
- PFS Group: modp2048
- OKをクリックして保存します
次に、IPsecピアを設定します。
- IP → IPsec → Peersに移動します
- **+**ボタンをクリックして新しいピアを追加します
- 以下の設定を構成します:
- Name: L2TP-Peer
- Address: 0.0.0.0/0(任意のIPからの接続を受け入れるため)
- Profile: L2TP-IPsec(以前に作成したプロファイル)
- Exchange Mode: main
- Send Initial Contact: yes
- Nat Traversal: yes
- Pre-shared Key: YourStrongSecretKey(強力でユニークなキーを使用してください)
- OKをクリックして保存します
ステップ2:L2TPサーバーの構成
次に、L2TPサーバーを設定しましょう。
- 左メニューのPPPに移動します
- Profilesタブに移動します
- **+**ボタンをクリックして新しいプロファイルを追加します
- 以下の設定を構成します:
- Name: L2TP-Profile
- Local Address: VPNに使用するルーターのIPを指定します(例:10.0.0.1)
- Remote Address: クライアント用のIPプールを指定します(例:10.0.0.2-10.0.0.254)
- DNS Server: 優先するDNSサーバー
- Use Encryption: yes
- OKをクリックしてプロファイルを保存します
次に、L2TPサーバーを設定します。
- Interfaceタブに移動します
- L2TP Serverをクリックします
- 以下の設定を構成します:
- Enabled: yes
- Max MTU: 1450
- Max MRU: 1450
- Keep Alive Timeout: 30
- Default Profile: L2TP-Profile(作成したプロファイル)
- Authentication: mschap2, mschap1, chap(互換性を考慮してこの順序で)
- Use IPsec: yes
- IPsec Secret: YourStrongSecretKey(IPsecピア設定と同じ)
- OKをクリックして保存します
ステップ3:VPNユーザーの作成
次に、VPNアクセス用のユーザーアカウントを作成します。
- 左メニューのPPPに移動します
- Secretsタブをクリックします
- **+**ボタンをクリックして新しいシークレットを追加します
- 以下の設定を構成します:
- Name: username(VPNユーザーのログインユーザー名)
- Password: password(ユーザーの強力なパスワード)
- Service: l2tp
- Profile: L2TP-Profile
- OKをクリックして保存します
- 必要に応じて追加のユーザーに対して繰り返します
ステップ4:ファイアウォールルールの構成
ファイアウォール経由でVPNトラフィックを許可するには:
-
IP → Firewall → Filter Rulesに移動します
-
L2TPおよびIPsecトラフィックを許可するルールを追加します:
IPsecの場合:
- UDPポート500(IKE)を許可するルールを追加
- UDPポート4500(IPsec NAT-T)を許可するルールを追加
- IPプロトコル50(ESP)を許可するルールを追加
- IPプロトコル51(AH)を許可するルールを追加
L2TPの場合:
- UDPポート1701(L2TP)を許可するルールを追加
-
必要に応じて、VPNサブネットからネットワーク上のリソースにアクセスするためのルールを追加します
ステップ5:VPN接続のテスト
設定が完了したら、クライアントデバイスからVPN接続をテストします。
-
Windowsの場合:
- 設定 → ネットワークとインターネット → VPNに移動します
- 「VPN接続を追加」をクリックします
- VPNプロバイダー:Windows(組み込み)
- 接続名:MikroTik L2TP
- サーバー名またはアドレス:MikroTikのパブリックIPまたはDDNS
- VPNの種類:プリシェアードキー付きL2TP/IPsec
- プリシェアードキー:YourStrongSecretKey(設定したもの)
- ユーザー名とパスワード:PPPシークレットで作成した資格情報
-
Android/iOSの場合:
- 設定 → VPNに移動します
- 新しいVPN接続を追加します
- L2TP/IPsecを選択します
- MikroTikのパブリックIPまたはDDNSを入力します
- プリシェアードキー、ユーザー名、パスワードを入力します
ミニFAQ
L2TP/IPsec VPN接続が確立されないのはなぜですか?
一般的な問題としては、プリシェアードキーの誤り、ファイアウォールによるVPNポートのブロック、NATの問題、または互換性のない暗号化設定などが挙げられます。問題のトラブルシューティングのために、System → Logs下のルーターログで特定のエラーメッセージを確認してください。
MikroTikルーターはいくつの同時L2TP/IPsec VPNユーザーをサポートできますか?
これはルーターのハードウェア能力に依存します。エントリーレベルのモデルは5〜10の同時ユーザーを処理できるかもしれませんが、CCRシリーズのようなハイエンドモデルは何十、あるいは何百もの接続をサポートできます。CPU使用率は、暗号化のオーバーヘッドにより主要な制限要因となります。
セクション4:OpenVPNサーバーのセットアップ
OpenVPNは、さまざまなプラットフォームでうまく機能する、高度に設定可能で安全なVPNソリューションです。MikroTikでこれをセットアップするには、証明書の作成とサーバーの適切な設定が必要です。手順を追って見ていきましょう。
ステップ1:証明書の作成
OpenVPNは認証に証明書を使用します。認証局(CA)、サーバー証明書、およびクライアント証明書を作成する必要があります。
-
System → Certificatesに移動します
-
まず、認証局(CA)を作成します:
- Addボタンをクリックします
- Nameを設定します: CA
- Common Nameを設定します: MikroTik-CA
- Key Sizeを設定します: 2048
- Days Validを設定します: 3650(10年)
- Key Usageにチェックを入れます: crl sign, key cert sign
- Applyをクリックし、次にSignをクリックします
- 新しいダイアログで、証明書としてCAを選択し、Signをクリックします
-
サーバー証明書を作成します:
- Addボタンをクリックします
- Nameを設定します: Server
- Common Nameを設定します: MikroTik-Server
- Key Sizeを設定します: 2048
- Days Validを設定します: 3650
- Key Usageにチェックを入れます: digital signature, key encipherment, tls server
- Applyをクリックし、次にSignをクリックします
- 新しいダイアログで、認証局としてCAを選択し、Signをクリックします
-
クライアント証明書を作成します:
- Addボタンをクリックします
- Nameを設定します: Client1
- Common Nameを設定します: Client1
- Key Sizeを設定します: 2048
- Days Validを設定します: 3650
- Key Usageにチェックを入れます: tls client
- Applyをクリックし、次にSignをクリックします
- 新しいダイアログで、認証局としてCAを選択し、Signをクリックします
- 必要に応じて、追加のクライアントに対してこの手順を繰り返します
ステップ2:OpenVPNサーバーの構成
次に、OpenVPNサーバーを設定しましょう。
- 左メニューのPPPに移動します
- Profilesタブに移動します
- **+**ボタンをクリックして新しいプロファイルを追加します
- 以下の設定を構成します:
- Name: OVPN-Profile
- Local Address: VPNに使用するルーターのIPを指定します(例:10.1.0.1)
- Remote Address: クライアント用のIPプールを指定します(例:10.1.0.2-10.1.0.254)
- DNS Server: 優先するDNSサーバー
- Use Encryption: yes
- OKをクリックしてプロファイルを保存します
次に、OpenVPNサーバーを設定します。
- 左メニューのPPPに移動します
- Interfaceタブをクリックします
- OVPN Serverボタンをクリックします
- 以下の設定を構成します:
- Enabled: yes
- Port: 1194
- Mode: ip
- Protocol: tcp
- Netmask: 24
- Max MTU: 1500
- Default Profile: OVPN-Profile
- Certificate: Server(作成したサーバー証明書)
- Auth: sha1
- Cipher: aes256
- Require Client Certificate: yes
- OKをクリックして保存します
ステップ3:ファイアウォールルールの構成
ファイアウォール経由でOpenVPNトラフィックを許可するには:
-
IP → Firewall → Filter Rulesに移動します
-
OpenVPNトラフィックを許可するルールを追加します:
- **+**ボタンをクリックします
- Chainを設定します: input
- Protocolを設定します: tcp
- Dst. Portを設定します: 1194
- Actionを設定します: accept
- 「Allow OpenVPN」のようなコメントを追加します
- OKをクリックして保存します
-
必要に応じて、VPNサブネットからネットワーク上のリソースにアクセスするためのルールを追加します
ステップ4:クライアント証明書のエクスポートとクライアント設定の作成
OpenVPNサーバーにクライアントを接続するには、証明書をエクスポートし、クライアント設定ファイルを作成する必要があります。
-
CA証明書をエクスポートします:
- System → Certificatesに移動します
- CA証明書を選択します
- Exportをクリックします
- Export Type: PEMを選択します
- Exportをクリックし、ファイルを
ca.crt
として保存します
-
クライアント証明書とキーをエクスポートします:
- Client1証明書を選択します
- Exportをクリックします
- Export Type: PEMを選択します
- Exportをクリックし、ファイルを
client1.crt
として保存します - もう一度Exportをクリックします
- Export Type: keyを選択します
- キーをパスワードで保護したい場合は、Export Passphraseを入力します
- Exportをクリックし、ファイルを
client1.key
として保存します
-
以下の内容でクライアント設定ファイル(client.ovpn)を作成します:
client
dev tun
proto tcp
remote your-mikrotik-public-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
cipher AES-256-CBC
auth SHA1
verb 3
key-direction 1
<ca>
# ca.crtの内容をここに貼り付けます
</ca>
<cert>
# client1.crtの内容をここに貼り付けます
</cert>
<key>
# client1.keyの内容をここに貼り付けます
</key>
ステップ5:クライアントをOpenVPNに接続する
これで、クライアント設定ファイルを使用してOpenVPNサーバーに接続できます。
-
Windowsの場合:
- OpenVPNクライアントをインストールします(openvpn.netから)
- client.ovpnファイルを
C:\Program Files\OpenVPN\config\
にコピーします - システムトレイのOpenVPN GUIアイコンを右クリックし、「接続」を選択します
-
macOSの場合:
- Tunnelblickをインストールします(tunnelblick.netから)
- client.ovpnファイルをインポートします
- Tunnelblickメニューを使用して接続します
-
Linuxの場合:
- OpenVPNクライアントをインストールします(Debian/Ubuntuでは
sudo apt install openvpn
) sudo openvpn --config client.ovpn
を実行します
- OpenVPNクライアントをインストールします(Debian/Ubuntuでは
-
Android/iOSの場合:
- OpenVPN Connectアプリをインストールします
- client.ovpnファイルをインポートします
- アプリを使用して接続します
ミニFAQ
OpenVPNの接続問題をトラブルシューティングする方法は?
サーバー側(System → Logs)とクライアント側の両方のログを確認してください。一般的な問題としては、証明書の問題、ファイアウォールによるブロック、ルーティングの問題などがあります。より詳細なログを得るには、設定ファイルで「verb 5」を設定してクライアント側の詳細ログを有効にしてください。
OpenVPNにTCPではなくUDPを使用できますか?
はい、UDPはパフォーマンス向上によく推奨されます。UDPを使用するには、サーバー設定とクライアント設定ファイルの両方でプロトコル設定を変更します。UDPは一般的に高速ですが、不安定な接続では信頼性が低い場合があります。
セクション5:WireGuard VPNのセットアップ (RouterOS v7+)
WireGuardは、そのシンプルさ、高いパフォーマンス、強力なセキュリティで知られる最新のVPNプロトコルです。RouterOSバージョン7以降で利用可能です。MikroTikルーターにWireGuard VPNサーバーをセットアップしましょう。
ステップ1:WireGuardインターフェースの作成
まず、MikroTikルーターにWireGuardインターフェースを作成しましょう。
- 左メニューのWireGuardに移動します(または古いv7バージョンではInterface → WireGuard)
- **+**ボタンをクリックして新しいインターフェースを追加します
- 以下の設定を構成します:
- Name: wireguard1
- Listen Port: 13231(または任意のポート)
- MTU: 1420
- OKをクリックしてインターフェースを作成します
- 作成後、生成されたPublic Keyをメモしておいてください。これはクライアントの設定に必要です。
ステップ2:WireGuardインターフェースのIPアドレスの構成
WireGuardインターフェースにIPアドレスを割り当てます。
- IP → Addressesに移動します
- **+**ボタンをクリックして新しいアドレスを追加します
- 以下の設定を構成します:
- Address: 10.10.10.1/24(これはVPNサブネットになります)
- Interface: wireguard1
- OKをクリックして保存します
ステップ3:WireGuardピア(クライアント)の追加
WireGuard VPNに接続する各クライアントについて:
- まず、クライアントデバイスでキーペアを生成します(ステップ5で説明します)
- MikroTikルーターで、左メニューのWireGuardに移動します
- Peersタブをクリックします
- **+**ボタンをクリックして新しいピアを追加します
- 以下の設定を構成します:
- Interface: wireguard1
- Public Key: (クライアントの公開鍵をここに貼り付けます)
- Allowed Address: 10.10.10.2/32(このクライアントに割り当てたいIPアドレス)
- Persistent Keepalive: 25(NATトラバーサルに役立ちます)
- OKをクリックして保存します
- IPアドレスを増やして(10.10.10.3/32など)追加のクライアントに対して繰り返します
ステップ4:ファイアウォールルールの構成
ファイアウォール経由でWireGuardトラフィックを許可するには:
-
IP → Firewall → Filter Rulesに移動します
-
WireGuardトラフィックを許可するルールを追加します:
- **+**ボタンをクリックします
- Chainを設定します: input
- Protocolを設定します: udp
- Dst. Portを設定します: 13231(WireGuardに設定したポート)
- Actionを設定します: accept
- 「Allow WireGuard」のようなコメントを追加します
- OKをクリックして保存します
-
必要に応じて、WireGuardサブネットからネットワーク上のリソースにアクセスするためのルールを追加します
-
オプションで、VPNクライアントがVPN経由でインターネットにアクセスできるようにマスカレードルールを追加します:
- IP → Firewall → NATに移動します
- **+**ボタンをクリックします
- Chainを設定します: srcnat
- Src. Addressを設定します: 10.10.10.0/24
- Actionを設定します: masquerade
- 「Masquerade WireGuard clients」のようなコメントを追加します
- OKをクリックして保存します
ステップ5:WireGuardクライアントの構成
次に、WireGuard VPNに接続するためのクライアントを設定しましょう。
Windowsの場合:
- wireguard.comからWireGuardをダウンロードしてインストールします
- WireGuardアプリケーションを開きます
- 「Add Empty Tunnel...」をクリックします
- 新しいキーペアを生成します(これは自動的に行われます)
- 以下のテンプレートでクライアントを設定します:
[Interface]
PrivateKey = (クライアントのプライベートキー)
Address = 10.10.10.2/24
DNS = 8.8.8.8, 8.8.4.4
[Peer]
PublicKey = (MikroTik WireGuardインターフェースの公開キー)
AllowedIPs = 0.0.0.0/0
Endpoint = your-mikrotik-public-ip:13231
PersistentKeepalive = 25
- 「Save」をクリックし、「Activate」をクリックして接続します
Android/iOSの場合:
- アプリストアからWireGuardアプリをインストールします
- +ボタンをタップし、「Create from scratch」を選択します
- VPNの名前を入力します
- 上記と同じテンプレートを使用して設定します
- 「Save」をタップし、トグルをタップして接続します
Linuxの場合:
- WireGuardをインストールします(Debian/Ubuntuでは
sudo apt install wireguard
) - キーを生成します:
wg genkey | tee privatekey | wg pubkey > publickey
- 上記テンプレートを使用して
/etc/wireguard/wg0.conf
に設定ファイルを作成します sudo wg-quick up wg0
で接続します
ステップ6:接続のテスト
サーバーとクライアントの両方を設定した後:
- クライアントデバイスでWireGuard接続をアクティブにします
- MikroTik上のWireGuardインターフェースIP(10.10.10.1)にpingを打って接続を確認します
- ネットワーク上の他のリソースにアクセスを試みます
- MikroTikでWireGuardに移動し、Peersタブを見てWireGuardのステータスを確認します
ミニFAQ
WireGuardはOpenVPNやIPsecよりも安全ですか?
WireGuardはOpenVPNやIPsecよりもはるかに小さいコードベースで最新の暗号化を使用しており、これにより潜在的なセキュリティ脆弱性が少なくなると考えられます。しかし、3つのプロトコルすべてが適切に構成されていれば安全であると考えられています。WireGuardの主な利点は、そのシンプルさとパフォーマンスです。
MikroTikルーターはいくつのWireGuardピアをサポートできますか?
これはルーターのハードウェア能力に依存します。WireGuardは非常に効率的なため、エントリーレベルのMikroTikルーターでも数十のピアを処理できます。ハイエンドモデルは、パフォーマンスへの影響を最小限に抑えつつ、数百の接続をサポートできます。
セクション6:IPsecによるサイト間VPNのセットアップ
IPsecは、支店間または本社とクラウド環境間で安全なサイト間VPN接続を確立するための優れた選択肢です。このセクションでは、IPsecを使用して2台のMikroTikルーター間でサイト間VPNを構成します。
ステップ1:ネットワークトポロジーの計画
IPsecを構成する前に、ネットワークトポロジーを計画してください。
サイトA(本社):
- パブリックIP:203.0.113.1(実際のパブリックIPに置き換えてください)
- ローカルネットワーク:192.168.1.0/24
- MikroTikルーター:192.168.1.1
サイトB(支社):
- パブリックIP:203.0.113.2(実際のパブリックIPに置き換えてください)
- ローカルネットワーク:192.168.2.0/24
- MikroTikルーター:192.168.2.1
ステップ2:サイトA(本社)でのIPsecの設定
-
IPsecプロファイルの作成:
- IP → IPsec → Profilesに移動します
- **+**ボタンをクリックして新しいプロファイルを追加します
- 以下の設定を構成します:
- Name: site-to-site
- Hash Algorithms: sha256
- Encryption Algorithms: aes-256-cbc
- DH Group: modp2048
- OKをクリックして保存します
-
IPsecプロポーザルの作成:
- IP → IPsec → Proposalsに移動します
- **+**ボタンをクリックして新しいプロポーザルを追加します
- 以下の設定を構成します:
- Name: site-to-site-proposal
- Auth Algorithms: sha256
- Encr Algorithms: aes-256-cbc
- PFS Group: modp2048
- OKをクリックして保存します
-
IPsecピアの作成:
- IP → IPsec → Peersに移動します
- **+**ボタンをクリックして新しいピアを追加します
- 以下の設定を構成します:
- Name: site-b-peer
- Address: 203.0.113.2(サイトBのパブリックIP)
- Profile: site-to-site
- Exchange Mode: main
- Send Initial Contact: yes
- Nat Traversal: yes
- Pre-shared Key: YourStrongSecretKey(強力でユニークなキーを使用してください)
- OKをクリックして保存します
-
IPsecポリシーの作成:
- IP → IPsec → Policiesに移動します
- **+**ボタンをクリックして新しいポリシーを追加します
- 以下の設定を構成します:
- Src. Address: 192.168.1.0/24(サイトAのローカルネットワーク)
- Dst. Address: 192.168.2.0/24(サイトBのローカルネットワーク)
- Protocol: all
- Action: encrypt
- Level: require
- IPsec Protocols: esp
- Tunnel: yes
- SA Src. Address: 203.0.113.1(サイトAのパブリックIP)
- SA Dst. Address: 203.0.113.2(サイトBのパブリックIP)
- Proposal: site-to-site-proposal
- OKをクリックして保存します
ステップ3:サイトB(支社)でのIPsecの設定
サイトBのMikroTikルーターで同じ手順を繰り返しますが、ソースと宛先のアドレスは逆にします。
-
IPsecプロファイルの作成(サイトAと同じ)
-
IPsecプロポーザルの作成(サイトAと同じ)
-
IPsecピアの作成:
- サイトAのパブリックIP(203.0.113.1)で設定します
- サイトAと同じプリシェアードキーを使用します
-
IPsecポリシーの作成:
- Src. Address: 192.168.2.0/24(サイトBのローカルネットワーク)
- Dst. Address: 192.168.1.0/24(サイトAのローカルネットワーク)
- SA Src. Address: 203.0.113.2(サイトBのパブリックIP)
- SA Dst. Address: 203.0.113.1(サイトAのパブリックIP)
- その他の設定はサイトAと同じ
ステップ4:両サイトでのファイアウォールルールの構成
両方のMikroTikルーターで、IPsecトラフィックを許可するファイアウォールルールを追加します。
-
IP → Firewall → Filter Rulesに移動します
-
IPsecトラフィックを許可するルールを追加します:
- UDPポート500(IKE)を許可するルールを追加
- UDPポート4500(IPsec NAT-T)を許可するルールを追加
- IPプロトコル50(ESP)を許可するルールを追加
- IPプロトコル51(AH)を許可するルールを追加
-
ファイアウォールルールでローカルネットワーク間のトラフィックが許可されていることを確認します
ステップ5:ルーティングの構成(必要な場合)
いずれかのサイトに複数のサブネットを持つより複雑なネットワークがある場合、静的ルートを追加する必要がある場合があります。
- IP → Routesに移動します
- **+**ボタンをクリックして新しいルートを追加します
- IPsecトンネル経由でリモートネットワークへのルートを構成します
- トンネル経由で通信する必要がある追加のサブネットに対して繰り返します
ステップ6:接続のテスト
両サイトでの設定が完了したら:
-
IP → IPsec → Active Peersに移動してIPsecステータスを確認します
- 2つのサイト間の確立された接続が表示されるはずです
-
トンネルを介してデバイスにpingを打って接続をテストします:
- サイトAのネットワーク内のデバイスから、サイトBのネットワーク内のデバイスにpingを打つ
- サイトBのネットワーク内のデバイスから、サイトAのネットワーク内のデバイスにpingを打つ
-
pingが成功した場合、トンネルを介して他のサービスへのアクセスを試みます
ステップ7:監視とトラブルシューティング
IPsecトンネルを監視およびトラブルシューティングするには:
-
IPsec統計情報を確認します:
- IP → IPsec → Statisticsに移動します
- アクティブなセキュリティアソシエーション(SA)を探します
-
IPsec関連のメッセージについてログを確認します:
- System → Logsに移動します
- IPsec関連のエントリをフィルタリングします
-
ルーティングオプション付きのpingツールを使用してトンネルをテストします:
- Tools → Pingに移動します
- リモートサイトのデバイスのIPを入力します
- Src. AddressをローカルインターフェースのIPに設定します
ミニFAQ
IPsecトンネルが確立されない場合はどうすればよいですか?
両側のファイアウォールルールを確認し、IPsecトラフィックが許可されていることを確認してください。プリシェアードキーが正確に一致していることを確認してください。いずれかのルーターが別のNATデバイスの背後にある場合は、NATの問題がないか確認してください。特定のエラーメッセージについてログを確認してください。
トラフィックが実際にIPsecトンネルを通過していることを確認するにはどうすればよいですか?
IP → IPsec → Statisticsページを使用して、パケットが暗号化および復号化されているかどうかを確認できます。また、Torchツール(Tools → Torch)を使用して、インターフェース上のトラフィックを監視し、パケットがIPsecインターフェースを通過しているかどうかを確認することもできます。
セクション7:高度なVPN構成とベストプラクティス
基本的なVPN設定について説明したところで、MikroTik VPNデプロイメントのセキュリティ、パフォーマンス、管理性を向上させるための高度な構成とベストプラクティスについて見ていきましょう。
スプリットトンネリングの実装
スプリットトンネリングにより、VPNクライアントはリモートネットワークとインターネットの両方に直接アクセスでき、インターネットへのトラフィックのパフォーマンスが向上します。
-
OpenVPNの場合:
- クライアント設定ファイルで、
redirect-gateway
ディレクティブを変更するか、特定のroute
ステートメントを使用します - 例:
route 192.168.1.0 255.255.255.0
(192.168.1.0/24ネットワークへのトラフィックのみVPN経由でルーティングします)
- クライアント設定ファイルで、
-
WireGuardの場合:
- クライアント設定で、
AllowedIPs
設定を変更します 0.0.0.0/0
(すべてのトラフィックをルーティングする)の代わりに、特定のネットワークを使用します:- 例:
AllowedIPs = 10.10.10.0/24, 192.168.1.0/24
- クライアント設定で、
-
L2TP/IPsecの場合:
- Windowsクライアントで、VPN接続のプロパティを編集します
- ネットワーク → IPv4 → プロパティ → 詳細設定に移動します
- 「リモートネットワークでデフォルトゲートウェイを使用する」のチェックを外します
二要素認証の実装
二要素認証でセキュリティを強化します。
-
RADIUS認証:
- RADIUSサーバーをセットアップします(MikroTikのUser Managerパッケージを使用できます)
- RADIUSを使用するようにVPNサーバーを構成します:
- 左メニューのRadiusに移動します
- VPNサービス用の新しいRADIUSクライアントを追加します
- VPNサーバー設定で、RADIUS認証を有効にします
-
証明書+パスワード認証:
- OpenVPNの場合、証明書とユーザー名/パスワードの両方を要求します:
- サーバー設定で、
auth-user-pass-verify
スクリプトを設定します client-cert-not-required
が設定されていないことを確認します
- サーバー設定で、
- OpenVPNの場合、証明書とユーザー名/パスワードの両方を要求します:
-
タイムベースワンタイムパスワード(TOTP):
- MikroTikにTOTPパッケージをインストールします
- TOTPシークレットでユーザーを構成します
- TOTPコードを要求するように認証を設定します
VPNパフォーマンスの最適化
以下の調整でVPNパフォーマンスを向上させます。
-
MTU設定の調整:
- 「don't fragment」フラグ付きのpingテストを使用して、接続に最適なMTUを見つけます
- VPNインターフェースに適切なMTUを設定します
- OpenVPNの場合、一般的な値は1400〜1450です
- WireGuardの場合、1420が最適であることが多いです
-
ハードウェアアクセラレーションの有効化:
- お使いのMikroTikモデルがハードウェア暗号化をサポートしている場合:
- System → Resourcesに移動します
- ハードウェア暗号化が利用可能で有効になっているか確認します
- IPsecの場合、IP → IPsec → Settingsに移動し、ハードウェアアクセラレーションを有効にします
- お使いのMikroTikモデルがハードウェア暗号化をサポートしている場合:
-
効率的なプロトコルの選択:
- 可能な場合はOpenVPNにTCPの代わりにUDPを使用します
- RouterOS v7+ではWireGuardを検討してパフォーマンスを向上させます
- ハードウェアアクセラレーションをサポートする最新の暗号化アルゴリズムを使用します
フェイルオーバーとロードバランシングの実装
ミッションクリティカルなVPN接続の場合、フェイルオーバーまたはロードバランシングを実装します。
-
デュアルWANフェイルオーバー:
- MikroTikで複数のWAN接続を構成します
- ルーティングマークとポリシーベースルーティングを使用してフェイルオーバールーティングを設定します
- プライマリ接続が失敗した場合にVPNが自動的に再接続するように構成します
-
サイト間VPN冗長性:
- 異なるWAN接続を使用してサイト間に複数のトンネルをセットアップします
- ルーティングメトリックを使用してプライマリトンネルを優先します
- 自動フェイルオーバーのためにVPNトンネル上で動的ルーティングプロトコル(OSPFまたはBGP)を構成します
-
ロードバランシング:
- 複数のリモートアクセスユーザーの場合、複数のVPNサーバーに分散します
- DNSラウンドロビンまたはロードバランサーを使用して接続要求を分散します
VPN接続の監視とロギング
VPNサービスの包括的な監視を設定します。
-
詳細ロギングの構成:
- System → Loggingに移動します
- VPN関連イベントの新しいロギングアクションを追加します
- 適切なトピック(例:ppp, ipsec, ovpn)を設定します
-
SNMP監視のセットアップ:
- IP → SNMPに移動します
- SNMPサービスを有効にします
- コミュニティストリングとアクセスリストを構成します
- SNMP監視ツールを使用してVPN接続とパフォーマンスを追跡します
-
接続追跡スクリプトの作成:
- RouterOSスクリプトを使用してVPN接続を追跡します
- 接続試行の失敗やトンネルダウンイベントについてメールアラートを設定します
- IPsecトンネルステータスを監視し、アラートを送信するスクリプトの例:
/system script
add name="monitor-ipsec" source={
:if ([/ip ipsec policy find where dst-address="192.168.2.0/24" and invalid=yes] != "") do={
/tool e-mail send to="[email protected]" subject="IPsec Tunnel Down" body="ブランチオフィスへのIPsecトンネルがダウンしました。"
}
}
/system scheduler
add interval=5m name="check-ipsec" on-event=monitor-ipsec start-time=startup
ミニFAQ
VPN経由でMikroTikルーターのリモート管理を安全に許可するにはどうすればよいですか?
管理アクセス専用のVPNプロファイルをより厳格なセキュリティ設定で作成します。ファイアウォールルールを使用して、VPNサブネットからのみ管理アクセス(Winbox、SSH、WebFig)を許可します。追加のセキュリティのために、IPベースのアクセスリストと二要素認証の実装を検討してください。
サイト間VPNの動的IPアドレスを処理する最良の方法は何ですか?
変更されるIPアドレスを追跡するためにダイナミックDNSサービスを使用します。IPsecまたはOpenVPNをIPアドレスではなくホスト名を使用するように設定します。IPsecの場合、アドレスが変更されたときにピアアドレスを更新するスクリプトが必要になる場合があります。または、RouterOSのIPsecの「mode-config」機能を使用して動的アドレス指定を処理することも検討してください。
結論
MikroTikルーターでVPNをセットアップすると、ネットワークリソースへの安全なリモートアクセスが可能になり、複数の場所間の安全なサイト間接続が可能になります。この包括的なガイドでは、広く互換性のあるL2TP/IPsecから最新かつ効率的なWireGuardプロトコルまで、さまざまなVPN実装オプションについて説明しました。
各VPNタイプの構成、必要な証明書、暗号化設定、ファイアウォールルール、クライアント構成について、ステップバイステップのプロセスを順を追って説明しました。また、スプリットトンネリング、二要素認証、パフォーマンス最適化技術などの高度な構成についても説明し、堅牢で安全なVPNインフラストラクチャを構築するのに役立てます。
MikroTikルーターは、多くのエンタープライズソリューションのわずかなコストで、優れた柔軟性と強力なVPN機能を提供します。このガイドの指示に従うことで、これらの機能を活用して、データを保護し、ネットワークリソースへのシームレスなリモートアクセスを可能にする安全な接続を作成できます。
セキュリティは一度限りのセットアップではなく、継続的なプロセスであることを忘れないでください。RouterOSファームウェアを定期的に更新し、VPN構成を確認し、異常なアクティビティがないかログを監視し、必要に応じてセキュリティ設定を調整して、強力なセキュリティ体制を維持してください。
特定のニーズに合わせた専門的なVPNソリューションについては、TildaVPSのMikroTikサーバー製品を検討してください。これらは、堅牢なVPNサービスを最小限のセットアップ時間で実行するための最適化されたハードウェアと事前構成済みの環境を提供します。
よくある質問(FAQ)
MikroTikルーターにはどのVPNプロトコルを選択すべきですか?
最適なプロトコルは、特定のニーズによって異なります。L2TP/IPsecはほとんどのデバイスと幅広い互換性があります。OpenVPNはセキュリティと柔軟性のバランスが取れています。WireGuard(RouterOS v7+で利用可能)は最高のパフォーマンスとシンプルさを提供します。支店間のサイト間接続には、堅牢なセキュリティと広範な企業採用により、IPsecが一般的に推奨される選択肢です。
MikroTikでのVPN接続の問題をトラブルシューティングするにはどうすればよいですか?
まず、ログ(System → Logs)で特定のエラーメッセージを確認します。ファイアウォールルールが適切なポートでVPNトラフィックを許可していることを確認してください。OpenVPNのような証明書ベースのVPNの場合、証明書が適切に署名されており、期限切れでないことを確認してください。接続が失敗している場所を特定するために、pingとtracerouteを使用して接続をテストします。IPsecの場合、IP → IPsec → Active Peersを確認してセキュリティアソシエーション(SA)が確立されているか確認してください。
同じMikroTikルーターで複数のVPNサーバーを実行できますか?
はい、1台のMikroTikルーターで複数のVPNプロトコルを同時に実行できます。たとえば、モバイルクライアント用にL2TP/IPsec、リモートワーカー用にOpenVPN、サイト間接続用にIPsecを設定できます。各サービスが異なるポートを使用し、適切なファイアウォールルールが設定されていることを確認してください。複数のVPNサービスを多くのクライアントで実行するとCPUに負荷がかかる可能性があるため、ルーターのハードウェア能力に注意してください。
MikroTikルーターのVPNセキュリティを向上させるにはどうすればよいですか?
強力な暗号化アルゴリズム(AES-256)を使用し、二要素認証を実装し、プリシェアードキーとパスワードを定期的に変更し、可能な場合は証明書ベースの認証を使用し、必要なリソースへのアクセスを制限する厳格なファイアウォールルールを実装し、セキュリティ脆弱性を修正するためにRouterOSを最新の安定バージョンに更新することで、VPNセキュリティを強化できます。
MikroTikルーターはいくつの同時VPNユーザーをサポートできますか?
これは、特にCPUパワーと利用可能なRAMなど、ルーターのハードウェア仕様によって異なります。hAPシリーズのようなエントリーレベルのモデルは5〜10の同時ユーザーを処理できるかもしれませんが、RB4011のようなミッドレンジモデルは20〜30のユーザーをサポートでき、CCRシリーズのようなハイエンドモデルは50以上の同時接続を処理できます。WireGuardはOpenVPNやIPsecよりも効率的である傾向があり、同じハードウェアでより多くの同時接続を可能にします。
モバイルデバイスからMikroTik VPNにアクセスできますか?
はい、このガイドで説明するすべてのVPNプロトコルはモバイルデバイスから使用できます。L2TP/IPsecとIKEv2はiOSとAndroidでネイティブにサポートされています。OpenVPNには公式のOpenVPN Connectアプリを使用できます。WireGuardには両プラットフォーム向けの優れたモバイルアプリがあります。モバイルデバイス向けにVPNを設定する際は、バッテリー寿命とデータ使用量を最適化するためにスプリットトンネリングの実装を検討してください。
インターネット制限のある国で動作するMikroTik VPNサーバーをセットアップするにはどうすればよいですか?
制限の厳しい環境では、標準のVPNポートがブロックされることがよくあります。VPNをHTTPS(ポート443)やDNS(ポート53)などの一般的にブロックされないポートを使用するように構成します。OpenVPNの場合、検出されにくいためUDPではなくTCPを使用します。VPNトラフィックを偽装するために、stunnelやobfsproxyのような難読化技術の実装を検討してください。WireGuardは任意のポートで実行するように構成できるため、制限をバイパスするのに柔軟です。
リモートアクセスVPNとサイト間VPNの違いは何ですか?
リモートアクセスVPNは個々のユーザーをネットワークに接続し、まるでその場所に物理的に存在しているかのようにリソースにアクセスできるようにします。これはリモートワーカーや旅行中に自宅のネットワークにアクセスする場合に理想的です。サイト間VPNはネットワーク全体を相互に接続し、各場所のすべてのデバイスが相互に通信できるようにします。これは通常、支店を本社に接続したり、クラウド環境に接続したりするために使用されます。
MikroTik VPNに接続しているユーザーを監視するにはどうすればよいですか?
リアルタイム監視の場合、それぞれのVPNセクション(L2TPおよびPPTPの場合はPPP → Active Connections、IPsecの場合はIP → IPsec → Active Peers、WireGuardの場合はInterface → WireGuard → Peers)でアクティブな接続を確認します。履歴データの場合、ロギング(System → Logging)を構成して接続イベントを記録します。SNMP監視ツールを使用したり、接続を追跡してレポートを生成するカスタムスクリプトを設定したりすることもできます。
特定の時間や曜日にVPNアクセスを制限することは可能ですか?
はい、スケジューラースクリプトやファイアウォールルールを使用して、時間ベースの制限を実装できます。特定の時間帯にのみVPNトラフィックを許可する時間ベースのファイアウォールルールを作成します。または、時間制限のあるユーザープロファイルを使用したり、スケジュールに従ってVPNサービスを有効/無効にするカスタムスクリプトを記述したりすることもできます。これは、営業時間内のアクセスを強制したり、メンテナンスウィンドウを実装したりするのに役立ちます。
主要なポイント
-
MikroTikルーターは、L2TP/IPsec、OpenVPN、WireGuard、IPsecを含む複数のVPNプロトコルをサポートしており、特定のニーズに最適なソリューションを選択する柔軟性を提供します。
-
WireGuard(RouterOS v7+で利用可能)は最高のパフォーマンスとシンプルさを提供し、IPsecはサイト間接続に堅牢なセキュリティを提供し、L2TP/IPsecは最も幅広いデバイス互換性を提供します。
-
適切なファイアウォール構成はVPNセキュリティに不可欠です。常に必要なVPNトラフィックのみを許可する特定のルールを作成し、ネットワークリソースに適切なアクセス制御を実装してください。
-
スプリットトンネリング、二要素認証、冗長接続などの高度な機能は、VPN実装のセキュリティと使いやすさを大幅に向上させることができます。
-
VPN設定の定期的な監視、ロギング、およびメンテナンスは、セキュリティを維持し、時間の経過とともに信頼性の高いパフォーマンスを確保するために非常に重要です。
用語集
IPsec (Internet Protocol Security): ネットワークデバイス間で安全な暗号化通信を提供するために、IPパケットを認証および暗号化するプロトコルスイート。
L2TP (Layer 2 Tunneling Protocol): VPNをサポートするために使用されるトンネリングプロトコルで、しばしばIPsecと組み合わせて暗号化に使用されます。
OpenVPN: キー交換にSSL/TLSを使用し、UDPとTCPの両方で動作できるオープンソースのVPNプロトコル。
WireGuard: パフォーマンスと実装の容易さに焦点を当てた、モダンで高速かつシンプルなVPNプロトコル。
Split Tunneling: 同じ物理ネットワーク接続を介して、ユーザーが異なるネットワーク(パブリックとプライベート)に同時にアクセスできるようにするVPN機能。
Pre-shared Key (PSK): VPN接続の認証に使用される共有シークレット。
Certificate Authority (CA): 特定の公開鍵が特定のエンティティに属することを検証するデジタル証明書を発行するエンティティ。
MTU (Maximum Transmission Unit): 単一のネットワーク層トランザクションで通信できる最大のプロトコルデータユニットのサイズ。
NAT Traversal: ネットワークアドレス変換器を介して接続を確立および維持するための技術。
Two-factor Authentication (2FA): ユーザーが2つの異なる認証要素を提供して本人確認を行うセキュリティプロセス。