

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

# 對 AWS Client VPN 連線進行故障診斷
<a name="troubleshooting"></a>

使用下列主題，針對您使用用戶端應用程式連線到 Client VPN 端點時可能遇到的問題進行故障診斷。

**Topics**
+ [

## 適用於管理員的 Client VPN 端點故障診斷
](#client-vpn-endpoint-troubleshooting)
+ [

## 在 AWS 提供的用戶端 AWS 支援 中將診斷日誌傳送至
](#windows-troubleshooting-client-send-diagnostics)
+ [

# 對使用 Windows 型用戶端的 AWS Client VPN 連線進行故障診斷
](windows-troubleshooting.md)
+ [

# 對與 macOS 用戶端的 AWS Client VPN 連線進行故障診斷
](macos-troubleshooting.md)
+ [

# 對使用 Linux 型用戶端的 AWS Client VPN 連線進行故障診斷
](linux-troubleshooting.md)
+ [

# 疑難排解常見的 AWS Client VPN 問題
](common-troubleshooting.md)

## 適用於管理員的 Client VPN 端點故障診斷
<a name="client-vpn-endpoint-troubleshooting"></a>

您可執行本指南中的某些步驟。其他步驟必須由您的 Client VPN 管理員在 Client VPN 端點上執行。下列各節可讓您知道何時需要聯絡系統管理員。

如需針對 Client VPN 端點問題進行故障診斷的其他資訊，請參閱《*AWS Client VPN 管理員指南*》中的[針對 Client VPN 進行故障診斷](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/troubleshooting.html)。

## 在 AWS 提供的用戶端 AWS 支援 中將診斷日誌傳送至
<a name="windows-troubleshooting-client-send-diagnostics"></a>

如果您對 AWS 提供的用戶端有問題，而且需要聯絡 AWS 支援 來協助疑難排解，則 AWS 提供的用戶端可以選擇將診斷日誌傳送到 AWS 支援。此選項可在 Windows、macOS 和 Linux 用戶端應用程式上使用。

傳送檔案之前，您必須同意允許 AWS 支援 存取您的診斷日誌。在您同意之後，我們會提供您可以提供給 的參考號碼， AWS 支援 讓他們可以立即存取檔案。

### 傳送診斷日誌
<a name="client-vpn-connect-macos-connecting"></a>

在下列步驟中， AWS 提供的用戶端也稱為 *Site-to-Site VPN 用戶端*。

**使用 AWS 提供的 Windows 用戶端傳送診斷日誌**

1. 開啟 **Site-to-Site VPN Client** 應用程式。

1. 選擇 **Help** (說明) 和 **Send Diagnostic Logs** (傳送診斷日誌)。

1. 在 **Send Diagnostic Logs** (傳送診斷日誌) 視窗中，選擇 **Yes** (是)。

1. 在 **Send Diagnostic Logs** (傳送診斷日誌) 視窗中，執行以下其中一個操作：
   + 若要將參考編號複製到剪貼簿，請選擇 **Yes** (是)，然後選擇 **OK** (確定)。
   + 若要手動追蹤參考編號，請選擇 **No** (否)。

   當您聯絡 時 AWS 支援，您需要向他們提供參考號碼。

**使用 macOS AWS 提供的用戶端傳送診斷日誌**

1. 開啟 **Site-to-Site VPN Client** 應用程式。

1. 選擇 **Help** (說明) 和 **Send Diagnostic Logs** (傳送診斷日誌)。

1. 在 **Send Diagnostic Logs** (傳送診斷日誌) 視窗中，選擇 **Yes** (是)。

1. 請記下確認視窗中的參考編號，然後選擇 **OK** (確定)。

   當您聯絡 時 AWS 支援，您需要向他們提供參考號碼。

**使用 Ubuntu AWS 提供的用戶端傳送診斷日誌**

1. 開啟 **Site-to-Site VPN Client** 應用程式。

1. 選擇 **Help** (說明) 和 **Send Diagnostic Logs** (傳送診斷日誌)。

1. 在 **Send Diagnostic Logs** (傳送診斷日誌) 視窗中，選擇 **Send** (傳送)。

1. 請記下確認視窗中的參考編號。您可以選擇將資訊複製到剪貼簿。

   當您聯絡 時 AWS 支援，您需要向他們提供參考號碼。

# 對使用 Windows 型用戶端的 AWS Client VPN 連線進行故障診斷
<a name="windows-troubleshooting"></a>

以下各節針對您在使用 Windows 用戶端連線到 Client VPN 端點時可能會遇到的問題提供了相關資訊。

## AWS 提供的用戶端事件日誌
<a name="aws-provided-client"></a>

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

```
C:\Users\User\AppData\Roaming\AWSVPNClient\logs
```

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

 AWS 提供的用戶端使用 Windows 服務來執行根操作。Windows 服務日誌儲存在電腦的下列位置。

```
C:\Program Files\Amazon\AWS VPN Client\WinServiceLogs\username
```

**Topics**
+ [

## AWS 提供的用戶端事件日誌
](#aws-provided-client)
+ [

## 用戶端無法連線
](#windows-troubleshooting-client-vpn-cannot-connect)
+ [

## 用戶端無法在出現「沒有 TAP-Windows 介面卡」日誌訊息的情況下連線
](#windows-troubleshooting-client-vpn-cannot-connect-tap-driver)
+ [

## 用戶端卡在重新連接狀態
](#windows-troubleshooting-client-vpn-stuck)
+ [

## VPN 連接程序意外結束
](#windows-troubleshooting-client-vpn-quits)
+ [

## 應用程式無法啟動
](#windows-troubleshooting-client-vpn-cannot-launch)
+ [

## 用戶端無法建立設定檔
](#windows-troubleshooting-client-vpn-cannot-create-profile)
+ [

## VPN 與快顯訊息中斷連線
](#windows-troubleshooting-client-vpn-connection-terminated)
+ [

## 在使用 Windows 10 或 11 的 Dell PC 上發生用戶端當機
](#windows-troubleshooting-client-vpn-crash-dell)
+ [

## OpenVPN GUI
](#windows-troubleshooting-openvpn-gui)
+ [

## OpenVPN Connect Client
](#windows-troubleshooting-openvpn-connect)
+ [

## 無法解析 DNS
](#windows-troubleshooting-openvpn-connect-dns)
+ [

## 遺失 PKI 別名
](#windows-troubleshooting-openvpn-connect-pki)

## 用戶端無法連線
<a name="windows-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)。

## 用戶端無法在出現「沒有 TAP-Windows 介面卡」日誌訊息的情況下連線
<a name="windows-troubleshooting-client-vpn-cannot-connect-tap-driver"></a>

**問題**  
 AWS 提供的用戶端無法連線至 Client VPN 端點，*且*應用程式日誌中會顯示下列錯誤訊息：「此系統上沒有 TAP-Windows 轉接器。您可前往「開始 -> 所有程式 -> TAP-Windows -> 公用程式 -> 新增 TAP-Windows 虛擬乙太網路介面卡」，這樣應該就能建立 TAP-Windows 介面卡。

**解決方案**  
您可以採取下列其中一個或多個動作來解決此問題：
+ 重新啟動 TAP-Windows 介面卡。
+ 重新安裝 TAP-Windows 驅動程式。
+ 建立新的 TAP-Windows 介面卡。

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

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

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

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

## VPN 連接程序意外結束
<a name="windows-troubleshooting-client-vpn-quits"></a>

**問題**  
連線到 Client VPN 端點時，用戶端意外結束。

**原因**  
TAP-Windows 未安裝在您的電腦上。需要此軟體才能執行用戶端。

**解決方案**  
重新執行 AWS 提供的用戶端安裝程式，以安裝所有必要的相依性。

## 應用程式無法啟動
<a name="windows-troubleshooting-client-vpn-cannot-launch"></a>

**問題**  
在 Windows 7 上， AWS 提供的用戶端不會在您嘗試開啟時啟動。

**原因**  
您的電腦上未安裝 .NET Framework 4.7.2 或更高版本。這是執行用戶端的必要項目。

**解決方案**  
重新執行 AWS 提供的用戶端安裝程式，以安裝所有必要的相依性。

## 用戶端無法建立設定檔
<a name="windows-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)。

## VPN 與快顯訊息中斷連線
<a name="windows-troubleshooting-client-vpn-connection-terminated"></a>

**問題**  
VPN 會中斷連線，並顯示快顯訊息：「VPN 連線正在終止，因為您裝置連線的本機網路地址空間已變更。請建立新的 VPN 連線。」

**原因**  
TAP-Windows 轉接器不包含必要的描述。

**解決方案**  
如果下列`Description`欄位不相符，請先移除 TAP-Windows 轉接器，然後重新執行 AWS 提供的用戶端安裝程式，以安裝所有必要的相依性。

```
C:\Users\jdoe> ipconfig /all
   
Ethernet adapter Ethernet 2:

Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix  . :
Description . . . . . . . . . . . : AWS VPN Client TAP-Windows Adapter V9
Physical Address. . . . . . . . . : 00-FF-50-ED-5A-DE
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
```

## 在使用 Windows 10 或 11 的 Dell PC 上發生用戶端當機
<a name="windows-troubleshooting-client-vpn-crash-dell"></a>

**問題**  
在執行 Windows 10 或 11 的某些 Dell PC (桌上型和筆記型) 上，當您瀏覽檔案系統來匯入 VPN 組態檔案時，可能會發生當機的情況。如果發生此問題，您會在 AWS 提供的用戶端日誌中看到如下的訊息：

```
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at System.Data.SQLite.UnsafeNativeMethods.sqlite3_open_interop(Byte[] utf8Filename, Int32 flags, IntPtr& db)
   at System.Data.SQLite.SQLite3.Open(String strFilename, SQLiteConnectionFlags connectionFlags, SQLiteOpenFlagsEnum openFlags, Int32 maxPoolSize, Boolean usePool)
   at System.Data.SQLite.SQLiteConnection.Open()
   at STCommonShellIntegration.DataShellManagement.CreateNewConnection(SQLiteConnection& newConnection)
   at STCommonShellIntegration.DataShellManagement.InitConfiguration(Dictionary`2 targetSettings)
   at DBROverlayIcon.DBRBackupOverlayIcon.initComponent()
```

**原因**  
Windows 10 和 11 中的 Dell Backup and Recovery 系統可能會導致與 AWS 所提供用戶端的衝突，特別是與下列三個 DLLs的衝突：
+ DBRShellExtension.dll
+ DBROverlayIconBackuped.dll
+ DBROverlayIconNotBackuped.dll

**解決方案**  
為了避免此問題，請先確認您的用戶端是 AWS 最新版本的用戶端。前往 [AWS Client VPN 下載](https://aws.amazon.com/vpn/client-vpn-download/)，若可取得較新的版本，請升級至最新版。

**此外，請執行下列作業：**
+ 如果您使用的是 Dell Backup and Recovery 應用程式，請務必使用最新版。一篇 [Dell 論壇文章](https://www.dell.com/community/en/conversations/productivity-software/backup-and-recovery-causing-applications-using-qt5-dlls-to-crash/647f54c6f4ccf8a8dee57b89?commentId=647f6c00f4ccf8a8de92b263#M35007)聲明此問題已在較新版的應用程式中解決。
+ 如果您沒有使用 Dell Backup and Recovery 應用程式，如果您遇到此問題，仍需採取一些動作。如果您不希望升級應用程式，則可以刪除或重新命名 DLL 檔案。但是，請注意，這會使得 Dell Backup and Recovery 應用程式難以順暢運作。

**刪除或重新命名 DLL 檔案**

1. 前往 Windows 檔案總管並瀏覽到 Dell Backup and Recovery 的安裝位置。此應用程式通常會安裝在下列位置，但您可能需要搜尋才能找出來。

   ```
   C:\Program Files (x86)\Dell Backup and Recovery\Components\Shell
   ```

1. 從安裝目錄手動刪除下列 DLL 檔案，或重新命名這些檔案。任何一項動作皆會使這些檔案無法載入。
   + DBRShellExtension.dll
   + DBROverlayIconBackuped.dll
   + DBROverlayIconNotBackuped.dll

   您可以透過在檔案名稱結尾加上「.bak」來重新命名這些檔案，例如 **DBROverlayIconBackuped.dll.bak**。

## OpenVPN GUI
<a name="windows-troubleshooting-openvpn-gui"></a>

下列故障診斷資訊已在 Windows 10 家用版 (64 位元) 和 Windows Server 2016 (64 位元) 的 OpenVPN GUI 軟體 11.10.0.0 和 11.11.0.0 版上經過測試。

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

```
C:\Users\User\OpenVPN\config
```

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

```
C:\Users\User\OpenVPN\log
```

## OpenVPN Connect Client
<a name="windows-troubleshooting-openvpn-connect"></a>

下列故障診斷資訊已在 Windows 10 家用版 (64 位元) 和 Windows Server 2016 (64 位元) 的 OpenVPN Connect Client 軟體 2.6.0.100 和 2.7.1.101 版上經過測試。

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

```
C:\Users\User\AppData\Roaming\OpenVPN Connect\profile
```

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

```
C:\Users\User\AppData\Roaming\OpenVPN Connect\logs
```

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

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

```
Transport Error: DNS resolve error on 'cvpn-endpoint-xyz123.prod.clientvpn.us-east-1.amazonaws.com (http://cvpn-endpoint-xyz123.prod.clientvpn.us-east-1.amazonaws.com/)' for UDP session: No such host is known.
```

**原因**  
無法解析 DNS 名稱。用戶端必須在 DNS 名稱前面加上隨機字串，以防止 DNS 快取；不過，某些用戶端不會這樣做。

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

## 遺失 PKI 別名
<a name="windows-troubleshooting-openvpn-connect-pki"></a>

**問題**  
與不使用交互身分驗證 Client VPN 端點的連線失敗，並顯示下列錯誤。

```
FATAL:CLIENT_EXCEPTION: connect error: Missing External PKI alias
```

**原因**  
OpenVPN Connect Client 軟體有一個已知的問題，它會嘗試使用交互身分驗證進行驗證。如果組態檔案不包含用戶端金鑰和憑證，身分驗證會失敗。

**解決方案**  
在 Client VPN 組態檔案中指定隨機用戶端金鑰和憑證，然後將新組態匯入 OpenVPN Connect Client 軟體。您也可以使用不同的用戶端，例如 OpenVPN GUI 用戶端 (v11.12.0.0) 或 Viscosity 用戶端 (v.1.7.14)。

# 對與 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)的解決方案。

# 對使用 Linux 型用戶端的 AWS Client VPN 連線進行故障診斷
<a name="linux-troubleshooting"></a>

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

**Topics**
+ [

## AWS 提供的用戶端事件日誌
](#aws-provided-client)
+ [

## DNS 查詢會移至預設的 nameserver
](#aws-client-dns-nameserver)
+ [

## OpenVPN (命令列)
](#open-vpn-command-line)
+ [

## 透過網路管理員的 OpenVPN (GUI)
](#open-vpn-network-manager-gui)

## AWS 提供的用戶端事件日誌
<a name="aws-provided-client"></a>

 AWS 提供的用戶端會將日誌檔案和組態檔案存放在您系統的下列位置：

```
/home/username/.config/AWSVPNClient/
```

 AWS 提供的用戶端協助程式程序會將日誌檔案存放在您系統的下列位置：

```
/var/log/aws-vpn-client/
```

例如，您可以檢查下列日誌檔案，在 DNS 上/下指令碼中尋找導致連線失敗的錯誤：
+ `/var/log/aws-vpn-client/configure-dns-up.log`
+ `/var/log/aws-vpn-client/configure-dns-down.log`

## DNS 查詢會移至預設的 nameserver
<a name="aws-client-dns-nameserver"></a>

**問題**  
在某些情況下，建立 VPN 連線之後，DNS 查詢仍會前往預設的系統名稱伺服器，而不是針對 ClientVPN 端點設定的名稱伺服器。

**原因**  
用戶端會與 **systemd-resolved** 互動，這是 Linux 系統上提供的服務，作為 DNS 管理的中心部分。其用途為設定從 ClientVPN 端點推送的 DNS 伺服器。發生問題的原因在於 **systemd-resolved** 不會為 ClientVPN 端點所提供的 DNS 伺服器設定最高優先順序。相反地，它會將伺服器附加至本機系統上所設定的現有 DNS 伺服器清單。因此，原始 DNS 伺服器可能仍然具有最高優先順序，而用於解析 DNS 查詢。

**解決方案**

1. 在 OpenVPN 組態檔第一行新增以下指示詞，確保所有 DNS 查詢都傳送至 VPN 通道。

   ```
   dhcp-option DOMAIN-ROUTE .
   ```

1. 使用 **systemd-resolved** 提供的虛設常式解析程式。方法是在系統上執行下列命令，建立 `/etc/resolv.conf` 至 `/run/systemd/resolve/stub-resolv.conf` 的符號連結。

   ```
   sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
   ```

1. (選用) 如果您不希望 **systemd-resolved** 代理 DNS 查詢，而是要讓查詢直接傳送至真正的 DNS 名稱伺服器，則建立 `/etc/resolv.conf` 至 `/run/systemd/resolve/resolv.conf` 的符號連結。

   ```
   sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
   ```

   建議您執行此程序，以便針對諸如 DNS 回應快取、個別介面 DNS 設定、DNSec 強制等作業略過 **systemd-resolved** 組態。當您需要在連線至 VPN 時使用私有記錄覆寫公有 DNS 記錄時，此選項特別有用。例如，您的私有 VPC 中可能有一個私有 DNS 解析程式，其中包含可解析為私有 IP 的 www.example.com 記錄。此選項可用來覆寫可解析為公有 IP 的 www.example.com 公有記錄。

## OpenVPN (命令列)
<a name="open-vpn-command-line"></a>

**問題**  
因為 DNS 解析無法運作，所以連線無法正常運作。

**原因**  
未在 Client VPN 端點上設定 DNS 伺服器，或是用戶端軟體未遵守該伺服器。

**解決方案**  
請使用下列步驟來檢查 DNS 伺服器是否已設定且正常運作。

1. 請確定 DNS 伺服器項目存在於日誌中。在以下範例中，最後一行傳回 DNS 伺服器 `192.168.0.2` (於 Client VPN 端點中設定)。

   ```
   Mon Apr 15 21:26:55 2019 us=274574 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
   WRRMon Apr 15 21:26:55 2019 us=276082 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 192.168.0.2,route-gateway 10.0.0.97,topology subnet,ping 1,ping-restart 20,auth-token,ifconfig 10.0.0.98 255.255.255.224,peer-id 0
   ```

   如果未指定任何 DNS 伺服器，請要求您的 Client VPN 管理員修改 Client VPN 端點，確認已為 Client VPN 端點指定 DNS 伺服器 (例如 VPC DNS 伺服器)。如需詳細資訊，請參閱《*AWS Client VPN 管理員指南*》中的 [Client VPN 端點](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-endpoints.html)。

1. 請執行下列命令，確定已安裝 `resolvconf` 套件。

   ```
   sudo apt list resolvconf
   ```

   輸出應該會傳回以下內容。

   ```
   Listing... Done
   resolvconf/bionic-updates,now 1.79ubuntu10.18.04.3 all [installed]
   ```

   如果未安裝，請使用以下命令安裝它。

   ```
   sudo apt install resolvconf
   ```

1. 在文字編輯器中開啟 Client VPN 組態檔案 (.ovpn 檔案)，然後新增下列幾行。

   ```
   script-security 2
   up /etc/openvpn/update-resolv-conf
   down /etc/openvpn/update-resolv-conf
   ```

   檢查日誌以確認 `resolvconf` 指令碼是否已被叫用。日誌應該包含類似下列的行。

   ```
   Mon Apr 15 21:33:52 2019 us=795388 /etc/openvpn/update-resolv-conf tun0 1500 1552 10.0.0.98 255.255.255.224 init
   dhcp-option DNS 192.168.0.2
   ```

## 透過網路管理員的 OpenVPN (GUI)
<a name="open-vpn-network-manager-gui"></a>

**問題**  
使用網路管理員 OpenVPN 用戶端時，連線失敗，並出現下列錯誤。

```
Apr 15 17:11:07  OpenVPN 2.4.4 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Sep  5 2018
Apr 15 17:11:07  library versions: OpenSSL 1.1.0g  2 Nov 2017, LZO 2.08
Apr 15 17:11:07  RESOLVE: Cannot resolve host address: cvpn-endpoint-1234.prod.clientvpn.us-east-1.amazonaws.com:443 (Name or service not known)
Apr 15 17:11:07  RESOLVE: Cannot resolve host
Apr 15 17:11:07  Could not determine IPv4/IPv6 protocol
```

**原因**  
`remote-random-hostname` 旗標不會生效，且用戶端無法使用 `network-manager-gnome` 套件進行連線。

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

# 疑難排解常見的 AWS Client VPN 問題
<a name="common-troubleshooting"></a>

以下是您在使用用戶端連線到 Client VPN 端點時，可能會遇到的常見問題。

## TLS 金鑰交涉失敗
<a name="common-troubleshooting-tls"></a>

**問題**  
TLS 交涉失敗，並出現下列錯誤。

```
TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
TLS Error: TLS handshake failed
```

**原因**  
導致此問題的原因可能為下列其中一項：
+ 防火牆規則封鎖 UDP 或 TCP 流量。
+ 您在組態 (.ovpn) 檔案中使用了不正確的用戶端金鑰和憑證。
+ 用戶端憑證撤銷清單 (CRL) 已過期。

**解決方案**  
檢查看看電腦的防火牆規則是否封鎖連接埠 443 或 1194 上的傳入或傳出 TCP 或 UDP 流量。請要求您的 Client VPN 管理員驗證下列資訊：
+ Client VPN 端點的防火牆規則未封鎖連接埠 443 或 1194 上的 TCP 或 UDP 流量。
+ 組態檔案包含正確的用戶端金鑰和憑證。如需詳細資訊，請參閱《*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)。