Remote Access
OpenVPNによるMikroTikリモート管理
OpenVPNでVPSとMikroTikをつなぎ、リモート管理を実現します。PKI、証明書、セキュリティのベストプラクティスを解説。.
概要 OpenVPNはTLSベースの実績のあるVPNで、VPSをハブとし、MikroTikルーターをクライアントとするリモート管理に適しています。WireGuardやTailscaleより古くから存在しますが、幅広い互換性、きめ細かいPKI制御、柔軟なルーティングオプションにより今も重要です。本ガイドでは、easy-rsaを使用したUbuntu VPSサーバー設定、クライアント証明書ワークフロー、MikroTik OVPN-クライアント設定、デプロイメントの監査可能性を保つセキュリティチェックリストについて説明します。
OpenVPNはMikroTikのリモート管理をどのように実現しますか?
OpenVPNはOpenSSLに基づき、TCP またはUDPで暗号化されたトンネルを確立するオープンソースのVPN実装です。MikroTikのリモート管理では、一般的なトポロジーはUbuntu VPSを常時稼働のサーバーとし、1つ以上のMikroTikルーターをクライアントとして使用します。ルーターはトンネルを外側に向けて開始するため、カスタマー側のNATとCGNATは問題にならず、VPSがルートとNATルールを保持し、トンネルを通じてルーター(およびその背後のデバイス)に到達できるようにします。
OpenVPNの強みは成熟した暗号化(AES-256、SHA-256、TLS)、IPv4とIPv6のサポート、TUN(ルーティング)とTAP(ブリッジ)両モード、RouterOSを含むベンダーとオペレーティングシステム全般での広範な互換性です。トレードオフは、小型ルーターではWireGuardよりもCPU消費が重いこと、実際のPKI設定ステップ(CA、証明書、キー)が必要なこと、そして知っておく必要があるRouterOS固有の制限です。歴史的に、MikroTik OVPNクライアントは一部のバージョンでTCPトランスポートのみをサポートしています。比較パターンについては、WireGuardリモート管理ガイド、SSTGガイド、Tailscaleガイドを参照してください。
OpenVPNの仕組み
OpenVPNはサーバー(通常はパブリックVPS)と1つまたは複数のクライアント間に暗号化されたトンネルを確立します。認証はCA、クライアント単位の証明書、オプションのTLS認証(ta.key)を使用します。2つの一般的なモード:
- TUN(ルーティング) — ネットワーク間のIPルーティング。標準的な選択肢です。
- TAP(ブリッジ) — レイヤー2ブリッジ。ブロードキャスト依存アプリケーション向け。より負荷が高く、あまり不要です。
ステップ1: VPSにOpenVPNをインストール
apt update && apt install -y openvpn easy-rsaステップ2: PKIとサーバーキーを生成
make-cadir ~/openvpn-cacd ~/openvpn-ca./easyrsa init-pki./easyrsa build-ca nopass./easyrsa gen-req server nopass./easyrsa sign-req server server./easyrsa gen-dhopenvpn --genkey --secret ta.keyCA秘密鍵を安全に保ち、バックアップしてください。CA鍵は本番環境の秘密と同様に取り扱い、CAを持つ誰もが正当なクライアント証明書を偽造できることに注意してください。
ステップ3: サーバー設定を作成
/etc/openvpn/server.conf(最小設定):
port 1194proto udpdev tunca ca.crtcert server.crtkey server.keydh dh.pemserver 10.8.0.0 255.255.255.0push "redirect-gateway def1 bypass-dhcp"push "dhcp-option DNS 8.8.8.8"keepalive 10 120cipher AES-256-CBCuser nobodygroup nogrouppersist-keypersist-tunstatus openvpn-status.logverb 3ステップ4: サービスを開始し、ファイアウォールを開く
systemctl enable openvpn@serversystemctl start openvpn@serverufw allow 1194/udpポート1194をインターネット全体に公開する場合は、VPSを保護してください。fail2ban、厳密なSSHキー、実行可能な場合はソースIP ファイアウォール制限を使用します。インターネットに公開されたVPNエンドポイントは継続的にプローブされています。
ステップ5: クライアント証明書と設定を作成
easy-rsaでクライアント証明書を生成し(./easyrsa build-client-full client1 nopass)、クライアント向けにこれらをバンドルします:
ca.crtclient1.crtclient1.keyta.key(使用する場合)client.ovpn— クライアント設定ファイル
最小限のclient.ovpn:
clientdev tunproto udpremote YOUR.VPS.IP 1194resolv-retry infinitenobindpersist-keypersist-tunca ca.crtcert client1.crtkey client1.keyremote-cert-tls servercipher AES-256-CBCverb 3ステップ6: MikroTikをOpenVPNクライアントとして構成
RouterOSはOpenVPNクライアント接続をサポートしていますが、RouterOS固有の制限があります。特に古いバージョンではTCPトランスポートに制限されています。
- Winboxのファイルウィンドウ経由で、ca.crt、client1.crt、client1.keyをMikroTikにアップロードします。
- ターミナルで:
/interface ovpn-client add name=ovpn-out1 \ connect-to=YOUR.VPS.IP port=1194 \ user=vpnuser password="yourpassword" \ profile=default-encryption add-default-route=no
/interface ovpn-client print予想される状態:
status: connecteduptime: 00:01:03remote-address: 10.8.0.1local-address: 10.8.0.6UDPで接続が失敗する場合は、RouterOSリリースノートを確認してください。バージョンがOVPNクライアントをTCPに制限している場合、サーバーのprotoをtcpに、ファイアウォールルールを相応に変更してください。RouterOS上でUDP対応の代替手段として、WireGuardが最新の標準です。
トンネル経由で内部デバイスに到達
MikroTik背後のデバイス(例:192.168.88.100のカメラ)に到達するには、MikroTik上でdst-natを使用してローカルポートをトンネル経由で公開します:
/ip firewall nat add chain=dstnat protocol=tcp dst-port=8081 \ action=dst-nat to-addresses=192.168.88.100 to-ports=80サーバーまたは別のVPNクライアントから、ルーティングされたアドレスとポート経由で接続します:
http://10.8.0.6:8081トラフィックはOpenVPNトンネルを経由して内部ホストに到達します。
セキュリティのベストプラクティス
- クライアントごとに一意の証明書。デバイス間でキーを再利用しないでください。
- TLSクライアント証明書とユーザー名/パスワードを組み合わせて、デュアルファクターのような制御が必要な場合。
- スケジュールに従ってキーと証明書をローテーション。失われたデバイスのためにCRL(証明書失効リスト)を実装します。
- VPSファイアウォールでソースIPを制限できる場合は制限します。
- パフォーマンスの場合はUDPを推奨。リリースごとにRouterOS互換性を確認してください。
- 接続の健全性とログ(syslog、openvpn-status.log)を監視します。
- スクリプトを使用して多くのデバイスの証明書発行を自動化します。ただし、可能な限りCAをオフラインに保つ — 接続されたサーバー上のCAは1つのフィッシングメールで危険にさらされる可能性があります。
より広いマネジメントプレーンのセキュリティコンテキストについては、Winboxセキュリティのベストプラクティスの記事を参照してください。
OpenVPNと最新の代替案
| ソリューション | 強み | 選択すべき時期 |
|---|---|---|
| OpenVPN | 互換性、きめ細かい証明書制御 | 混在フリート、レガシーアプライアンス |
| WireGuard | 速度、シンプルさ、最新の暗号化 | 最新デバイス、小型ルーター |
| SSTP | TLS over ポート443、ファイアウォール通過 | UDPと他のVPNポートをブロックするネットワーク |
| Tailscale / ZeroTier | メッシュ、アイデンティティベース、容易 | ノートパソコン、チーム、クロスプラットフォーム |
OpenVPNを使用すべき時期
きめ細かい証明書制御が重要な場合、フリートに最新VPNエージェントのない古いデバイスやアプライアンスが含まれている場合、または既存のファイアウォールルールとエンタープライズPKIと統合する必要がある場合は、OpenVPNを選択します。スループットと最小のCPUオーバーヘッドが重要な場合は、WireGuardが勝ります。WireGuardチュートリアルとTailscaleガイドを参照してください。
次のステップへ
OpenVPNは遺物ではありません。互換性と認証およびルーティングの明示的な制御が必要な場合、信頼できるツールです。VPSとMikroTikクライアントと組み合わせると、カメラ、ルーター、内部サービスへのロバストで監査可能なリモートアクセスパスが得られます。
デバイスごとのPKI儀式をスキップしたい場合、MKController のNATCloudはNATまたはCGNAT背後のデバイスへのリモートアクセスを、集約ガバナンス、監視、自動再接続で提供します。ルーターごとに維持管理する証明書はありません。