AWS Client VPN で macOS からプライベートサブネットに VPN 接続してみた。
macOS で相互認証用のキーを作成
git clone https://github.com/OpenVPN/easy-rsa.git cd easy-rsa/easyrsa3 ./easyrsa init-pki ./easyrsa build-ca nopass Common Name (eg: your user, host, or server name) [Easy-RSA CA]: yoheia.com ./easyrsa build-server-full server nopass ./easyrsa build-client-full client1.domain.tld nopass mkdir yoheia-key/ cp pki/ca.crt yoheia-key/ cp pki/issued/server.crt yoheia-key/ cp pki/private/server.key yoheia-key/ cp pki/issued/client1.domain.tld.crt yoheia-key/ cp pki/private/client1.domain.tld.key yoheia-key/
キーを ACM に登録する
AWSマネコンで AWS Certificate Manager に移動し、[証明書のプロビジョニング]-[証明書のインポート]をクリックし、サーバー証明書とクライアント証明書を登録する。
サーバー証明書
- 証明書本文:server.crt
Certificate: (中略) -----END CERTIFICATE-----
- 証明書のプライベートキ ー:server.key
-----BEGIN PRIVATE KEY----- (中略) -----END PRIVATE KEY-----
- 証明書チェーン:ca.crt
-----BEGIN CERTIFICATE----- (中略) -----END CERTIFICATE----
クライアント証明書
---証明書本文:client1.domain.tld.crt Certificate: (中略) -----END CERTIFICATE-----
- 証明書のプライベートキ:client1.domain.tld.key
-----BEGIN PRIVATE KEY----- (中略) -----END PRIVATE KEY-----
- 証明書チェーン:ca.crt
-----BEGIN CERTIFICATE----- (中略) -----END CERTIFICATE----
Client VPNエンドポイント作成
- AWSマネコンで [VPC] - [クライアント VPN エンドポイント] で [クライアント VPN エンドポイントの作成] をクリックして、必要項目を入力(書いていない項目はデフォルトのまま)
- 名前タグ: yoheia-vpn ★任意の名前
- クライアント IPv4 CIDR*: 192.168.0.0/24★クライアント側のCIDRを指定
- サーバー証明書 ARN*: arn:aws:acm:ap-northeast-1:123456789012:certificate/e8...
- 相互認証の使用: チェック
- クライアント証明書 ARN*: arn:aws:acm:ap-northeast-1:123456789012:certificate/0b...
- クライアント接続の詳細を記録しますか?: いいえ
- DNS サーバーを有効にする: チェック
- DNS サーバー 1 IP アドレス*: 172.17.4.2
- VPC ID: vpc-b6****** ★VPN 接続先の VPC ID
- セキュリティグループ ID: sg-015**************
- VPN ポート:443
ターゲットネットワークへのクライアント VPN の関連付けの作成
ターゲットネットワークへのクライアント VPN で受信を承認
- AWSマネコンで [VPC] - [クライアント VPN エンドポイント] で作成したVPNエンドポイントを選択し、[認証]タブ - [受信の承認] をクリック、VPCとサブネットを指定する。
- アクセスを有効にする送信先ネットワーク*: 172.17.4.0/24 ★サブネットのCIDRを許可
- アクセスを付与する対象: すべてのユーザーにアクセスを許可する
VPNクライアント設定
- AWS Client VPN Download | Amazon Web Services から AWS Client VPN for macOS をダウンロード。
- AWSマネコンで [VPC] - [クライアント VPN エンドポイント] から [クライアント設定のダウンロード] をクリックしてダウンロードする。
- ダウンロードしたファイル "downloaded-client-config.ovpn" を開いて行末に以下を追記する。
cert /Users/yoheia/vpn-key/client1.domain.tld.crt key /Users/yoheia/vpn-key/client1.domain.tld.key