Ubuntu

OpenVPN 不會分配靜態 IP

  • April 23, 2015

我有 OpenVPN 設置並正常執行。問題是我想為我的 VPN 上的某些使用者分配靜態 IP,因此他們每次總是獲得完全相同的 IP。

我的設置是用於 PAM 身份驗證,這工作正常:

client-cert-not-required
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login

我的使用者名是joel並且它工作正常,因為我可以使用此使用者名從任何 PC 登錄 VPN。這是我server.conf的 IP 靜態配置文件:

client-config-dir /etc/openvpn/ccd

CCD 目錄和使用者文件都歸nobody我的程序作為它們執行:

在此處輸入圖像描述 在此處輸入圖像描述

使用者文件內容:

在此處輸入圖像描述

即使有了所有這些,當我以使用者身份連接時,我仍然沒有靜態 IP joel。我每次都得到不同的 IP,從.6.10,但從不.4

使用使用者名/密碼驗證會禁用 OpenVPN 使用的任何通用名稱。所以登錄時不設置客戶端通用名。

解決方案是在server.conf文件中設置以下標誌並重新啟動 OpenVPN 伺服器:

username-as-common-name

這告訴 OpenVPN 在連接時將使用者名設置為客戶端的通用名稱。由於該文件以 Common Name 命名,因此這是必需的,否則 OpenVPN 不知道要檢查哪個文件。

首先,你有一個client-connect腳本嗎?如果是這樣,則其中的任何 IP 指令優先。

其次,根據 OpenVPN 文件,client-config-dir它只使用客戶端的 X.509 通用名稱來確定使用哪個文件。您可以joel通過創建 DEFAULT 文件來驗證文件是否不匹配。您似乎根本沒有使用客戶端證書,這可能會阻止使用該client-config-dir選項。

引用自:https://serverfault.com/questions/685102