

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 對與 macOS 用戶端的 AWS Client VPN 連線進行故障診斷
<a name="macos-troubleshooting"></a>

以下各節針對記錄和您使用 macOS 用戶端時可能遇到的問題提供了相關資訊。請確定您執行的是這些用戶端的最新版本。

## AWS 提供的用戶端事件日誌
<a name="macos-troubleshooting-client-vpn-connect"></a>

 AWS 提供的用戶端會建立事件日誌，並將其存放在您電腦上的下列位置。

```
/Users/username/.config/AWSVPNClient/logs
```

以下是可用的日誌類型：
+ **應用程式日誌**：包含應用程式的相關資訊。這些日誌的字首會加上 'aws\$1vpn\$1client\$1'。
+ **OpenVPN 日誌**：包含 OpenVPN 程序的相關資訊。這些日誌的字首會加上 'ovpn\$1aws\$1vpn\$1client\$1'。

 AWS 提供的用戶端使用用戶端協助程式來執行根操作。協助程式日誌儲存在電腦的下列位置。

```
/var/log/AWSVPNClient/AcvcHelperErrLog.txt
/var/log/AWSVPNClient/AcvcHelperOutLog.txt
```

 AWS 提供的用戶端會將組態檔案存放在您電腦上的下列位置。

```
/Users/username/.config/AWSVPNClient/OpenVpnConfigs
```

