Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.07.2015, 14:30   #1
Parashutik
Member
 
Регистрация: 22.06.2015
Сообщений: 35
Вес репутации: 121
Parashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to behold
Отправить сообщение для Parashutik с помощью ICQ
По умолчанию DIR-620 и OpenWRT,3G,VPN, WEB камера и т.д.

Есть у меня D-Link Dir-620 ревизия D1. Верой и правдой служил много лет, но недавно поменял его на Keenetic Giga II. (Стыдно перед старым другом, но функционал не много не тот). Тут я и нашел рессурс : "Прошивка DIR-620 OpenWRT" , и понял , что не все так уж и плохо для него. Он может еще послужить мне. Есть у меня дача, расположена от города в 30 км. Кроме поливной воды и канала, в котором можно купаться, нет ни чего (света, нормальной дороги, газа, ну и самого главного инета). С электричеством проблему решил, благо солнышко еще не кто не отменял, а соответственно информационный вакуум был решен с помощью телевизора. Но как хочется общаться с друзьями, близкими и т.д. Вот тут и всплыл Dir-620, USB модем Huawey E-173u, оператор Beelin (это не реклама, но у нас только он здесь работает нормально, все остальные проиграли после долгих проверок).

Ну поехали!

Буду описывать последовательность действий, как делаю сам и что получилось. Ссылки на статьи буду вкладывать в текст.

Переворачиваем роутер и смотрим ревизию прошивки. У меня она: D1.
Если у Вас тоже, то качаем прошивку : Ревизия D1
Если у Вас ревизия А1, тоже не беда качаем: Ревизия A1


Сразу скажу, что решение прошивать принимаете Вы сами!
Так , что меня не пинать.
Скажу, что это: " Не я!"


Начинаем:
Подключаем роутер через один из четырех портов LAN к компьютеру.
Выключаем роутер, зажимаем на передней панели кнопку , включаем роутер не отпуская кнопку, считаем до 30, отпускаем кнопку. Настраиваем сетевую карту в компьютере так:
Нажмите на изображение для увеличения
Название: сеть1.png
Просмотров: 428
Размер:	18.6 Кб
ID:	2889

Набираем в браузере: 192.168.0.1. Видим:
Название: 1.png
Просмотров: 10101

Размер: 20.0 Кб

Выбираем файл прошивки, для Вашей ревизии:
Название: 2.png
Просмотров: 10076

Размер: 19.1 Кб

Нажимаем отправить и ждем пока прошьется, это порядка 5 минут. Он перезагрузится. Светодиод питания должен перестать моргать, а сетевой линк должен мигать в стандартном режиме.
Нажмите на изображение для увеличения
Название: 3.png
Просмотров: 307
Размер:	22.3 Кб
ID:	2892

Настройки сетевой меняем на авто получения адреса, или вот так:
Нажмите на изображение для увеличения
Название: сеть2.png
Просмотров: 303
Размер:	18.5 Кб
ID:	2908
Набираем в браузере: 192.168.1.1
Нажмите на изображение для увеличения
Название: 4.jpg
Просмотров: 326
Размер:	47.6 Кб
ID:	2893
Прекрасно.
Логинимся, просто нажимаем: "Login" и попадем на страницу ввода своего пароля:
Нажмите на изображение для увеличения
Название: 5.png
Просмотров: 295
Размер:	7.6 Кб
ID:	2894
Вводим свой пароль и не Забываем внизу нажать кнопочку:"Сохранить и применить"(там по аглицки).
Пытаемся куда нибудь зайти, нам предлагается авторизоваться. Вводим свой, только, что введенный пароль и мы вошли в Luci.
Название: 6.png
Просмотров: 10025

Размер: 7.4 Кб
Название: 7.png
Просмотров: 10015

Размер: 6.0 Кб

Подключаем роутер через порт Wan к интернету.
Переходим в : System/Software:
Нажмите на изображение для увеличения
Название: 8.png
Просмотров: 315
Размер:	20.8 Кб
ID:	2897

Жмем кнопку: "Обновить пакеты"
Нажмите на изображение для увеличения
Название: 9.png
Просмотров: 401
Размер:	28.6 Кб
ID:	2898

Пакеты обновились, прекрасно.
Набираем в строке "Filter" : luci. На закладке : Available packages (luci) находим файл:
luci-i18n-russian и устанавливаем его.

Нажмите на изображение для увеличения
Название: 12.png
Просмотров: 342
Размер:	4.7 Кб
ID:	2899
Нажмите на изображение для увеличения
Название: 13.png
Просмотров: 340
Размер:	5.7 Кб
ID:	2900

