###### tags: `aws` # AWS Client VPN endpoints  ## 創建步驟 ### 1. 建立RSA公私鑰 參考步驟 [點擊](https://hackmd.io/@YJpKjOOqQJWp5dfsfMyF1w/BJcUMmVwi) ### 2. 將憑證公私鑰上傳到aws ACM 這邊注意一下, fileb不要換成路徑,不然會出現Invalid base64: 正確做法是將以下檔案放到同一個資料夾,並在終端機cd進去執行指令 ``` . ├── ca.crt ├── client1.domain.tld.crt ├── client1.domain.tld.key ├── server.crt └── server.key ``` server ``` aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt ``` client ``` aws acm import-certificate --certificate fileb://client1.domain.tld.crt --private-key fileb://client1.domain.tld.key --certificate-chain fileb://ca.crt ``` ### 3. 使用aws web ui 建立vpn * 選擇vpc -> Client VPN endpoints  * server & client certificate 選擇step2 放置在aws-acm的server&client  * 選擇想要連進去的vpc網域, 其他設定保持不變  ### 4. 新增Target network associations **subnet 我這邊是選擇public subnet盡量不要吃到private Nat流量為主**  ### 5. 新增Authorization rules 可以限制連到此vpn的ip **目前是允許全部擁有公鑰憑證的都可以通過**  ### 6. Route Table 要新增一個對外的0.0.0.0/0(這樣才可以連到外面網路)  ### 7. Download Client configuration並修改它 找到step1 建立的client ca&key * 用戶端憑證 —easy-rsa/easyrsa3/pki/issued/client1.domain.tld.crt * 用戶端金鑰 —easy-rsa/easyrsa3/pki/private/client1.domain.tld.key 打開configuration 並將新增 <cert></cert> & <key></key>的標籤並且分別填上以上檔案的內容,參考如下 ``` <cert> Contents of client certificate (.crt) file </cert> <key> Contents of private key (.key) file </key> ``` ### 8. 最後找到指定用戶端 VPN 終端節點 DNS 名稱的行,並在前面附加一個隨機字串 original: cvpn-endpoint-0b32abe831897327d.prod.clientvpn.ap-south-1.amazonaws.com 443 modified: eacd.cvpn-endpoint-0b32abe831897327d.prod.clientvpn.ap-south-1.amazonaws.com 443 前面那個eacd是可以隨機亂打的 範例如下圖 原先的:  修改後  # 坑 ## 問題-DNS 解析不到 **解法:** 把8.8.8.8(google)加入dns解析 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up