» » Объединяем локальные сети по VPN (настройка клиента ver.2)

Информация к новости
  • Просмотров: 20085
  • Автор: sluggard
  • Дата: 16-10-2012, 23:30
16-10-2012, 23:30

Объединяем локальные сети по VPN (настройка клиента ver.2)

Категория: Оборудование умного дома

Ранее я рассказывал как объединил свою домашнюю сеть и сеть на даче с помощью роутеров d-link по VPN, сейчас я заменил свой dir-620 на полноценный zyxel keenetic в связи с новыми возможностями данного оборудования.

В новой прошивке, которая помогла мне отказаться от флешки и установить OpenVPN в память кинетика я благодарен Zyxmon и его форуму по маршрутизаторам Zyxel keenetic.

В общем напишу как я все настроил, может интересно будет кому, да и я не забуду что и как было :)
Приступим!

1. Берем наш кинетик и обновляем его до последней версии официальной прошивкой (на момент написания статьи - это V1.00(BFW.4.4)D0 30-мая-2012 01:01 )

2. Далее по инструкции с форума многоуважаемого Zyxmon допиливаем роутер. (Описывать установку я не буду, полное описание есть на форуме).

3. Установим OpenVPN и настроим его как я уже описывал ранее в статье "Голь на выдумки хитра или как получить доступ к серверу с USB модемом от МТС" при настройке vpn клиента на DIR-620.