И о чудо! Великий и могучий.

Нажмите на изображение для увеличения
Название: 14.png
Просмотров: 292
Размер:	6.2 Кб
ID:	2901

Теперь надо подключить внешний FLASH накопитель как системный диск. Памяти то, мало.
Статьи:
Умный Дом

Сообщество EasyElectronics


Подключаемся через PUTTY
Устанавлиаем пакеты.
Код:
opkg update
opkg install kmod-usb2
insmod ehci-hcd
opkg install kmod-usb-core kmod-usb-storage kmod-fs-ext4 kmod-scsi-core block-mount e2fsprogs fdisk
Смотрим как флешка определась системой: (у меня она 16Гб)
fdisk -l
USB Flash-диск должен определится как sda

Сначала создаем на USB Flash разделы:
fdisk /dev/sda

Выполняем следующие команды:
Command (m for help): d
Partition number (1-4): 1

Command (m for help): d
Partition number (1-4): 2

Command (m for help): d
Partition number (1-4): 3

Command (m for help): d
No partition is defined yet!

Если появилось сообщение No partition is defined yet! тогда идем дальше
Создаем сначала третий раздел для Swap:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p

[B] Partition number (1-4): 3
First cylinder (xx-xxx, default xx): жмем Enter
Using default value xx
Last cylinder or +size or +sizeM or +sizeK (xx-xxx, default xxx): +128M

Создаем два раздела : системный и домашний:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p

Partition number (1-4): 1
First cylinder (xx-xxx, default xx): жмем Enter
Using default value xx
Last cylinder or +size or +sizeM or +sizeK (xx-xxx, default xxx): +5G

Создаем домашний раздел, используем для него все оставшееся пространство на флешке:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p

Partition number (1-4): 2
First cylinder (xx-xxx, default xx): жмем Enter
Using default value xx
Last cylinder or +size or +sizeM or +sizeK (xx-xxx, default xxx): жмем Enter

Третий раздел у нас должен быть Swap, меняем тип для него:
Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap / Solaris)

Command (m for help): a
Partition number (1-4): 1

Смотрим, что получилось:
Command (m for help): p

Выходим:
Command (m for help): w

Разделы созданы, форматируем их, одновременно присваивая им метки:

Код:
mkswap -L CyberSwap /dev/sda3
mkfs.ext4 -L CyberWrt /dev/sda1
mkfs.ext4 -L CyberHome /dev/sda2
Теперь:

reboot

Смотрим как флешка определась системой:
fdisk -l

Код:
Disk /dev/sda: 14.9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe1a8e1a8

Device    Boot     Start       End   Blocks  Id System
/dev/sda1 *       264192  10749951  5242880  83 Linux
/dev/sda2       10749952  31116287 10183168  83 Linux
/dev/sda3           2048    264191   131072  82 Linux swap / Solaris
Настройка прошивки для загрузки с внешнего накопителя

Заходим на роутер SSH-клиентом, используя логин root и пароль, установленный через веб-админку. Редактируем файл /etc/config/fstab.

vi /etc/config/fstab
Для начала включим автомонтирование swap-раздела на USB-HDD/USB-флешке.
Для этого в блоке global присвоим опции auto_swap значение 1.
А так же в блоке swap опции enabled значение 1.
Редактируем первую секцию «mount» для монтирования раздела накопителя поверх основной файловой системы.
Узнать UID диска можно с помощью программы blkid, установив ее:
Код:
opkg update
opkg install blkid
blkid

Результат:
Код:
root@OpenWrt:~# blkid
/dev/mtdblock4: TYPE="squashfs"
/dev/sda1: LABEL="CyberWrt" UUID="91054dc0-88de-4e99-bd92-2151ee729de7" TYPE="ext4" PARTUUID="e1a8e1a8-01"
/dev/sda2: LABEL="CyberHome" UUID="af62f232-d026-4c21-996b-0ad89b7dd29d" TYPE="ext4" PARTUUID="e1a8e1a8-02"
/dev/sda3: LABEL="CyberSwap" TYPE="swap" PARTUUID="e1a8e1a8-03"
Или можно воспользоваться утилитой block detect

Она поможет создать файл /etc/config/fstab с нуля и все UID уже будут стоять на месте. Есть два варианта:
Очистить полностью файл fstab или использовать готовый, в этом случае в нем создадутся два практически одинаковых варианта настроек, вернее новые допишутся в конец файла. Поэтому верхние настройки (дубликаты)надо убрать.

