Azure 版の VyOS を使用し、Azure 内の特定サブネットへ OpenVPN 経由でアクセスできるようにする構成メモです。通常のオンプレミス VM 版 VyOS とは異なり、Azure Marketplace のイメージとして提供される前提があるため、バージョンや初期設定値を確認してから作業します。
書籍
ルーティング、NAT、VPN、ネットワーク設計の基礎を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
この記事は Azure Marketplace 版 VyOS で確認した内容です。取得時点では VyOS 1.4.3 sagitta / azure flavor が前提でした。通常の VyOS 1.5 系の記事とは別に、Azure 版イメージとしての制約を含めて読んでください。
バージョン確認
show versionVersion: VyOS 1.4.3
Release train: sagitta
Release flavor: azure
Architecture: x86_64
System type: Microsoft Hyper-V guest初期設定値の確認
まず初期状態の設定を確認します。Azure 版では DHCP、SSH、NTP、ユーザーの公開鍵などが Marketplace イメージ側で設定されています。
show configuration commands基本設定
OpenVPN 以外の最低限の設定として、DNS、NTP、SSH、不要な conntrack module などを確認します。実際の環境では Azure 側の NSG、ルートテーブル、サブネット設計も合わせて確認します。
configure
set system name-server 8.8.8.8
delete service ntp
set service ntp server time.google.com
set service ssh disable-password-authentication
delete system conntrack
commit
saveta.key を作成する
ta.key は TLS-Auth で使用する鍵です。不特定多数から到達可能な OpenVPN を公開する場合は、証明書だけでなく TLS-Auth / TLS-Crypt も含めて防御層を考えます。
openvpn --genkey secret /config/auth/ta.key証明書と鍵のインポート
CA、サーバー証明書、秘密鍵、ta.key を VyOS 側に配置します。実際のファイル名は自分の PKI に合わせます。
configure
run import pki ca si1230.com file /config/auth/ca.crt
run import pki certificate vyos file /config/auth/vyos.crt
run import pki key-pair vyos key-file /config/auth/vyos.key
commit
saveOpenVPN 設定の考え方
Azure 内の特定サブネットに VPN 経由で到達させる場合、OpenVPN の設定だけでなく、Azure 側の UDR、NSG、戻り経路を合わせて設計します。VPN は張れているのに通信できない場合は、Azure 側のルートやセキュリティ規則が原因になることがあります。
show interfaces openvpn
show ip route
show log openvpnまとめ
Azure 版 VyOS OpenVPN は、VyOS の設定だけで完結しません。Azure Marketplace イメージのバージョン、Azure 側のネットワーク制御、OpenVPN の証明書、戻り経路をセットで確認する必要があります。

