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

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

Недавно я установил OpenVPN на удаленный веб-сервер CentOS 7. Я могу подключиться к нему из локального devbox CentOS 7, набрав openvpn --config /path/to/client.ovpn. Как только соединение установлено, я могу ssh на сервер через vpn, набрав ssh username@10.8.0.1, и я могу просматривать веб-приложения, размещенные apache на удаленном сервере через vpn, набрав 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),

Снятие отметки с опции user / auth удалило требование входа в систему с помощью имени пользователя и пароля.

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

Что еще можно попробовать?

Убедитесь, что ваш брандмауэр на сервере 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 галочку, которую я снял и (естественно) ключ и сертификаты.