Я застрял на этой проблеме уже несколько дней.
В настоящее время я использую сервер OpenVPN на собственном сервере. Наши сотрудники используют это, чтобы после входа в VPN из удаленных мест они могли получить доступ к ресурсам в нашей офисной сети. Основное использование для этого - использование RDP для подключения к машинам Windows.
Нам нужно перенести это в облако. Мы создали тестовую среду, в которой VPN AWS подключаются из нашего офиса к транзитному шлюзу, который подключен к различным VPC. Один из этих VPC содержит экземпляр, на котором я запускаю сервер OpenVPN, который почти соответствует конфигурации текущей VPN с небольшими изменениями. Однако, хотя RDP отлично работает с текущей установкой OpenVPN, его нельзя использовать с облачной установкой OpenVPN. Под непригодным я имею в виду:
Таким образом, мы можем подключиться нормально, но очевидно, что что-то работает не так, как должно, и я перепробовал все, что мог придумать. Это подробная информация о текущем работающем автономном сервере OpenVPN.
И содержание server.conf:
local 192.168.1.103
port 1194
proto tcp
dev tun
cert /etc/openvpn/keys2/mycert
key /etc/openvpn/keys2/mykey
dh /etc/openvpn/keys2/dh.pem
server 10.8.0.0 255.255.255.0
topology subnet
route 192.168.2.0 255.255.255.0
push "route 10.8.0.0 255.255.255.0"
push "route 192.168.1.0 255.255.255.0"
push "dhcp-option DNS 192.168.1.1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
client-config-dir /etc/openvpn/ccd
client-to-client
duplicate-cn
keepalive 20 600
cipher AES-128-CBC
max-clients 100
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 4
username-as-common-name
plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn
reneg-sec 0
management localhost 17505
compress lz4
mssfix 1432
mute 10
ifconfig-pool-persist ipp.txt
key-direction 0
tcp-queue-limit 256
verify-client-cert none
Подробная информация об облачном сервере OpenVPN:
И содержание server.conf:
port 1194
proto udp
dev tun
username-as-common-name
ca /etc/certs/ca.crt
cert /etc/certs/server.crt
key /etc/certs/server.key
dh /etc/certs/dh2048.pem
server 10.8.0.0 255.255.255.0
topology subnet
push "route 10.8.0.0 255.255.255.0"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
client-config-dir /etc/openvpn/ccd
client-to-client
duplicate-cn
keepalive 20 600
tcp-queue-limit 256
cipher AES-256-CBC
auth SHA256
max-clients 100
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 4
plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn
reneg-sec 0
compress lz4
mssfix 1432
mute 10
ifconfig-pool-persist ipp.txt
key-direction 0
verify-client-cert none
Вы можете видеть, что некоторые маршруты по необходимости отличаются. Кроме того, хотя в настоящее время новый сервер использует UDP, как указано ниже, это связано с тем, что я изменил это, чтобы попытаться решить проблему.
Вот что я пробовал:
Был бы признателен за любые идеи, поскольку я из них.
Проблема заключалась в настройках защиты от DoS-атак в маршрутизаторе, которые использовались клиентами, для которых мы пытались использовать RDP, в частности в настройке защиты от флуда UDP (мы используем DrayTek Vigor 2926). Порог был установлен на уровне 50 пакетов в секунду. Отключение этого привело к значительному улучшению опыта, поэтому, немного поэкспериментировав, мы остановились на 5000 пакетов в секунду. Теперь работает отлично.