Chuyển đến nội dung chính

第11課:VPN - WireGuard と OpenVPN

VyOS での WireGuard と OpenVPN を使った VPN 設定、性能とセキュリティ比較、site-to-site と remote access 実習、VPN 用 routing と firewall を解説します。

VPN - WireGuard と OpenVPN

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

  1. 各 VyOS で鍵ペアを生成し、公開鍵を交換します。
  2. wg0 に専用アドレス、ポート、秘密鍵を設定します。
  3. 対向サイトの公開鍵と endpoint を使って peer を追加します。
  4. 内部ネットワークをトンネル経由でルーティングします。
  5. 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 の実運用ポイントを習得できます。