block detect >> /etc/config/fstab

Для монтирования других разделов, будет использоваться файл fstab, хранящийся на внешнем накопителе:
Код:
        
config 'global'
        option  auto_swap       '1'
config 'mount'
        option  target  '/overlay'
        option  uuid    'UID диска SDA1'
        option  enabled '1'
config 'swap'
        option  device  '/dev/sda1'
        option  enabled '1'
Сохраняем, но не перезагружаемся. Надо подготовить overlay-раздел на флешке.
Монтируем новый диск и копируем на него все необходимое:
Код:
mkdir -p /mnt
mount -t ext4 /dev/sda1 /mnt -o rw,sync 
tar -C /overlay -cvf - . | tar -C /mnt -xvf -
Перезагружаем роутер, заходим через Putty.
Проверяем смонтировался ли диск?

df -h

код
Код:
root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                    4.8G     17.5M      4.5G   0% /
/dev/root                 2.3M      2.3M         0 100% /rom
tmpfs                    14.3M    348.0K     14.0M   2% /tmp
/dev/sda1                 4.8G     17.5M      4.5G   0% /overlay
overlayfs:/overlay        4.8G     17.5M      4.5G   0% /
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/sda2                 9.4G     21.9M      8.9G   0% /home
создаём точку монтирования для домашней директории:home

mkdir /home

Редактируем файл /etc/config/fstab.

vi /etc/config/fstab
В конечном итоге, он должен выглядеть вот так:
код:

Код:
config 'global'
        option  anon_swap       '0'
        option  anon_mount      '0'
        option  auto_swap       '1'
        option  auto_mount      '1'
        option  delay_root      '5'
        option  check_fs        '0'

config 'mount'
        option  target  '/overlay'
        option  uuid    'UID диска SDA1'
        option  enabled '1'

config 'mount'
        option  target  '/home'
        option  uuid    'UID диска SDA2'
        option options 'noatime, async'
        option  enabled '1'

config 'swap'
        option  device  '/dev/sda3'
        option  enabled '1'
Чтобы продлить жизнь флешке раздел для домашних директорий с опциями async и noatime.
Или делаем тоже самое зайдя в LUCI: Система/Точки монтирования
Перезагружаемся!
Смотрим как примонтировались системный и домашний диск:

df -h

код:

Код:
root@OpenWrt:~# df -h
Filesystem                Size      Used   Available  Use% Mounted on
rootfs                      4.8G     13.6M      4.5G   0%       /
/dev/root                 2.3M      2.3M         0    100%    /rom
tmpfs                     14.3M    464.0K     13.9M   3%    /tmp
/dev/sda1                4.8G     13.6M      4.5G    0%    /overlay
overlayfs:/overlay      4.8G     13.6M      4.5G    0%     /
tmpfs                      512.0K         0      512.0K   0%   /dev
/dev/sda2                 9.4G     21.9M      8.9G    0%   /home

Проверяем SWAP раздел:

free

код:
Код:
root@OpenWrt:~# free
                   total         used         free       shared      buffers
Mem:         29372        25688         3684            0         3548
-/+ buffers:              22140         7232
Swap:       131068            0       131068
Все здорово.

Устанавливаем поддержку кодировок
Код:
opkg update
opkg install kmod-nls-cp1251 kmod-nls-koi8r kmod-nls-utf8 kmod-nls-cp866 kmod-nls-cp437
Устанавливаем нужные пакеты:

Код:
opkg install kmod-input-core kmod-video-core kmod-video-uvc

Устанавливаем Midnight Commander

Ссылки на статьи:
Умный дом

Код:
opkg update
opkg install mc
Для правильной работы MC, перед запуском нужно выполнить:
Код:
export TERMINFO="/usr/share/terminfo"
export TERM="xterm"
mc
Но что бы каждый раз не писать эти строчки перед запуском, то лучше прописать их в файле profile:

vi /etc/profile
Код:
export TERMINFO=/usr/share/terminfo
export TERM=xterm
Далее запускаем Putty. Подключаемся по адресу 192.18.1.1
Логинимся: root, Ваш пароль.
Копируем весь этот код и вставляем в окно Putty:

