![]() |
![]() |
#1 |
Member
|
![]()
Есть у меня 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, отпускаем кнопку. Настраиваем сетевую карту в компьютере так: Набираем в браузере: 192.168.0.1. Видим: Выбираем файл прошивки, для Вашей ревизии: Нажимаем отправить и ждем пока прошьется, это порядка 5 минут. Он перезагрузится. Светодиод питания должен перестать моргать, а сетевой линк должен мигать в стандартном режиме. Настройки сетевой меняем на авто получения адреса, или вот так: Набираем в браузере: 192.168.1.1 Прекрасно. Логинимся, просто нажимаем: "Login" и попадем на страницу ввода своего пароля: Вводим свой пароль и не Забываем внизу нажать кнопочку:"Сохранить и применить"(там по аглицки). Пытаемся куда нибудь зайти, нам предлагается авторизоваться. Вводим свой, только, что введенный пароль и мы вошли в Luci. Подключаем роутер через порт Wan к интернету. Переходим в : System/Software: Жмем кнопку: "Обновить пакеты" Пакеты обновились, прекрасно. Набираем в строке "Filter" : luci. На закладке : Available packages (luci) находим файл: luci-i18n-russian и устанавливаем его. И о чудо! Великий и могучий. Теперь надо подключить внешний 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 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 Результат: Код:
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" Она поможет создать файл /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' Монтируем новый диск и копируем на него все необходимое: Код:
mkdir -p /mnt mount -t ext4 /dev/sda1 /mnt -o rw,sync tar -C /overlay -cvf - . | tar -C /mnt -xvf - Проверяем смонтировался ли диск? 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 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' Или делаем тоже самое зайдя в 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 Код:
export TERMINFO="/usr/share/terminfo" export TERM="xterm" mc vi /etc/profile Код:
export TERMINFO=/usr/share/terminfo export TERM=xterm Логинимся: 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 Перезагружаемся. Заходим в Сеть/Интерфейсы: Жмем кнопку: Интерфейс WAN/редактировать этот интерфейс. (это, чтобы не заморачиваться потом с настройками firewall и т.д., все равно у меня на даче кабельного инета нет и долго еще ( читай никогда) не будет) и меняем протокол Выбираем протокол: UMTS/GPRS/EV-DO, не забываем нажать кнопку "Изменить протокол". Сохраняем, заходим в настройки только, что измененного интерфейса WAN. Выбираем модем: USB0 Тип службы, на рисунке только: 3G. APN: точка доступа ОПСОСа PIN: если включена проверка PIN кода на сим карте. Имя пользователя и пароль. Все согласно рекомендациям сотового оператора. Нажимаем: "Сохранить и применить" Заходим в Сеть/Интерфейсы и через некоторое время видим, что 3G модем достучался до оператора. Ну, что ж в инет я вышел. Настраиваем локальную сеть, настраиваем 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' #это адрес Вашего роутера Код:
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' Код:
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 'ПарольСети' Все это здорово конечно! Но вопрос ведь не только выходить в Инет, но еще хотелось бы и иметь возможность подключаться удаленно к даче и вершить всякие магические действия, внушая страх моей любимой теще, живущей там. Ну и всяким супостатам пытающимся совершить противоправные действия. И тут полный облом. Оказывается, доблестный 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 сервере. Заходим на закладку "Расширенные настройки". Ставим птичку:" Запустить при загрузке" и убираем птички : "Использовать шлюз по умолчанию" и "Использовать обьявляемые узлом DNS-серверы". Иначе наш DIR-620 будет ломиться в интернет через домашний роутер, а оно нам надо? Сохраняем с применением. Далее смотрим файл:/etc/ppp/options.pptp Спасибо Shai27 ! Без него долго не мог понять почему не получается. Код:
noipdefault noauth nobsdcomp nodeflate idle 0 maxfail 0 mppe required,no40,no56,stateless refuse-eap А это, что будет в конфиге: 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 две другие сети , то в ответ получим полный отлуп. Проблема в маршрутах. Надо их прописать. Наш DIR-320 просто не знает где они находятся, он пытается их найти на маршруте по умолчанию, а у нас это Итернет. Нам надо ему явно указать, что сети 192.168.1.0/24 и 172.16.1.0/24 находятся за интерфейсом "VPN_HOME" и искать их надо там. Идем: Сеть/Статические маршруты. При добавлении маршрута рассуждаем так: "Чтобы попасть в сеть 172.16.1.0 с маской 255.255.255.0 надо отправиться через интерфейс VPN_HOME." Добавляем точно так же статический маршрут и для сети 192.168.1.0/24. Сохраняем, применяем. Конфиг 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' Как видим пингуются: VPN-шлюз, компьютер из сети шлюза и второй клиент подключенный по VPN каналу. Так же ping идет к самому DIR-620 от домашнего компа. (продолжение следует...) Последний раз редактировалось Parashutik; 24.05.2017 в 09:24. |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|