Openvpn

具有 Radius 同時連接的 OpenVPN

  • May 14, 2018

我正在嘗試使用半徑身份驗證和記帳設置 OpenVPN 伺服器。基礎工作。使用者可以使用他們的 Radius 帳戶對 OpenVPN 伺服器進行身份驗證,但同時連接存在一個我無法解決的問題。另外我對問題的原因沒有任何線索。

問題是同時使用屬性根本不起作用。如果兩個客戶端嘗試使用相同的使用者名連接,則無限循環開始。當客戶端 #2 嘗試連接而客戶端 #1 已經連接時,伺服器斷開客戶端 #1 並連接客戶端 #2。就在客戶端#2 連接後,客戶端#1 嘗試重新連接並斷開客戶端#2。它會一直這樣下去。在正確的情況下,如果客戶端 #1 已連接,伺服器應阻止客戶端 #2 連接。

這是我的 OpenVPN 配置。

port 443
proto tcp
dev tun
server 10.8.0.0 255.255.255.0
ca /etc/openvpn/ssl/ca.crt
cert /etc/openvpn/ssl/EntityName.crt
key /etc/openvpn/ssl/EntityName.key
dh /etc/openvpn/ssl/dh.pem
crl-verify /etc/openvpn/ssl/crl.pem   
tls-auth /etc/openvpn/ssl/ta.key 0
plugin /etc/openvpn/radius/radiusplugin.so /etc/openvpn/radius/radius.cnf
username-as-common-name
ifconfig-pool-persist ipp.txt
client-config-dir /etc/openvpn/ccd
persist-key
persist-tun
keepalive 10 60
reneg-sec 0
tun-mtu 1468
cipher AES-256-CBC
tun-mtu-extra 32
mssfix 1400
push "persist-key"
push "persist-tun"
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
status /var/log/openvpn/status.log 1
log-append  /var/log/openvpn/openvpn.log
verb 3
client-connect /etc/openvpn/statuschange.sh
client-disconnect /etc/openvpn/statuschange.sh
script-security 2
management 127.0.0.1 7777

這是半徑外掛配置文件。

subnet=255.255.255.0
overwriteccfiles=true
useauthcontrolfile=false
accountingonly=false
nonfatalaccounting=false
server
{
       acctport=1813
       authport=1812
       name=OpenVPN server ip.
       retry=1
       wait=1
       sharedsecret=MySecret
}

我從官方 OpenVPN 論壇得到了答案。解決方案很簡單。添加duplicate-cn到伺服器配置。

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