Код:
opkg update
opkg install comgt
opkg install kmod-usb-core
opkg install kmod-usb-serial
opkg install kmod-usb-serial-option
opkg install kmod-usb-uhci
opkg install usb-modeswitch
opkg install usb-modeswitch-data
opkg install kmod-usb2
opkg install kmod-usb-ohci
opkg install kmod-usb-serial-wwan
opkg install kmod-usb-acm
opkg install sdparm
opkg install luci-proto-3g
opkg install kmod-usb-serial-ipw
opkg install chat
opkg install ppp
opkg install libusb-1.0
opkg install firewall
opkg install luci-proto-ppp 
opkg install luci-app-firewall
Смотрим как устанавливаются пакеты, в конце жмем один раз ENTER.

Нажмите на изображение для увеличения
Название: 19.png
Просмотров: 410
Размер:	29.9 Кб
ID:	2902
Перезагружаемся.
Заходим в Сеть/Интерфейсы:
Жмем кнопку:
Интерфейс WAN/редактировать этот интерфейс. (это, чтобы не заморачиваться потом с настройками firewall и т.д., все равно у меня на даче кабельного инета нет и долго еще ( читай никогда) не будет) и меняем протокол

Нажмите на изображение для увеличения
Название: 22.png
Просмотров: 288
Размер:	3.2 Кб
ID:	2905

Название: 21.png
Просмотров: 9945

Размер: 4.8 Кб

Выбираем протокол: UMTS/GPRS/EV-DO, не забываем нажать кнопку "Изменить протокол".
Сохраняем, заходим в настройки только, что измененного интерфейса WAN.

Выбираем модем: USB0
Тип службы, на рисунке только: 3G.
APN: точка доступа ОПСОСа
PIN: если включена проверка PIN кода на сим карте.
Имя пользователя и пароль. Все согласно рекомендациям сотового оператора.
Нажимаем: "Сохранить и применить"


Нажмите на изображение для увеличения
Название: 23.png
Просмотров: 455
Размер:	14.6 Кб
ID:	2906

Заходим в Сеть/Интерфейсы и через некоторое время видим, что 3G модем достучался до оператора.
Название: 24_1.png
Просмотров: 9963

Размер: 47.4 Кб


Ну, что ж в инет я вышел.
Настраиваем локальную сеть, настраиваем WiFi. Через LUCI это быстро(ну окошки больше привычны).
Вот конфиги (это секции которые надо настроить, остальное не менять) Это для любителей работать с конфигами, а не с окошками :-) :

NETWORK:


Код:
config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option ifname 'eth0.1'
        option force_link '1'
        option type 'bridge'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option macaddr '90:94:e4:ed:a5:58'
        option ipaddr '192.168.2.254'  #это адрес  Вашего роутера
DHCP:

Код:
config dnsmasq
        option domainneeded '1'
        option boguspriv '1'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.auto'

config dhcp 'lan'
        option interface 'lan'
        option leasetime '12h'
        option dhcpv6 'server'
        option ra 'server'
        option start '11' # это с какого и по какой адрес
        option limit '60'# DHCP будет раздавать
        option ra_management '1'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'
WIRELESS:

Код:
config wifi-device 'radio0'
        option type 'mac80211'
        option channel '11'
        option hwmode '11g'
        option path '10180000.wmac'
        option htmode 'HT20'
        option txpower '20'
        option country '00'

config wifi-iface
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'Имя Вашей Сети'
        option encryption 'psk-mixed'
        option key 'ПарольСети'
Если Вы просто поменяли настройки WAN интерфейса, то firewall трогать не надо.


Все это здорово конечно! Но вопрос ведь не только выходить в Инет, но еще хотелось бы и иметь возможность подключаться удаленно к даче и вершить всякие магические действия, внушая страх моей любимой теще, живущей там. Ну и всяким супостатам пытающимся совершить противоправные действия.
И тут полный облом. Оказывается, доблестный Beeline, в нашей зоне не раздает простым смертным белые IP адреса (даже динамические) и мы все находимся за серой стеной NATа. Поэтому про такой прекрасный сервис как DDNS надо забыть. Но мы не лыком шиты. Тут то на помощь и пришел Kenetic. На нем легко поднимается PPtP VPN сервер, а наш DIR-620 прекрасно к нему логинится.
Ну что же, поехали:
Используем: PPTP client

Запускаем Putty? подключаемся и логинимся к роутеру.
Вставляем следующий код:

Код:
opkg update
opkg install ppp-mod-pptp
opkg install kmod-gre 
opkg install kmod-mppe 
opkg install kmod-pppoe
opkg install kmod-pppox 
opkg install kmod-pptp
opkg install luci-proto-ppp
opkg install ppp
opkg install ppp-mod-pppoe
Возможно некоторые пакеты установлены, но на всякий случай пишу все.
Не забываем в конце установки нажать один раз ENTER.

