VyOS の VPN 入門: WireGuard と OpenVPN
VPN(Virtual Private Network)は、拠点間接続やリモートアクセスを安全に実現するためのソリューションです。VyOS は WireGuard、OpenVPN、IPsec などの最新 VPN をサポートしています。本レッスンでは、性能・セキュリティ・柔軟性の観点でよく使われる WireGuard と OpenVPN に焦点を当てます。
WireGuard: Site-to-Site VPN
WireGuard は、シンプルで高性能な最新 VPN プロトコルです。2 台の VyOS 間で site-to-site を構成する例を示します。
# Tạo key pair trên mỗi VyOS run generate wireguard key # Lấy public key: run generate wireguard pubkey key <private-key>Cấu hình WireGuard interface
set interfaces wireguard wg0 address '10.10.10.1/24' set interfaces wireguard wg0 port '51820' set interfaces wireguard wg0 private-key '<private-key>'
Thêm peer
set interfaces wireguard wg0 peer <peer-public-key> allowed-ips '10.10.10.2/32' set interfaces wireguard wg0 peer <peer-public-key> endpoint 'WAN_IP_PEER:51820'
対向サイトでも同様に設定し、IP アドレスとキーを入れ替えます。
WireGuard: Remote Access VPN
クライアント(ノート PC、スマートフォン)から WireGuard 経由で内部ネットワークへアクセスできます。
set interfaces wireguard wg0 address '10.10.20.1/24'
set interfaces wireguard wg0 port '51820'
set interfaces wireguard wg0 private-key '<server-private-key>'
set interfaces wireguard wg0 peer <client-public-key> allowed-ips '10.10.20.2/32'
クライアント側はサーバーの公開鍵に合わせて設定します。
OpenVPN: Pre-Shared Key による Site-to-Site
set interfaces openvpn vtun0 mode site-to-site
set interfaces openvpn vtun0 local-address '10.20.20.1'
set interfaces openvpn vtun0 remote-address '10.20.20.2'
set interfaces openvpn vtun0 shared-secret-key-file '/config/auth/ovpn.key'
set interfaces openvpn vtun0 local-port '1194'
set interfaces openvpn vtun0 remote-host '<peer-wan-ip>'
OpenVPN: 証明書ベースの Remote Access
set interfaces openvpn vtun1 mode server
set interfaces openvpn vtun1 server subnet '10.30.30.0/24'
set interfaces openvpn vtun1 tls ca-cert-file '/config/auth/ca.crt'
set interfaces openvpn vtun1 tls cert-file '/config/auth/server.crt'
set interfaces openvpn vtun1 tls key-file '/config/auth/server.key'
set interfaces openvpn vtun1 client-cert-required
WireGuard、OpenVPN、IPsec の比較
- WireGuard: 高性能、設定が簡潔、コードベースが小さく、VyOS 1.4/1.5 でのサポートが良好です。
- OpenVPN: 柔軟でモードが多く証明書にも対応しますが、WireGuard より性能は低めです。
- IPsec: 業界標準で統合性が高い一方、設定は比較的複雑です。
VPN 用の Routing と Firewall
トンネル構築後は、トラフィックのルーティングと firewall 開放が必要です。
set protocols static route 192.168.2.0/24 next-hop 10.10.10.2
set firewall name VPN-IN default-action accept
set interfaces wireguard wg0 firewall in name VPN-IN
ハンズオンラボ: 2 台の VyOS 間 WireGuard Site-to-Site
- 各 VyOS で鍵ペアを生成し、公開鍵を交換します。
- wg0 に専用アドレス、ポート、秘密鍵を設定します。
- 対向サイトの公開鍵と endpoint を使って peer を追加します。
- 内部ネットワークをトンネル経由でルーティングします。
show interfaces wireguardとpingで接続を確認します。
# Kiểm tra trạng thái WireGuard
show interfaces wireguard
# Kiểm tra routing
show ip route
まとめ
このレッスンでは、VyOS での WireGuard と OpenVPN の構成、両者の比較、site-to-site / remote access、さらに VPN 用 routing と firewall の実運用ポイントを習得できます。