**Topics**
+ [AWS 提供的用戶端事件日誌](#macos-troubleshooting-client-vpn-connect)
+ [用戶端無法連線](#macos-troubleshooting-client-vpn-cannot-connect)
+ [用戶端卡在重新連接狀態](#macos-troubleshooting-client-vpn-stuck)
+ [用戶端無法建立設定檔](#macos-troubleshooting-client-vpn-cannot-create-profile)
+ [協助程式工具為必要錯誤](#macos-troubleshooting-helper-tool)
+ [Tunnelblick](#macos-troubleshooting-tunnelblick)
+ [找不到密碼演算法 'AES-256-GCM'](#tunnelblick-cipher)
+ [連線停止回應並重設](#tunnelblick-connection-reset)
+ [擴充金鑰使用方法 (EKU)](#tunnelblick-eku)
+ [過期的憑證](#tunnelblick-certificate-expired)
+ [OpenVPN](#macos-troubleshooting-openvpn)
+ [無法解析 DNS](#macos-openvpn-dns)

## 用戶端無法連線
<a name="macos-troubleshooting-client-vpn-cannot-connect"></a>

**問題**  
 AWS 提供的用戶端無法連線至 Client VPN 端點。

**原因**  
導致此問題的原因可能為下列其中一項：
+ 另一個 OpenVPN 處理程序已在您的電腦上執行，這會阻止用戶端進行連接。
+ 您的組態 (.ovpn) 檔案無效。

**解決方案**  
檢查看看您的電腦上有沒有其他 OpenVPN 應用程式正在執行。如果有，請停止或結束這些程序，然後再次嘗試連線到 Client VPN 端點。檢查 OpenVPN 日誌中的錯誤項目，並要求您的 Client VPN 管理員驗證下列資訊：
+ 組態檔案包含正確的用戶端金鑰和憑證。如需詳細資訊，請參閱《*AWS Client VPN 管理員指南*》中的[匯出用戶端組態](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-endpoint-export.html)。
+ CRL 仍然有效。如需詳細資訊，請參閱《*AWS Client VPN 管理員指南*》中的[用戶端無法連線到 Client VPN 端點](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/troubleshooting.html#client-cannot-connect)。

## 用戶端卡在重新連接狀態
<a name="macos-troubleshooting-client-vpn-stuck"></a>

**問題**  
 AWS 提供的用戶端正在嘗試連線至 Client VPN 端點，但停滯在重新連線狀態。

**原因**  
導致此問題的原因可能為下列其中一項：
+ 您的電腦未連線到網際網路。
+ DNS 主機名稱不會解析為 IP 地址。
+ OpenVPN 處理程序正在無限期地嘗試連接到端點。

**解決方案**  
確定您的電腦已連線至網際網路。請您的 Client VPN 管理員驗證組態檔案中的 `remote` 指令可以解析為有效的 IP 地址。您也可以在 VPN 用戶端視窗中選擇**中斷連線**，然後再次嘗試連線，以中斷 AWS VPN 工作階段的連線。

## 用戶端無法建立設定檔
<a name="macos-troubleshooting-client-vpn-cannot-create-profile"></a>

**問題**  
當您使用 AWS 提供的用戶端嘗試建立描述檔時，發生下列錯誤。

```
The config should have either cert and key or auth-user-pass specified.
```

**原因**  
如果 Client VPN 端點使用交互身分驗證，則組態 (.ovpn) 檔案便不會包含用戶端憑證和金鑰。

**解決方案**  
請確定您的 Client VPN 管理員將用戶端憑證和金鑰新增至組態檔案。如需詳細資訊，請參閱《*AWS Client VPN 管理員指南*》中的[匯出用戶端組態](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-endpoint-export.html)。

## 協助程式工具為必要錯誤
<a name="macos-troubleshooting-helper-tool"></a>

**問題**  
當您嘗試連接 VPN 時，會收到下列錯誤。

```
AWS VPN Client Helper Tool is required to establish the connection.
```

**解決方案**  
請參閱下列有關 AWS re：Post 的文章。[AWS VPN 用戶端 - 協助程式工具為必要錯誤](https://repost.aws/questions/QUbch5NzWnSyWbGM0hu4w0mg/aws-vpn-client-helper-tool-is-required-error)

## Tunnelblick
<a name="macos-troubleshooting-tunnelblick"></a>

下列故障診斷資訊已在 macOS High Sierra 10.13.6 版的 Tunnelblick 軟體 3.7.8 版 (組建 5180) 上經過測試。

私有組態的組態檔案儲存在電腦的下列位置。

```
/Users/username/Library/Application Support/Tunnelblick/Configurations
```

共用組態的組態檔儲存在電腦的下列位置。

```
/Library/Application Support/Tunnelblick/Shared
```

連線日誌儲存在電腦的下列位置。

```
/Library/Application Support/Tunnelblick/Logs
```

若要提高日誌詳細程度，請開啟 Tunnelblick 應用程式、選擇 **Settings (設定)**，然後調整 **VPN log level (VPN 日誌層級)** 的值。

## 找不到密碼演算法 'AES-256-GCM'
<a name="tunnelblick-cipher"></a>

**問題**  
連線失敗，並在日誌中傳回下列錯誤。

```
2019-04-11 09:37:14 Cipher algorithm 'AES-256-GCM' not found
2019-04-11 09:37:14 Exiting due to fatal error
```

**原因**  
應用程式使用的是不支援密碼演算法 AES-256-GCM 的 OpenVPN 版本。

**解決方案**  
請執行以下步驟，選擇相容的 OpenVPN 版本：

1. 開啟 Tunnelblick 應用程式。

1. 選擇**設定**。

1. 對於 **OpenVPN version (OpenVPN 版本)**，請選擇 **2.4.6 - OpenSSL version is v1.0.2q (2.4.6 - OpenSSL 版本是 v1.0.2q)**。

## 連線停止回應並重設
<a name="tunnelblick-connection-reset"></a>

**問題**  
連線失敗，並在日誌中傳回下列錯誤。

```
MANAGEMENT: >STATE:1559117927,WAIT,,,,,,
MANAGEMENT: >STATE:1559117928,AUTH,,,,,,
TLS: Initial packet from [AF_INET]3.217.107.5:443, sid=df19e70f a992cda3
VERIFY OK: depth=1, CN=server-certificate
VERIFY KU OK
Validating certificate extended key usage
Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server       Authentication
VERIFY EKU OK
VERIFY OK: depth=0, CN=server-cvpn
Connection reset, restarting [0]
SIGUSR1[soft,connection-reset] received, process restarting
```

**原因**  
用戶端憑證已被撤銷。嘗試驗證後，連線會停止回應，並最終從伺服器端重設。

**解決方案**  
向您的 Client VPN 管理員要求新的組態檔案。

## 擴充金鑰使用方法 (EKU)
<a name="tunnelblick-eku"></a>

**問題**  
連線失敗，並在日誌中傳回下列錯誤。

```
TLS: Initial packet from [AF_INET]50.19.205.135:443, sid=29f2c917 4856ad34
VERIFY OK: depth=2, O=Digital Signature Trust Co., CN=DST Root CA X3
VERIFY OK: depth=1, C=US, O=Let's Encrypt, CN=Let's Encrypt Authority X3
VERIFY KU OK
Validating certificate extended key usage
 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
VERIFY EKU OK
VERIFY OK: depth=0, CN=cvpn-lab.myrandomnotes.com (http://cvpn-lab.myrandomnotes.com/)
Connection reset, restarting [0]
SIGUSR1[soft,connection-reset] received, process restarting
MANAGEMENT: >STATE:1559138717,RECONNECTING,connection-reset,,,,,
```

**原因**  
伺服器身分驗證成功。不過，用戶端身分驗證失敗，因為用戶端憑證已啟用伺服器身分驗證的擴充金鑰使用方法 (EKU) 欄位。

**解決方案**  
請確定您使用的是正確的用戶端憑證和金鑰。如有必要，請與您的 Client VPN 管理員驗證。如果您正在使用伺服器憑證，而非用戶端憑證來連線到 Client VPN 端點，便可能發生此錯誤。

## 過期的憑證
<a name="tunnelblick-certificate-expired"></a>

**問題**  
伺服器驗證成功，但用戶端身分驗證失敗，並顯示下列錯誤。

```
WARNING: “Connection reset, restarting [0] , SIGUSR1[soft,connection-reset] received, process restarting”
```

**原因**  
用戶端憑證有效性已過期。

**解決方案**  
向您的 Client VPN 管理員要求新的用戶端憑證。

## OpenVPN
<a name="macos-troubleshooting-openvpn"></a>

下列故障診斷資訊已在 macOS High Sierra 10.13.6 的 OpenVPN Connect Client 軟體 2.7.1.100 版上經過測試。

組態檔案儲存在電腦的下列位置。

```
/Library/Application Support/OpenVPN/profile
```

連線日誌儲存在電腦的下列位置。

```
Library/Application Support/OpenVPN/log/connection_name.log
```

## 無法解析 DNS
<a name="macos-openvpn-dns"></a>

**問題**  
連線失敗，並出現下列錯誤。

```
Mon Jul 15 13:07:17 2019 Transport Error: DNS resolve error on 'cvpn-endpoint-1234.prod.clientvpn.us-east-1.amazonaws.com' for UDP session: Host not found (authoritative)
Mon Jul 15 13:07:17 2019 Client terminated, restarting in 2000 ms...
Mon Jul 15 13:07:18 2019 CONNECTION_TIMEOUT [FATAL-ERR]
Mon Jul 15 13:07:18 2019 DISCONNECTED
Mon Jul 15 13:07:18 2019 >FATAL:CONNECTION_TIMEOUT
```

**原因**  
OpenVPN Connect 無法解析 Client VPN DNS 名稱。

**解決方案**  
請參閱《*AWS Client VPN 管理員指南*》中[無法解析 Client VPN 端點 DNS 名稱](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/troubleshooting.html#resolve-host-name)的解決方案。