Ubuntu
OpenVPN 不會分配靜態 IP
我有 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
選項。