Заходим через браузер на наш DIR-620, логинимся.
Далее : Сеть/Интерфейсы
Добавиь новый интерфейс.
Обзовем например: VPN_HOME.
Выбираем протокол: PPTP/
Сохраняем с применением.
Заходим в настройки.
Прописываем адрес PPTP сервера,логин и пароль пользователя заведенного на PPTP сервере.
Нажмите на изображение для увеличения
Название: 27.png
Просмотров: 330
Размер:	15.1 Кб
ID:	2913

Заходим на закладку "Расширенные настройки". Ставим птичку:" Запустить при загрузке" и убираем птички : "Использовать шлюз по умолчанию" и "Использовать обьявляемые узлом DNS-серверы".
Иначе наш DIR-620 будет ломиться в интернет через домашний роутер, а оно нам надо?

Нажмите на изображение для увеличения
Название: 28.png
Просмотров: 470
Размер:	28.1 Кб
ID:	2911

Сохраняем с применением.
Далее смотрим файл:/etc/ppp/options.pptp Спасибо Shai27 ! Без него долго не мог понять почему не получается.
Код:
noipdefault
noauth
nobsdcomp
nodeflate
idle 0
maxfail 0
mppe required,no40,no56,stateless
refuse-eap
Ждем. Смотрим в интерфейсах. Все подключилось.

Название: 24_1.png
Просмотров: 9963

Размер: 47.4 Кб

Нажмите на изображение для увеличения
Название: 28_1.png
Просмотров: 326
Размер:	25.9 Кб
ID:	2912

А это, что будет в конфиге:
NETWORK

Код:
config interface 'VPN_HOME'
        option proto 'pptp'
        option username 'Da4a' # Логин клиента
        option delegate '0'
        option defaultroute '0'
        option peerdns '0'
        option server '*******.ddns.net' #адрес (ip или URL) Вашего PPtP VPN сервера
        option buffering '1'
        option password 'password' # Пароль клиента
Так, теперь поговорим о сетях.
У нас их три:
192.168.1.0/24 Это домашняя, за роутером Keenetic.
192.168.2.0/24 Дачная- за DIR-620.
172.168.1.0/24 Это наша сеть VPN.
Если мы сейчас попытаемся пингануть с DIR-320 две другие сети , то в ответ получим полный отлуп.
Название: 30.png
Просмотров: 9908

Размер: 18.5 Кб

Название: 31.png
Просмотров: 9887

Размер: 19.7 Кб

Проблема в маршрутах. Надо их прописать.
Наш DIR-320 просто не знает где они находятся, он пытается их найти на маршруте по умолчанию, а у нас это Итернет. Нам надо ему явно указать, что сети 192.168.1.0/24 и 172.16.1.0/24 находятся за интерфейсом "VPN_HOME" и искать их надо там.
Идем: Сеть/Статические маршруты.
Название: 32.png
Просмотров: 9872

Размер: 4.2 Кб

При добавлении маршрута рассуждаем так: "Чтобы попасть в сеть 172.16.1.0 с маской 255.255.255.0 надо отправиться через интерфейс VPN_HOME."
Добавляем точно так же статический маршрут и для сети 192.168.1.0/24.
Сохраняем, применяем.

Нажмите на изображение для увеличения
Название: 33.png
Просмотров: 412
Размер:	8.0 Кб
ID:	2924

Конфиг NETWORK

Код:
config route
        option interface 'VPN_HOME'
        option target '172.16.1.0'
        option netmask '255.255.255.0'

config route
        option interface 'VPN_HOME'
        option netmask '255.255.255.0'
        option target '192.168.1.0'
Ну и самое последнее, проверка.

Название: 34.png
Просмотров: 9853

Размер: 9.9 Кб

Название: 35.png
Просмотров: 9807

Размер: 9.8 Кб

Название: 36.png
Просмотров: 9829

Размер: 9.7 Кб

Нажмите на изображение для увеличения
Название: 37.png
Просмотров: 288
Размер:	6.7 Кб
ID:	2928

Как видим пингуются: VPN-шлюз, компьютер из сети шлюза и второй клиент подключенный по VPN каналу.
Так же ping идет к самому DIR-620 от домашнего компа.
(продолжение следует...)

Последний раз редактировалось Parashutik; 24.05.2017 в 09:24.
Parashutik вне форума   Ответить с цитированием
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 07:57. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика