В последнее время довольно частый вопрос – как установить и настроить OpenVPN сервер на ОС Linux Debian? Довольно распространенная ситуация, т.к. у многих веб разработчиков имеется выделенная площадка(VPS/VDS) под ОС Linux, расположенная за пределами границ стран со свободным интернетом.
Установка и настройка сервера и клиентов для Windows, MacOS не представляет особых сложностей. Как говорил офицер Бойс – меньше слов, больше дела.
- Мой IP? Если вы не знаете публичный IP вашего выделенного сервера, команда
ifconfig
отобразит список интерфейсов
2. Скачивание и запуск скрипта установки
wget https://git.io/vpn -O openvpn-install.sh ./openvpn-install.sh
проблем с установкой не должно возникнуть. Указываете UDP протокол, В 90% скрипт верно определяет внешний ip. Если это не так, введите верный. Выберите DNS сервер и наименование клиентского конфиг файла.
3. Не забываем про Firewall – разрешите порты 1194. Не используйте 80/443 для OpenVPN. Признак плохого тона.
4. Запускаем OpenVPN сервис
# systemctl start openvpn@server
Не забудьте скопировать сгенерированный клиентский конфиг файл на клиентскую машину.
Клиенты для WIndows:OpenVPN Gui
Для macOS Tunnelblick
Если у Вас возникнут неполадки, добавьте в конфиг файл сервера(/etc/openvpn/server.conf) следующую строчку:
log-append /var/log/openvpn/openvpn.log
Для чего? Для логирования! Чтобы элементарно скопироватьлоги и разместить вопрос на каком нибудь форуме:-)
Иногда бывает проблема с DNS – клиент успешно подключается, НО! может подколючиться к внешим хостам только по прямому ip. Тогда проверьте, если ли строчка push “dhcp-option DNS 8.8.8.8”
Привожу свой конфиг файл сервера, вдруг кому нибудь пригодится. Этот конфигурационный файл с Linux сервера под ОС Debian.
port 1194 proto udp dev tun sndbuf 0 rcvbuf 0 ca ca.crt cert server.crt key server.key dh dh.pem auth SHA512 tls-auth ta.key 0 topology subnet server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1 bypass-dhcp" keepalive 10 120 cipher AES-256-CBC user nobody #dhcp test push "dhcp-option DNS 8.8.8.8" group nogroup persist-key persist-tun status openvpn-status.log verb 3 crl-verify crl.pem log-append /var/log/openvpn/openvpn.log