https и ssh доступ к OpenVPN из Windows

https и ssh доступ к OpenVPN из Windows

Недавно я установил OpenVPN на удаленном веб-сервере CentOS 7. Я могу подключиться к нему с локального CentOS 7 devbox, набрав openvpn --config /path/to/client.ovpn. После того, как соединение установлено, я могу подключиться sshк серверу через vpn, набрав , и могу просматривать веб-приложения, размещенные Apache на удаленном сервере через vpn, набрав в веб-браузере. ssh [email protected]https : / / 10.8.0.1Так как же мне, моим нетехническим конечным пользователям, создать те же https-подключения из Windows?

Я скачал и установилКлиент SecurePoint OpenVPN для Windows. Затем я смог создать конфигурацию для сервера, включая ссылки на файлы .crt и .key и определения других параметров, которые были определены в client.ovpnфайле в Linux. Затем клиент SecurePoint заставил меня использовать имя пользователя и пароль для учетной записи ОС на удаленном сервере (возможно, это к лучшему), но не позволяет мне подключаться к веб-приложениям, работающим на сервере. В частности, ввод https : / / 10.8.0.1в веб-браузер приводит к сообщению «Эта страница не может быть отображена», хотя мой Linux devbox позволяет обслуживать контент с сервера через vpn на клиенте, как описано в предыдущем абзаце. Что я делаю не так? И как мне заставить это работать?

РЕДАКТИРОВАТЬ

Следуя совету @garethTheRed, я набрал sudo firewall-cmd --list-all --zone=internalи получил следующие результаты:

internal (active)
  interfaces: tun0
  sources:
  services: dhcpv6-client https ipp-client mdns samba-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:
        rule family="ipv4" source NOT address="10.8.1.1" service name="ssh" reject  

Затем я нажал «подключиться» в графическом интерфейсе SecurePoint и, после того как он сообщил, что соединение с сервером установлено, я открыл cmd.exe, набрал команду ping 10.8.0.1и получил следующие результаты:

Pinging 10.8.0.1 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 10.8.0.1:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

Снятие флажка с параметра «пользователь/аутентификация» отменяет необходимость ввода имени пользователя и пароля для входа в систему.

Обратите внимание, что при подключении SecurePoint весь остальной доступ в Интернет через браузер кажется заблокированным, поскольку все запросы на страницы отклоняются. Кроме того, VPN отображается в списке сетей Wi-Fi Windows как «Неопознанная сеть» с «нет доступа в Интернет». Когда я отключаюсь от VPN с помощью SecurePoint, «Неопознанная сеть» исчезает. Вы можете увидеть, как это выглядит, когда VPN-подключение активнонажав на эту ссылку

Что еще я могу попробовать?

решение1

Убедитесь, что ваш брандмауэр на сервере CentOS ( internalзона, где tun0расположено устройство) доступен httpsкак служба.

Вы должны иметь возможность пинговать сервер 10.8.0.1с машины Windows. Если это сработает, то ваш VPN запущен и работает, и, вероятно, вас блокирует брандмауэр сервера CentOS.

Если пинг не работает, то вам нужно решить более глубокие проблемы, прежде чем приступать к проверке своих httpsстраниц.

В последнем случае опубликуйте вывод запуска ìpconfig /allна route printмашине Windows.

Официальный клиент OpenVPN

В качестве эксперимента вы также можете установить openvpnна машине Windows и запустить ее таким же образом, как вы это делали на клиенте CentOS, используя похожие файлы конфигурации. Это может дать подсказку о том, что происходит:

Загрузите клиент OpenVPN для Windows с сайтаздесь, затем установите его. Ближе к концу установки вы должны увидеть флажок, предлагающий запустить клиент. Убедитесь, что клиент НЕ запущен.

Скопируйте *.ovpnфайл с машины CentOS (той, которая работала ранее) на машину Windows. Если вы переносите файл, вы можете столкнуться с проблемой терминаторов строк Unix/DOS. В dos2unixпакете есть конвертер, unix2dosкоторый преобразует файлы в формат DOS для вас.

Откройте notepadкак администратор (щелкните правой кнопкой мыши и выберите «Запуск от имени администратора») и отредактируйте файл, *.ovpnизменив пути к ключу и двум сертификатам, не забывая использовать две обратные косые черты в путях (например C:\\Users\\Bloggs\\key.pem, ). Сохраните этот файл в C:\Program Files\OpenVPN\config.

Запустите клиент OpenVPN из меню «Пуск», щелкнув правой кнопкой мыши по нему и выбрав «Запуск от имени администратора» (это необходимо только при первом запуске). Если вышеперечисленное сработало, вы сможете щелкнуть правой кнопкой мыши по значку на панели задач и подключиться. Если опции подключения нет, проверьте вышеперечисленное.

Через секунду или три вы увидите всплывающее окно, сообщающее, что вы подключились. Попробуйте свою httpsвеб-страницу.

Базовая конфигурация, совместимая с Windows

В качестве теста сделайте резервную копию текущей конфигурации сервера и попробуйте выполнить следующее:

port 1194
proto udp
dev tun
ca /etc/pki/openvpn/cacerts/CA.crt
cert /etc/pki/openvpn/public/OpenVPN_Server.crt
key /etc/pki/openvpn/private/OpenVPN_Server.pem  # This file should be kept secret
dh /etc/pki/openvpn/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

Он работает на моем сервере как с клиентами Linux, так и с клиентами Windows (и OpenVPN, и SecurePoint). Он не предоставит вам функционал, необходимый для вашего сервера, но он может помочь вам найти проблему. Конечно, вам может потребоваться изменить пути к файлам.

Для справки, вот *.ovpnфайл, который я использовал:

client
dev tun
proto udp
remote <IP or FQDN of server> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
verb 3
ca C:\\Users\\gareth\\ca.crt
cert C:\\Users\\gareth\\client.pem
key C:\\Users\\gareth\\key.crt

Для клиента SecurePoint я оставил все по умолчанию, кроме Auth user/passгалочки, которую я снял, и (конечно) ключа и сертификатов.

Связанный контент