- Настройка VPN для роутера Asus
- Теперь перейдём к настройке:
- Выставьте параметры:
- Объединение двух подсетей с прямым доступом между устройствами при помощи OpenVPN. Часть 2. OpenVPN Server на Asus RT-N10U.
- Этап 1. Включение JFFS.
- Этап 2. Генерация ключей.
- Этап 3. Настройка сервера.
- Настройка openvpn-сервера на роутере ASUS
Настройка VPN для роутера Asus
Эта инструкция поможет вам настроить VPN-соединение на роутере Asus с базовой оригинальной прошивкой, используя протоколы OpenVPN и PPTP.
Большинство роутеров Asus подготовлены к работе с VPN уже «из коробки», ничего дополнительного с прошивкой делать не придется.
Протестированные модели роутеров: Asus RT-N16, Asus RT-N18U, Asus RT-N66U, Asus RT-AC66U, Asus RT-AC68U, Asus RT-AC87U, Asus RT-AC3200.
Если вы только подбираете себе роутер и хотите легко его настроить на работу с VPN в дальнейшем, обратите внимание на спецификацию. В ней, среди прочих функций, должна упоминаться поддержка «VPN». Пример такого роутера.
Теперь перейдём к настройке:
На подготовительном этапе необходимо провести базовую настройку роутера. Это необходимо сделать один раз. В дальнейшем заходить в эти разделы и что-либо менять не потребуется.
Любая настройка роутера начинается со входа в его панель управления. Для входа в роутер Asus перейдите по адресу http://192.168.1.1/ и авторизуйтесь.
Информация о логине и пароле находится на корпусе роутера с обратной стороны. Обычно это admin/admin, и мы советуем в дальнейшем поменять пароль на более сложный.
Первый шаг: перейдите в раздел Интернет , он расположен в навигации слева. Либо кликните по ссылке: http://192.168.1.1/Advanced_WAN_Content.asp
Выставьте параметры:
- Тип WAN-подключения: Автоматический IP
- WAN, NAT и UPnP: Да.
- Подключаться к DNS-серверу автоматически: Нет.
- DNS-сервер 1: 1.1.1.1
- DNS-сервер 2: 8.8.8.8
- DHCP query frequency: Aggressive Mode
Нажмите Применить , чтобы сохранить настройки.
- Тип подключения: Отключить.
- Включить объявления маршрутизатора: Отключить
На этом подготовительный этап настройки завершен. Теперь выберите вариант подключения к VPN: PPTP/L2TP попроще, OpenVPN чуть сложнее.
Зайдите в раздел VPN , затем сверху вкладка VPN Client . Либо перейдите по ссылке: http://192.168.1.1/Advanced_VPNClient_Content.asp
Теперь добавим профиль. Нажмите внизу кнопку Add profile , появится окошко с полями для ввода: Описание, Server, Имя и Пароль.
Для продолжения настройки вам потребуется код доступа к нашему сервису. Его вы могли получить после оплаты, либо запроса тестового периода.
- Описание: может быть любым. Впишите туда город расположения сервера.
- Server: ip-адрес сервера, выглядит как цифры разделённые точками.
- Имя пользователя: ваш код доступа, состоит из 12-16 цифр.
- Пароль: по умолчанию это 4 цифры, но вы можете придумать более сложный.
После заполнения всех полей, нажмите OK . Появится новая строчка, а справа кнопка Connect . Жмите её и соединение должно пройти успешно, слева отобразится галочка.
При успешном подключении проверьте, изменился ли ваш IP-адрес.
Отметим сразу, что настройка OpenVPN немного сложнее, чем PPTP / L2TP, но разница буквально в несколько минут вашего времени.
Зайдите в раздел VPN , затем сверху вкладка VPN Client . Либо перейдите по ссылке: http://192.168.1.1/Advanced_VPNClient_Content.asp
Теперь добавим профиль. Нажмите внизу кнопку Add profile , появится окошко, вкладка OpenVPN .
Для продолжения настройки вам потребуется код доступа к нашему сервису. Его вы могли получить после оплаты, либо запроса тестового периода.
- Описание: может быть любым. Впишите туда город расположения сервера.
- Имя пользователя (option): оставить пустым.
- Пароль (option): оставить пустым.
- Import ovpn file: в скачанном вами архиве находятся файлы .ovpn, добавьте один из них и нажмите «Отправить».
После загрузки файла конфигурации, нажмите OK .
В таблице появится новая строчка, а справа кнопка Connect — нажмите её. Соединение должно пройти успешно, а слева отобразится галочка. При успешном подключении проверьте, изменился ли ваш IP-адрес.
Источник
Объединение двух подсетей с прямым доступом между устройствами при помощи OpenVPN. Часть 2. OpenVPN Server на Asus RT-N10U.
В своём примере я использую статическую привзяку mac-ip, поэтому если хотите повторить всё с точностью как в примере не забудьте заполнить эти связки для компьютера и планшета в меню Static DHCP в вашем Tomato.
![]()
Этап 1. Включение JFFS.
Во первых необходимо включить в Tomato поддержку jffs. Раздел jffs будет нужен для хранения файла, в котором будут прописаны статические IP устройств внутри подсети OpenVPN. В нем также будут храниться файлы кастомных конфигураций клиентов(client-config-dir), о которых я расскажу ниже.
Для включения jffs необходимо перейти в меню Administration -> JFFS отметить галочкой Enable и сохранить изменения.
Этап 2. Генерация ключей.
Для защиты соединения и проверки прав доступа OpenVPN сервер требует генерации ряда ключей. Для удобной их генерации я собрал архив из связки easy-rsa и openssl.
Для создания ключей используется ряд параметров, такие как название организации, сведения о местоположении, длина ключа и прочие. Для примера они уже заполнены в файле vars.bat. Загрузим их:
Сгенерируем ключ центра сертификации. Т.к. все необходимые переменные уже были заполнены в vars, остается только жать enter на все вопросы.
Сгенерируем ключ Диффи — Хеллмана:
Сгенерируем серверные ключи указав в качестве имени ServerKey. Опять жмем enter(challenge password можно оставить пустым). В конце 2 раза жмем «y» и enter чтобы подписать сертификат и занести его в базу данных.
На тему типов ключей доступа уже написано много в интернете. Расписаны их недостатки и приемущества. Для себя я выбрал ключи pkcs12.
В процессе генерации уже не нужно будет жать только enter как раньше — нужно будет заполнить имена Common Name и Name значениями отличными от ServerKey, иначе произойдет ошибка записи данных о ключе с теми же именами. Для себя я выбрал имена PCKey, TabletKey, SmartKey и NetgearKey. Также необходимо будет заполнить пароли к ключам. Обязательно сделайте это и сделайте их разными.
Этап 3. Настройка сервера.
Редактируем основные настройки в меню VPN Tunneling -> OpenVPN Server -> Basic:
Отметить галочку Start with WAN нужно для того, чтобы сервер стартовал автоматически когда включается роутер поднимается сеть.
Тип интерфейса лучше оставить TUN. В отличие от TAP, не придется рутовать смартфон на Android чтобы подключиться к сети.
Протокол рекомендуется ставить UDP, потому что сеть так быстрее будет работать. Но есть одно но. Если вы захотите поднять OpenVPN Client на персональном компьютере находясь за HTTP-прокси, сделать этого у вас не получится — UDP можно прокинуть только через SOCKS. TCP же можно прокинуть через HTTP, поэтому я выбрал его.
В качестве подсети указываем желаемую.
Остальные настройки оставляем по умолчанию.
Теперь можно настроить серверные ключи на вкладке Keys.
Содержимое файла ca.crt нужно перенести в Certificate Authority, ключ из конца файла Serverkey.crt в Server Certificate, Serverkey.key в Server Key, dh1024.pem в Diffie Hellman parameters.
После этого можно впервые нажать на кнопку Start Now. Если всё было настроено правильно, надпись на кнопке станет Stop Now, то будет означать что сервер запущен успешно. Если сервер запущен неуспешно ошибки можно посмотреть в файле /var/log/messages непосредственно на роутере.
В качестве подготовки к последней настройке сервера необходимо зайти на роутер по ssh и создать на jffs два файла: /jffs/openvpn/ipp.txt и /jffs/openvpn/ccd/NetgearKey. Оба простые текстовые файлы. Второй без расширения, т.к. должен совпадать с именем Common Name зарегистрированного ключа(в данном случае NetgearKey).
Содержимое файлов:
ipp.txt
О назначении файлов я напишу ниже.
Последний шаг — настройка дополнительных параметров во вкладке Advanced.
На этой вкладке я предпочел не включать галки Push LAN to clients и Direct clients to redirect Internet traffic, а объявил команды вручную в блоке Custom Configuration.
В качестве шифрования выбрал AES-128-CBC.
Сжатие трафика отключено, т.к. забегая вперед, вызывало проблемы на роутере Netgear.
В блок Custom Configuration добавлены следующие команды:
client-to-client — Открывает доступ между клиентами внутри vpn.
topology subnet — Рекомендуемая сейчас топология это subnet, но т.к. она не является в текущий момент по-умолчанию включаю её принудительно. Подробнее здесь.
auth sha1 — Метод хеширования кода авторизации при иницииации соединения с клиентом.
keepalive 10 60 — Сервер пингует клиента, если за последние 10 секунд от него не приходило никаких пакетов, и пытается пересоздать соединение, если пакетов не было 60 секунд.
ifconfig-pool-persist /jffs/openvpn/ipp.txt — Указывает на файл, в котором содержатся имена Common Name ключей и соответствующие им статические IP.
client-config-dir /jffs/openvpn/ccd — Указывает на директорию, в которой хранятся файлы совпадающие с именами Common Name ключей. Внутри файлов содержатся команды исполнять которые нужно только при подключении определенного клиента. В моём случае есть только один такой клиент — роутер Netgear. При его подключении выполняется команда iroute, которая создает внутренний маршрут указывающий на Netgear(192.168.105.0/24).
route 192.168.105.0 255.255.255.0 — Добавляет маршрут указывающий на подсеть из Netgear в Asus при старте OpenVPN Server.
mssfix 1400 — Помог мне вылечить нестабильную передачу данных. 1400 это значение в байтах, которое ограничивает максимальный размер пакета передаваемого внутри vpn-сети. В офф. доке написано, что параметр имеет смысл только при использовании UDP, но мне помог и с TCP.
Все опции push отправляют команду в ковычках клиенту и выполняются уже на клиентской машине.
push «dhcp-option DNS 8.8.8.8» — Назначаем клиентам гугловский DNS в качестве основного.
push «dhcp-option DNS 192.168.110.1» — В качестве вторичного DNS назначаем сам OpenVPN Server.
push «ping 10» — То же самое что и 10 секунд в команде keepalive. Просто передать keepalive на сторону клиента нельзя. Поэтому передаются ping и ping-restart.
push «ping-restart 60» — То же самое что и 60 секунд в команде keepalive.
push «redirect gateway def1» — Позволяет клиентам редиректить весь трафик на сервер и уже с сервера в интернет. С момента подключения внешний IP клиента совпадает с внешним IP роутера.
push «route 192.168.100.0 255.255.255.0» — Добавляет клиентам маршрут указывающий на подсеть Asus 192.168.100.0/24.
push «route 192.168.105.0 255.255.255.0 vpn_gateway 999» — Добавляет клиентам маршрут указывающий на подсеть Netgear 192.168.105.0/24. Большая метрика выставлена скорее всего из-за проблем с Netgear, когда маршрут указывающий на подсеть 192.168.105.0/24 со шлюзом 192.168.110.1(OpenVPN Server) имел меньшую метрику, чем тот же маршрут со шлюзом 192.168.105.1(Netgear). Точную причину не помню)
После занесения конфигурации можно нажать на кнопку Save, после чего OpenVPN сервер автоматически перезагрузится.
Поздравляю! OpenVPN сервер настроен. Теперь нужно протестить подключение к нему.
Источник
Настройка openvpn-сервера на роутере ASUS
VPN — VPN сервер (общие)
Enable VPN Server — On
Server mode — openvpn
В таблице внизу страницы создать пользователя и пароль.
Экспортировать профиль. Это делается в том же разделе, ниже пункта Server mode есть кнопка Export.
openvpn-клиент — сайт openvpn.net. Раздел Download — Community downloads — installer для Windows (на момент написания заметки версия 2.4.4, которая не работает с Windows XP)
Запустить OpenVPN GUI, в трее щелкнуть правой кнопкой по ярлыку, выбрать «импорт конфигурации», найти профиль (файл с раширением .ovpn).
После импорта в контекстном меню иконки в трее выбрать «Подключить».
Ввести логин и пароль пользователя, созданного на маршрутизаторе.
Если при подключении openvpn-клиента в логе появляется сообщение об ошибке «TLS_ERROR: BIO read tls_read_plaintext error: error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:d h key too small», то необходимо сделать на маршрутизаторе новый профиль, но с использованием DH-key длиной 2048 бит.
Для этого можно использовать утилиту openssl for windows (на сайте раздел Download — Binaries Zip)
http://gnuwin32.sourceforge.net/packages/openssl.htm
Извечь файлы из архива и сгенерировать ключ (это может занять продолжительное время)
cd C:\Path_to_openssl_folder\openssl-0.9.8h-1-bin\bin\
openssl dhparam -out dh.pem 2048
Делается это в меню VPN — VPN сервер (расширенные настройки)
Напротив пункта Authorization mode, перейти по ссылке «Content modification of Keys & Certification».
Скопировать содержимое файла «dh.pem 2048» и заменить текущее значение в разделе «Diffie Hellman parameters»
Нажать «Применить» и сохранить настройки
Еще раз экспортировать профиль и импортировать его в vpn-клиенте.
Остальные настройки должны выглядеть примерно так:
Другие ошибки/предупреждения при подключении openvpn-клиента:
«WARNING: —ns-cert-type is DEPRECATED. Use —remote-cert-tls instead»
Внутри профиля можно сделать указанные изменения обычным текстовым редактором.
Дополнение:
В последних версиях прошивки от Merlin для роутеров ASUS, пул адресов для vpn-клиентов, описываемый в настройке «VPN Subnet/Netmask», не может совпадать с пулом адресов, выдаваемых в домашней сети. Т.е., если для внутренней домашней сети используется 192.168.1.0/24, то для vpn-клиентов нужно выдавать другой диапазон, например, 192.168.2.0/27. При этом на vpn-клиенте автоматически будет прописан маршрут на домашнюю сеть и доступ получить можно будет (если установлена настройка «Предоставить локальную сеть клиентам»)
Источник