aviaangel: (Default)
[personal profile] aviaangel
После долгих мучений с этим чудом техники удалось настроить на нем OpenVPN сервер с одновременной поддержкой site to site туннеля и режима клиент iPhone-iPad.
Site to site мне необходим для связи с системой видеонаблюдение на даче, а настроить клиент на iPhone для OpenVPN хотел давно для удобства авторизации по сертификатам без паролей и режима автоподключения.

Конфетку пришлось делать из того, что было, поэтому есть некие ограничения - у меня не получилось нормальное использование TLS ключей (коннект был, но не шел трафик через iPhone и роутер на даче). Все необходимые сертификаты и ключи будем зашивать в файл конфигурации - этого требует теперь уже OpenVPN клиент на iOS.
Что нам понадобится:

  1. Продать DSR-1000N купить DFL-860 Статический IP на одном из WAN интерфейсов DSR.

  2. Прошивка 1.08B51_WW (на других  работу по этой инструкции не обещаю) . WorldWide прошивки ставятся через консоль: http://kadmin.ru/dlinkdsr/

  3. Установить на iOS устройства клиент http:// https://itunes.apple.com/ru/app/openvpn-connect/id590379981?mt=8

  4. Сгенерированные ключи и сертификаты по этой инструкции - http://dlink.ua/dsr_openvpn_settings . Только TLS ключ можно не делать - все равно с ним не работает. В роутер их можно уже заранее ввести.

Приступаем:
Планировка сетей у меня такая (вы расчитывайте свою)
Локальная сеть на даче за черным IP 3G роутера IRZ RUH 3  - 192.168.0.0
Локальная сеть дома за белым IP роутера          DSR-1000N  - 192.168.1.0
Локальная сеть которую строит iMac подключенный к роутеру - 192.168.2.0
Чтобы сшить эти сетки в одну я выбрал VPN  сеть                   - 192.168.3.0

Переходим к настройкам:

Меню Setup - VPN Settings - OpenVPN - OpenVPN Configuration

Снимок экрана 2013-07-10 в 19.06.51




Меню Setup - VPN Settings - OpenVPN - Local Networks (Split Tunnelig)
Здесь мы объединяем сети за DSR-ом

Снимок экрана 2013-07-10 в 19.00.40



Меню Setup - VPN Settings - OpenVPN - Remote Networks
Здесь мы присоединяем удаленную локальную сеть на даче. Обратите внимание - здесь важно правильно указать Common Name который вы указывали в корневом и серверном-клиентских сертификатах (я их указываю обычно одинаковыми прописывая статический IP адрес - поэтому в инструкции замазываю его прямоугольниками) иначе соединения не получится.

Снимок экрана 2013-07-10 в 19.01.00



Далее я вам предлагаю - поменять порт 1194 по умолчанию на 443. Все конечно знают зачем это, но инженеры Dlink считают себя умнее нас и в web интерфейсе это делать запретили.

Снимок экрана 2013-07-10 в 18.42.43
Но можно это сделать через сохранение файла конфигурации и его изменения с последующей обратной загрузкой. Для этого нам придется обойти защиту файла конфигурации по MD5-хэшу.
Если хорошенько порыться в GPL исходниках прошивки роутера, то можно обнаружить файл config.lua который и отвечает за генерацию строчки systemConfig[1]["checksum"] = ... в файле конфигурации такой вот функцией:
function config.getChecksum (fileName)
local pfile = io.popen ("cat " .. fileName .. " | grep -v 'checksum' | md5sum  | cut -d' ' -f1")
...
Как видно используется стандартная командная строка linux. Производится построчный расчет md5 суммы исключая саму строку содержащую эту сумму.
Изменяем файл DSR.cfg строку OpenVpn[1]["Port"] = "1194" на OpenVpn[1]["Port"] = "443"
Далее можно поступить 2 способами - или посчитать эту сумму в специальной программе коих немало. При этом предварительно надо будет удалить полностью строку systemConfig[1]["checksum"] = "...". Либо в OSX можно использовать вышеприведенную команду с некоторыми изменениями:
ao:Downloads oval$ cat DSR.cfg | grep -v 'checksum' | md5  | cut -d' ' -f1
ddfa28879ce0e70b17b4fbd95010caf8
ao:Downloads oval$

Результат расчета необходимо вставить обратно в файл конфигурации в строку systemConfig[1]["checksum"] = "..."
Обратите внимание, что шестнадцетиричные символы должны быть обязательно в нижнем регистре.
Измененную конфигурацию без проблем загружаем обратно в роутер в меню Tools - System - Restore Saved Settings
Этот механизм можно использовать и для других подобных целей где в web интерфейсе стоит излишняя блокировка.


Продолжение следует...

Profile

aviaangel: (Default)
aviaangel

March 2016

S M T W T F S
  12345
67 89101112
13141516171819
20212223242526
2728293031  

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 24th, 2017 01:48 pm
Powered by Dreamwidth Studios