4. Краткая инструкция по установке приложений во внутреннюю память кинетика (оригинал тут):
$ cd /media/DISK_A1/system/tmp/
$ wget http://keenetic.zyxmon.org/files/storage/storage.tar.gz
--2012-02-04 10:31:04--  http://keenetic.zyxmon.org/files/storage/storage.tar.gz
Resolving keenetic.zyxmon.org... 217.174.105.180
Connecting to keenetic.zyxmon.org|217.174.105.180|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 194274 (190K) [application/octet-stream]
Saving to: `storage.tar.gz'
....
/media/DISK_A1/system/tmp$ tar -xzf storage.tar.gz -C /
/media/DISK_A1/system/tmp$ dropbearkey -t rsa -f /storage/system/etc/dropbear/dropbear_rsa_host_key
Will output 1024 bit rsa secret key to '/storage/system/etc/dropbear/dropbear_rsa_host_key'
Generating key, this may take a while...
Public key portion is:
ssh-rsa
.....
media/DISK_A1/system/tmp$ dropbearkey -t dss -f /storage/system/etc/dropbear/dropbear_dss_host_key
Will output 1024 bit dss secret key to '/storage/system/etc/dropbear/dropbear_dss_host_key'
Generating key, this may take a while...
....
rm storage.tar.gz
flash set EXTINIT_FROM_STORAGE_ENABLED 1

Извлекаем usb накопитель, перегружаемся. Заходим по ssh (нестандартный порт 1022, пароль zyxel), меняем пароль. Если хотим, чтобы dropbear слушал на стандартном порту 22, редактируем /storage/system/etc/init.d/S10dropbear

Комментарии по установке на русском.
1. Переходим в папку /media/DISK_A1/system/tmp/
2. Скачиваем архив.
3. Распаковываем.
4. Генерим rsa и dss ключи для dropbear.
5. Удаляем архив.
6. Включаем загрузку скриптов из storage.

5. Теперь нам необходимо перенести уже установленный openvpn с флеш накопителя во внутреннюю память keenetic.
tun.ko я скопировал в /storage/system/lib/tun.ko
static.key я поместил в /storage/system/var/static.key
openvpn.conf я поместил в /storage/system/etc/openvpn/openvpn.conf
теперь необходимо отредактировать скрипт запуска openvpn
vi /storage/system/etc/init.d/S11openvpn

редактируем пути к нашим файлам которые мы переместили в /storage/system/...
Объединяем локальные сети по VPN (настройка клиента ver.2)

Объединяем локальные сети по VPN (настройка клиента ver.2)

незабываем добавить в конце разделов start (как на скрине выше):
iptables –A INPUT -p udp --dport 2001 -j ACCEPT
route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.0.1.1

и stop:
iptables –D INPUT -p udp --dport 2001 -j ACCEPT 

Так же создадим группу правил для брандмауэра:
vi /storage/system/etc/firewall.d/fw.sh

с содержанием:
#!/bin/sh
iptables -I FORWARD 1 --source 10.0.1.0/24 -j ACCEPT
iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT
iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
iptables -t filter -A INPUT -i lo -j ACCEPT

После сохранения делаем файл запускаемым и тут же выполняем его:
chmod +x /storage/system/etc/firewall.d/fw.sh
/storage/system/etc/firewall.d/fw.sh


Содержание openvpn.conf у меня такое:
remote xxx.yyy.zzz.nnn 
proto udp
port 2001
dev tun0
secret /storage/system/var/static.key
verb 3
comp-lzo
keepalive 15 60
persist-key
persist-tun
tun-mtu 1380
mssfix 1300

ifconfig 10.0.1.2 10.0.1.1


Собственно теперь запускаем демон openvpn:
/storage/system/etc/init.d # /storage/system/etc/init.d/S11openvpn restart

Killing OpenVPN processes....success

Unloading OpenVPN kernel modules...

Loading OpenVPN kernel modules:

Starting OpenVPN in daemon mode....success
/storage/system/etc/init.d #


Проверяем журнал роутера:
OpenVPN 2.2.2 mipsel-openwrt-linux [SSL] [LZO2] [EPOLL] built on Apr 18 2012

Все готово!

В итоге при такой настройке роутера мы можем отказаться от usb флеш накопителя, тем самым избежать некоторое кол-во сбоев при его работе, так как иногда он глючил и в системе появлялся дополнительный диск B1 и роутер переставал отвечать по ssh, что лечилось только перезагрузкой роутера.

storage.tar.gz [194,54 Kb] (cкачиваний: 85)
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
<
Дмитрий

22 января 2016 11:56

Информация к комментарию
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • 0 публикаций
  • 0 комментариев
Спасибо. Осталась непонятна фраза "5. Теперь нам необходимо перенести уже установленный openvpn с флеш накопителя во внутреннюю память keenetic." Можно поподробней как и какие файлы, а то написано только про 3 файла. Начинающим линуксоидам непонятно:)
<
sluggard

27 января 2016 16:56

Информация к комментарию
  • Группа: Администраторы
  • ICQ:
  • Регистрация: 10.10.2011
  • Статус: Пользователь offline
  • 36 публикаций
  • 32 комментария
Цитата: Дмитрий
Спасибо. Осталась непонятна фраза "5. Теперь нам необходимо перенести уже установленный openvpn с флеш накопителя во внутреннюю память keenetic." Можно поподробней как и какие файлы, а то написано только про 3 файла. Начинающим линуксоидам непонятно:)

Так в статье написано какие файлы куда скопировать.
tun.ko я скопировал в /storage/system/lib/tun.ko
static.key я поместил в /storage/system/var/static.key
openvpn.conf я поместил в /storage/system/etc/openvpn/openvpn.conf
теперь необходимо отредактировать скрипт запуска openvpn

смотрите где располагаются данные файлы в S11openvpn
<
Дмитрий

3 февраля 2016 08:23

Информация к комментарию
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • 0 публикаций
  • 0 комментариев
После долгих мучений и проб выяснил что необходимо скопировать еще 3 библиотеки, возможно в новых версиях стало немного подругому чем в самой статье. Помог перенос еще 3 файлов из диска на флэш.

cp /media/DISK_A1/system/usr/lib/liblzo2.so.2 /storage/system/usr/lib/liblzo2.so.2
cp /media/DISK_B1/system/usr/lib/libssl.so.1.0.0 /storage/system/usr/lib/libssl.so.1.0.0
cp /media/DISK_B1/system/usr/lib/libcrypto.so.1.0.0 /storage/system/usr/lib/libcrypto.so.1.0.0

После переноса и ребута появилась долгожданная надпись "Starting OpenVPN in daemon mode....success". Спасибо за статью!!!

З.Ы. Проверял запуск просто из строки командой /storage/system/usr/sbin/openvpn --cd /storage/system/etc/openvpn --daemon --script-security 2 --config openvpn.conf
<
sluggard

4 февраля 2016 19:53

Информация к комментарию
  • Группа: Администраторы
  • ICQ:
  • Регистрация: 10.10.2011
  • Статус: Пользователь offline
  • 36 публикаций
  • 32 комментария
Цитата: Дмитрий
После долгих мучений и проб выяснил что необходимо скопировать еще 3 библиотеки, возможно в новых версиях стало немного подругому чем в самой статье. Помог перенос еще 3 файлов из диска на флэш.

cp /media/DISK_A1/system/usr/lib/liblzo2.so.2 /storage/system/usr/lib/liblzo2.so.2
cp /media/DISK_B1/system/usr/lib/libssl.so.1.0.0 /storage/system/usr/lib/libssl.so.1.0.0
cp /media/DISK_B1/system/usr/lib/libcrypto.so.1.0.0 /storage/system/usr/lib/libcrypto.so.1.0.0

После переноса и ребута появилась долгожданная надпись "Starting OpenVPN in daemon mode....success". Спасибо за статью!!!

З.Ы. Проверял запуск просто из строки командой /storage/system/usr/sbin/openvpn --cd /storage/system/etc/openvpn --daemon --script-security 2 --config openvpn.conf

Спасибо! Ваше дополнение будет полезно для всех остальных!

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите код: *