OpenVPN имеет много преимуществ, благодаря которым он по-прежнему один из самых популярных протоколов для поднятия VPN туннелей:
- простота настройки;
- надежность и защищенность благодаря сертификатам;
- универсальность — удаленный доступ можно организовать с устройств с любой операционной системой;
- отсутствие проблем с NAT.
Однако отметим, что возможности OpenVPN на MikroTik урезаны:
- нет сжатия LZO;
- нет UDP, хотя именно он является предпочтительным для OpenVPN как простой и легковесный транспорт;
- скорость передачи данных не слишком высока;
- нет возможности присваивать адреса через другой DHCP, их выдает только сам Mikrotik.
Поднятие OpenVPN на MikroTik состоит из 3 этапов:
- генерация сертификатов;
- настройка OpenVPN сервера на MikroTik;
- настройка клиента.
Генерация сертификатов для OpenVPN
Сертификаты для сервера и клиента можно создать средствами самого OpenVPN (Easy-RSA), а можно с помощью ресурса CAcert.org. Рассмотрим создание самоподписанных сертификатов посредством Easy-RSA.
КАК УСТАНОВИТЬ VPN НА РОУТЕР 🛡️ ГАЙД ПО УСТАНОВКЕ VPN НА РОУТЕР ✅
Скачиваем и устанавливаем OpenVPN.
Идем на официальный сайт https://openvpn.net/ и скачиваем версию ПО, которая подходит для нашей системы.
Далее устанавливаем OpenVPN, галочки можно снять только с неважных пунктов (например, добавление ярлыка программы на панель быстрого доступа и в меню Пуск, ассоциации файлов).
Редактируем параметры easy-rsa OpenVPN.
После установки идем в папку с программой, в каталог easy-rsa
и открываем с помощью блокнота файл vars.bat.sample, редактируем его.
Если мы создаем дубликат папки easy-rsa (а в этом есть смысл) и работаем в нем, то необходимо отредактировать строку, прописав в ней новый путь к папке:
set HOME=%ProgramFiles%OpenVPNeasy-rsa
Значение строки set KEY_SIZE=1024 можно поменять на 2048 (как сказано в комментариях в файле — если вы параноик), но учтите, что производительность уменьшится.
Далее редактируем следующие строки, проставляя в них актуальные для себя значения (пустыми параметры оставлять нельзя):
Последние два параметра можно не менять.
После чего сохраняем файл под именем vars.bat.
Если при сохранении vars.bat в этом же каталоге система выдает ошибку:
то сохраните файл вначале на рабочем столе, а потом перенесите в этот каталог.
Выполняем генерацию сертификатов для OpenVPN под MikroTik.
Работаем в командной строке Windows (cmd), запустив ее от имени администратора.
1. Переходим в нужный каталог: cd «C:Program FilesOpenVPNeasy-rsa»
ИНСТРУКЦИЯ КАК УСТАНОВИТЬ VPN В РОУТЕР🔥 XIAOMI REDMI GAMING ROUTER AX5400 248 ДЕВАЙСОВ/РУССКИЙ/WiFi6
2. Набираем команду vars и жмем энтер.
3. Набираем команду clean-all и жмем энтер.
Если мы видим надпись, как на изображении — «Скопировано файлов — 1.», значит, все сделано правильно.
4. Набираем команду build-ca. Программа начинает генерацию публичного сертификата OpenVPN и запрашивает у нас значения параметров. Если на вопрос в командной строке мы просто жмем энтер, то программа подставляет значения по умолчанию, которые мы вписали в файл vars.bat. Останавливаемся, когда снова появляется строка C:Program FilesOpenVPNeasy-rsa.
5. Даем команду на генерацию сертификата сервера OpenVPN для MikroTik: build-key-server имя_сертификата. В нашем случае пишем
build-key-server server, на вопрос «Sign the certificate?» отвечаем y, точно также на вопрос «1 out of 1 certificate requests certified, commit?», на остальные просто жмем энтер.
6. Даем команду на генерацию сертификата клиента — build-key client. Имя сертификата (Common Name) должно быть уникальным и не совпадать с другими сертификатами. Поэтому на этот вопрос отвечаем — client. Здесь также в конце появятся два вопроса, как в предыдущем пункте, и мы тоже отвечаем на них — y.
Все, теперь в папке C:Program FilesOpenVPNeasy-rsakeys лежат все созданные ключи и сертификаты OpenVPN.
Установка сертификатов OpenVPN и настройка сервера на MikroTik
Из созданных нами сертификатов и ключей нас интересуют 3 файла:
- ca.crt,
- server.crt,
- server.key.
Импортируем сертификаты OpenVPN в ОС MikroTik.
Заходим с помощью WinBox на роутер Микротик, на котором мы будем поднимать OpenVPN сервер. Копируем 3 вышеуказанных файла из папки, где они лежат, и вставляем с помощью меню: Files — Paste.
Далее импортируем их. Для этого используем меню WinBox: System — Certificates — выбор сертификата — кнопка Import.
Импорт производим в следующем порядке: ca.crt => server.crt => server.key.
После этого в окне Certificate List добавятся две записи: публичного сертификата CA и сертификата OpenVPN сервера. В первом столбце записи сертификата сервера должны стоять две буквы — KR. Если вы видите там что-то другое, попробуйте еще раз импортировать файл ключа (*.key).
Создаем PPP-профиль на роутере MikroTik.
Если подключение по VPN-тоннелю будет разрешено с нескольких IP-адресов, нам нужно создать их пул. Идем в IP -> Pool, создаем его и присваиваем имя.
Если подключение по тоннелю будет производиться с одного IP-адреса, то пропускаем этот момент.
Создаем PPP-профиль. Для этого идем: PPP — Profiles. Добавляем его кнопкой +.
В поля вписываем:
- имя профиля,
- Local Address — адрес роутера Микротик, к которому будут подключаться клиенты. Он должен лежать в одой подсети с Remote Address
- Remote Address- здесь пишем либо один IP-адрес клиента, либо имя ранее созданного пула адресов.
Остальные настройки не трогаем.
Настраиваем сервер OpenVPN на роутере MikroTik.
Идем в меню PPP- Interface — OVPN Server.
- Активируем его, поставив галочку в пункте Enabled.
- В поле mode оставляем IP (IP-туннелирование по умолчанию) или выставляем ethernet (режим сетевого моста), это L3 и L2 соответственно. Чаще всего используется IP.
- Default Profile — выбираем профиль, который мы создали ранее.
- Certificate — сертификат сервера.
- require-client-certificate — если ставим галку, то сервер при подключении проверяет сертификат клиента. Если нет — то не проверяет, и настройка клиента при этом упрощается.
Создаем и настраиваем пользователя.
Идем: PPP — Secrets и добавляем пользователя. Тут все просто: имя, пароль, сервис и профиль.
Необходимо также в настройках клиента предусмотреть синхронизацию времени с сервером. Вначале убеждаемся, что у нас выставлена правильная тайм-зона (меню System — Clock). Далее идем в меню System — SNTP Client и прописываем адрес NTP сервера (на скриншоте указан локальный, но можно взять любой, к примеру 85.21.78.91).
Настраиваем разрешающее правило фаерволла.
Идем IP — Firewall — Filter Rules и разрешаем трафик на порт OpenVPN:
- В поле Chain ставим input.
- Protocol — 6(tcp).
- Dst. Port — 1194.
- In. Interface — прописываем название интерфейса, на который идет входящий трафик.
Активируем правило на вкладке Action:
Напомним, что разрешающее правило в списке правил должно быть выше запрещающих, иначе оно не будет работать.
Настройка клиента OpenVPN
Если мы не используем клиентские сертификаты (в настройках сервера не отмечали галочкой пункт require-client-certificate), то настроить клиент OpenVPN будет быстрее и проще. Нам не нужно будет копировать сертификаты для клиента, только создать в меню PPP — Interfaces новую запись OVPN Client и и на вкладке Dial Out прописать:
- адрес OpenVPN сервера (поле Connect To),
- логин и пароль пользователя (поля User и Password),
- порт соединения,
- тип аутентификации и шифрования (поля Auth и Cipher).
Если мы используем сертификаты, читаем дальше.
Настройка второго роутера Микротик как клиента OpenVPN.
Так же, как и при настройке сервера, копируем из папки C:Program FilesOpenVPNeasy-rsakeys и вставляем в раздел Files файлы сертификатов и ключей OpenVPN. Только теперь это будут:
- ca.crt,
- client.crt,
- client.key.
После этого поочередно импортируем их, используя меню System – Certificates — выбор сертификата — кнопка Import.
После успешного импорта в строке сертификата должны появиться буквы KT
Далее настраиваем соединение, практически так же, как и в случае без сертификатов. Создаем в меню PPP — Interfaces новую запись OVPN Client и и на вкладке Dial Out прописываем:
- адрес OpenVPN сервера (поле Connect To),
- логин и пароль пользователя (поля User и Password),
- порт соединения,
- наименование сертификата,
- тип аутентификации и шифрования (поля Auth и Cipher).
Все, осталось проверить, поднялось ли соединение.
Настройка клиента OpenVPN в Windows.
Копируем ранее созданные нами файлы ca.crt, client.crt, client.key из папки C:Program FilesOpenVPNeasy-rsakeys в каталог C:Program FilesOpenVPNconfig.
Создаем здесь же обычный текстовый файл, который сохраняем как auth.cfg (обратите внимание, меняем и расширение тоже).
Открываем файл auth.cfg для редактирования в блокноте и вписываем в него 2 строки: первую -логин пользователя, вторую — пароль, которые мы задали на сервере. Сохраняем файл.
Создаем еще один текстовый файл, который сохраняем как client.ovpn (включая смену расширения).
Файл client.ovpn редактируем следующим образом:
- proto tcp-client
- remote 123.123.123.123 # здесь внешний адрес нашего роутера MikroTik
- dev tap
- nobindpersist-key
- tls-client
- ca ca.crt #указываем имя CA сертификата
- cert client.crt #указываем имя сертификата клиента
- key client.key # указываем имя файла-ключа для клиента
- ping 10
- verb 3 # чем выше этот параметр — тем выше уровень логирования
- ns-cert-type server
- cipher AES-256-CBC
- auth SHA1
- pull
- auth-user-pass auth.cfg # здесь имя файла с логином-паролем пользователя
- route-method exe
- route-delay 2
- route 192.168.1.0 255.255.255.0 172.21.108.1 # эта строка задает маршрут, здесь 172.21.108.1 — адрес микротика из PPP-профиля, а 192.168.1.0 255.255.255.0 — сеть и маска сети.
Файл сохраняем. Запускаем OpenVPN GUI (исполняемый файл лежит в папке C:Program FilesOpenVPNbin)
Запускаем обязательно от имени администратора!
Источник: asp24.ru
Проблема с подключением по OpenVPN с прошивкой Padavan на роутере Xiaomi MI-3
Не получается настроить рабочий туннель OpenVPN в прошивке Padavan. Вроде бы все делал по этой инструкции vpnki.ru/settings/router/settings-asus-padavan-openvpn, но туннель не поднимается. В логе роутера пишет: May 30 14:39:48 openvpn-cli[770]: Could not determine IPv4/IPv6 protocol
May 30 14:42:28 openvpn-cli[770]: NOTE: the current —script-security setting may allow this configuration to call user-defined scripts. Я предполагаю, что возможно туннель не поднимается по причине того, что интернет приходит не в WAN порт, а в LAN роутера, т.к это не единственный маршрутизатор в моей сети. Возможно нужно прописать какой-то маршрут на роутере? Прошу помочь.
User8465
Вложения:
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Меньше Подробнее
- Сообщений: 3680
- Спасибо получено: 294
3 года 10 мес. назад #4141 от admin
admin ответил в теме Проблема с подключением по OpenVPN с прошивкой Padavan на роутере Xiaomi MI-3
Получается есть два сообщения:
1. Could not determine IPv4/IPv6 protocol
Судя по интернет это само по себе не ошибка, а сообщение о выборе между IPv4 и IPv6
forums.openvpn.net/viewtopic.php?t=26210
2. the current —script-security setting may allow this configuration to call user-defined scripts.
Это говорит о том, что какой-либо из пользовательских скриптов не может быть использован из-за настроек. Но вот нужен ли пользовательский скрипт — я не знаю.
Успешные соединения user8465 были вчера днем, но вероятно, это не с Padavan.
Чтобы что-то понять — сообщите мне свой внешний IP адрес и я включу дебаг пакетов. Посмотрим приходит ли что-то от вашего Padavan в принципе
если все заработало, то, пожалуйста, donate сюда — yoomoney.ru/to/410014618210530
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- denistrik
- Автор темы —>
- Не в сети
- Пользователь заблокирован
Источник: vpnki.ru
Установка OpenVPN клиента и сервера на роутер с прошивкой DD-WRT
Не секрет, что большинство домашних роутеров имеет множество скрытых возможностей. Производители, по разным причинам, не захотели реализовать или просто предоставить к ним доступ в штатной прошивке. Про альтернативную прошивку DD-WRT, я уже рассказывал, хоть и довольно давно, в посте о настройке D-link DIR-300 в режиме Wi-Fi повторителя. Данная прошивка, как раз и позволяет задействовать весь скрытый потенциал роутера, выжав всё, на что способно устройство, в том числе сделать его клиентом или сервером OpenVPN.
Откуда взялась прошивка DD-WRT и где её можно скачать?
В основе DD-WRT лежит Linksys WRT, прошивка, разработанная компанией Linksys для собственных маршрутизаторов серии WRT54G. Приставка «DD» в названии DD-WRT не что иное, как автомобильный код города Дрезден в Германии, где живет главный разработчик проекта DD-WRT.
Сейчас в продаже имеются маршрутизаторы, с уже установленной DD-WRT, например от той же Linksys или других производителей. Кроме того, на большинстве роутеров, можно самостоятельно заменить проприетарную прошивку на DD-WRT. Полный список поддерживаемых устройств можно найти на официальном сайте https://www.dd-wrt.com.
Преимущества настройки маршрутизатора в качестве клиента или сервера OpenVPN
Давайте разберемся в чём заключается преимущество использования клиента OpenVPN на маршрутизаторе перед обычным клиентским приложением (например tunnelblick на macOS), которое можно установить на компьютере или смартфоне.
Итак, при поднятии VPN канала на роутере, устанавливается только одно подключение к VPN-серверу, вместо нескольких для каждого устройства, что существенно снижает нагрузку на VPN сервер. VPN канал всегда включен и доступен для устройств за ним, также не стоит забывать, что далеко не на каждом устройстве имеется возможность установить OpenVPN клиент.
Настроив маршрутизатор в качестве OpenVPN сервера мы получаем безопасный доступ к своей домашней сети или офису извне. Получается весьма бюджетный вариант начального уровня, ведь ранее я писал только о настройке OpenVPN на FreeBSD, а такое решение требовало дополнительного оборудования.
Настройка DD-WRT маршрутизатора в качестве клиента OpenVPN
Заходим в панель управления маршрутизатора (обычно адрес 192.168.0.1 или 1.1), зависит от того какую подсеть вы настроили у себя. Переходим на вкладку Services -> VPN.
Для примера, сделаем настройку подключения к абстрактному OpenVPN серверу провайдера. Существенной разницы в настройке подключения к любому другому серверу быть не должно. Для начала активируем настройку клиента OpenVPN.
Большинство поставщиков VPN, использующих OpenVPN, предоставляют конфигурационный файл для подключения. Конечно, содержимое файлов конфигурации OpenVPN клиента может отличаться, например режимом шифрования, использованием сжатия данных, авторизацией и т.д., но принцип везде остаётся одинаковым.
Пример файла настроек OpenVPN, и соответствующих ему полей на маршрутизаторе DD-WRT можно увидеть на скриншоте:
В приведенном примере нужно дополнительно ввести имя пользователя и пароль в соответствующие поля. Остальные настройки должны быть скопированы и вставлены в поле Additional Config (Дополнительные настройки) маршрутизатора DD-WRT.
Cохраняем настройки, нажав кнопку Save. Теперь весь ваш трафик проходящий через VPN соединение будет зашифрован. Некоторые VPN сервисы дополнительно предоставляют собственные DNS, вы можете настроить маршрутизатор и на использование любых DNS-серверов, какие пожелаете Setup -> Basic Setup.
Чтобы запустить VPN, возвращаемся на вкладку Services -> VPN и нажимаем кнопку Apply Settings. На вкладке Status -> OpenVPN, должно появиться сообщение Client: CONNECTED SUCCESS. Обратите внимание, что вкладка состояния OpenVPN не появится до тех пор, пока не будет включена служба OpenVPN.
Настройка DD-WRT в качестве OpenVPN сервера
Первым делом нам понадобится создать сертификаты и ключи шифрования для использования сервером OpenVPN. Для этого установим OpenVPN на компьютер и создадим необходимые файлы. Я уже рассказывал о генерации ключей для OpenVPN сервера на FreeBSD (как это сделать в Windows, можно почитать на сайте OpenVPN или у меня в блоге). Пользователи Linux могут использовать приведенные ниже команды (взято из первоисточника, ссылка будет в конце поста).
Для Ubuntu и других пользователей на базе Debian следует установить пакеты openvpn и easy-rsa:
sudo apt-get intstall openvpn easy-rsa
Создадим рабочий каталог и назовём его openvpn:
mkdir openvpn cd openvpn
И выполним команды генерации сертификатов:
/usr/bin/make-cadir CA cd CA source ./vars ./clean-all ./build-ca ./build-key-server ./build-dh ./build-key cd keys openvpn —genkey —secret pfs.key
При создании сертификатов будет запрашиваться информация о местоположении, которая включается в сертификат (можно писать всякую лабуду). Если желаете настроить её заранее, измените нужные поля в файле CA/vars:
Также будет предложено придумать кодовую фразу (passphrase). Я не рекомендую её устанавливать, иначе вы не сможете запустить OpenVPN сервер без ввода пароля. Это касается и создания клиентских ключей, задав пароль вы будете вынуждены вводить его всякий раз при подключении к серверу. Так что при генерации ключей, на соответствующий запрос пароля просто нажимаем клавишу ввода, если вам это не нужно.
Если всё сделано правильно, то в каталоге CA/keys получили кучу файлов с ключами и сертификатами:
$ ls -1 CA/keys/ 01.pem 02.pem ca.crt ca.key client.crt client.csr client.key dh2048.pem index.txt index.txt.attr index.txt.attr.old index.txt.old serial serial.old server.crt server.csr server.key pfs.key
Нам понадобятся только некоторые из них. Открываем их в текстовом редакторе и помещаем содержимое файлов в соответствующие поля на странице DD-WRT OpenVPN Server / Daemon. Переходим в раздел Services -> VPN и активируем OpenVPN Server/Daemon.
- ca.crt соответствует полю CA Cert
- server.crt соответствует полю Public Server Cert
- server.key соответствует полю Private Server Key
- dh2048.pem соответствует полю DH PEM
- pfs.key соответствует полю TLS Auth Key
Нажав кнопку Apply settings (Применить настройки), наш VPN-сервер должен начать работу. Перейдя на страницу Status -> OpenVPN, можно проверить статус соединения. Обратите внимание, что на этот раз в сообщении говорится о сервере: CONNECTED SUCCESS.
Остаётся настроить конфигурационный файл для клиента, в данном случае выглядит примерно так:
client dev tun proto udp remote YOUR_IP_ADDRESS 1194 cipher AES-256-CBC tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA auth sha256 comp-lzo link-mtu 1570 ——BEGIN PRIVATE KEY—— Copy the contents of your client.key file and paste it here. ——END PRIVATE KEY—— ——BEGIN CERTIFICATE—— Copy the contents of your client.crt file and paste it here. ——END CERTIFICATE—— ——BEGIN CERTIFICATE—— Copy the contents of your ca.crt file and paste it here. ——END CERTIFICATE—— key-direction 1 Copy the contents of your pfs.ca file and paste it here
Проверяем подключение клиента к нашему openvpn серверу для командной строки Linux:
$ sudo openvpn —config client-config.ovpn Sat Sep 23 16:05:05 2017 OpenVPN 2.3.10 x86_64-pc-linux-gnu [SSL OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jun 22 2017 Sat Sep 23 16:05:05 2017 library versions: OpenSSL 1.0.2g 1 Mar 2016, LZO 2.08 Sat Sep 23 16:05:05 2017 Control Channel Authentication: tls-auth using INLINE static key file Sat Sep 23 16:05:05 2017 UDPv4 link local (bound): [undef] Sat Sep 23 16:05:05 2017 UDPv4 link remote: [AF_INET]192.168.0.1:1194 Sat Sep 23 16:05:09 2017 [server] Peer Connection Initiated with [AF_INET]192.168.0.1:1194 Sat Sep 23 16:05:12 2017 TUN/TAP device tun0 opened Sat Sep 23 16:05:12 2017 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0 Sat Sep 23 16:05:12 2017 /sbin/ip link set dev tun0 up mtu 1497 Sat Sep 23 16:05:12 2017 /sbin/ip addr add dev tun0 10.10.10.2/24 broadcast 10.10.10.255 Sat Sep 23 16:05:12 2017 Initialization Sequence Completed
Напоследок осталось заметить, что если провайдер не предоставляет вам статический ip-адрес, то выйти из ситуации поможет настройка динамического DNS. Настройки DDNS можно найти на соответсвующей вкладке маршрутизатора Setup -> DDNS.
Подписывайтесь на канал
Яндекс.Дзен и узнавайте первыми о новых материалах, опубликованных на сайте.
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.
Источник: mdex-nn.ru