Недавно я пытался создать новый сервер Windows Server 2016 Open VPN, чтобы заменить старый, устаревший PPTP VPN, который у нас сейчас есть.
У меня был некоторый успех, и мне удалось заставить работать VPN с маршрутизацией, но это создает для нас еще одну потенциальную дилемму с VPN типа "сеть-сеть", которые у нас есть в настоящее время, и с правильно настроенной маршрутизацией.
Вместо этого я попытался установить VPN как мостовую VPN. Я подключил адаптеры TAP и Ethernet и обновил конфигурацию. Теперь клиент может подключиться к мостовой VPN и может пинговать / RDP с VPN-сервером (192.168.54.176), но не может получить доступ к остальной части сети.
Используя Wireshark, я определил, что запросы ping правильно перенаправляются в сеть, однако другие серверы в сети не могут ответить. Похоже, это связано с тем, что запросы ARP для IP-адреса клиента VPN (192.168.55.75) не получают никакого ответа. Я не совсем уверен, как это должно работать, но сервер не отвечает на запросы, чтобы дать другим серверам в сети что-то ответить, и не пересылает их подключенному клиенту.
Я не уверен, что я что-то пропустил или нужна дополнительная настройка, но определенно кажется, что чего-то не хватает. Любая помощь, безусловно, приветствуется!
Откройте конфигурацию VPN:
port 1194
proto udp
dev tap
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\server.crt"
key "C:\\Program Files\\OpenVPN\\config\\server.key"
dh "C:\\Program Files\\OpenVPN\\config\\dh2048.pem"
topology subnet
ifconfig-pool-persist ipp.txt
server-bridge 192.168.54.176 Subnet 192.168.55.75 192.168.55.80
push "route 192.168.48.0 Subnet"
push "redirect-gateway autolocal def1 bypass-dhcp"
push "dhcp-option DNS Server"
push "dhcp-option DNS Another Server"
client-to-client
keepalive 10 120
cipher AES-256-CBC
persist-key
persist-tun
verb 3
explicit-exit-notify 1
После нескольких дней проб и ошибок мне наконец удалось найти источник проблемы!
Сервер VPN - это виртуальная машина Windows на узле Hyper-V. В то время как большинство экземпляров Open VPN выглядят как Linux на VMware. Я часто видел, что серверы VMware Open VPN нужно установить в неразборчивый режим, чтобы они могли транслировать по разным MAC-адресам, однако я никогда не видел подобных инструкций относительно Hyper-V, поэтому никогда не задумывался об этом.
В конце концов, я проверил Hyper-V и обнаружил параметр «Включить спуфинг MAC-адреса» в разделе «Настройки виртуальной машины»> «Сетевой адаптер»> «Дополнительные функции». Этот параметр должен быть включен, чтобы сервер Open VPN мог пересылать запросы ARP от имени подключенных клиентов.