Назад | Перейти на главную страницу

Как отключить клиент openvpn, когда другой клиент подключается с использованием того же сертификата?

У меня есть openvpn server. В файле конфигурации нет "duplicate-cn".

Последовательность моих действий:

  1. Клиент А подключается к серверу. Все работает. Имеет доступ к серверу и Интернету.
  2. Клиент B подключается к серверу, используя тот же сертификат, что и клиент A. Получите тот же IP-адрес, что и клиент A. Все работает. Имеет доступ к серверу и Интернету.
  3. Клиент А все еще подключен. Нет доступа к серверу или Интернету.

Как отключить клиента А?

Конфигурация сервера:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
tls-auth ta.key 0
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log-append  openvpn.log
verb 3
crl-verify /etc/openvpn/crl.pem

Конфигурация клиента:

client
dev tun
proto udp
remote example.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
pkcs12 client.p12
remote-cert-tls server
tls-auth ta.key 1
comp-lzo
verb 3

У тебя есть keepalive 10 120 в конфигурации вашего сервера, которая расширяется следующим образом:

ping 10
ping-restart 240
push "ping 10"
push "ping-restart 120"

Вы можете заменить keepalive директиву примерно так:

ping 10
ping-restart 240
push "ping 10"
push "ping-exit 60"

Это приводит к тому, что клиент завершает работу через 60 секунд без получения эхо-запроса или другого пакета от удаленного устройства.