Фотогалереи

Услуги

Помощь при использовании сайта

Настройка OpenWRT для работы с Kabinet

Кроме официальных прошивок для домашних роутеров существуют и некоторые альтернативы. Которые более гибки в настройках и код которых открыт. Так как этот пост имеет другую цель, нежели обзор альтернативных прошивок, то приступим к настройке нашей OpenWRT. Провайдер Kabinet в городе Екатеринбурге, по умолчанию для авторизации использует самописный костыль, который работает только под виндой и собственно запускается с клиентского компьютера. Есть конечно мануалы в сети и под линух, но они еще более костыльные чем сам "Авторизатор". Насколько я знаю, также имеется возможность встроить в прошивку dd-wrt данный авторизатор, так что кому интересно могут пошукать на просторах интернета.

Итак начнем потихоньку и попорядку. Если Вы все еще кипятитепользуетесь виндовым авторизатором, то нужно сменить тип авторизации и получить у провайдера реквизиты для PPTP подключения. Делается это тут Если что то непонятно по данному или нижеследующим пунктам -- задаем вопросы в коментариях. Важный момент - в дефолтной OpenWRT нет поддержки протокола PPTP и для этого предварительно нужно скачать следующие пакеты:

  • kmod-crypto-ecb
  • kmod-crypto-hash
  • kmod-crypto-manager
  • kmod-crypto-sha1
  • kmod-gre
  • kmod-ipv6
  • kmod-mppe
  • kmod-pptp
  • luci-i18n-russian
  • luci-proto-core
  • luci-proto-ppp
  • ppp-mod-pptp
  • resolveip

Скачать пакеты можно на сайте OpeWRT Перейдя по ссылке нужно выбрать требуемый SoC и далее перейти в директорию packages. Например мой D-Link DIR-615 построен на Atheros AR7240 и соответственно скачиваю образа для ar71xx. Найти нужную прошивку поможет http://wiki.openwrt.org/toh/start#d-link (для устройств D-Link)

Берем наш роутер, (на котором уже крутится OpenWRT) втыкаем провод от провайдера в WAN порт роутера (также он называется Internet), а любой другой Ethernet порт соединяем с компьютером и стучимся браузером на http://192.168.1.1. Создаем пароль для учетной записи root, потом переходим по пути Система --> Управление и вешаем SSH на LAN порт путем установки соответствующего чекбокса. Теперь нужно разрешить заходить рутом по SSH с авторизацией по паролю. Ставим чекбоксы напротив:

  • Разрешить SSH-аутентификацию с помощью пароля
  • Разрешить пользователю root входить в систему с помощью пароля

Далее подключаемся по SSH к нашему роутеру, если авторизация проходит успешно, то начинаем копировать заранее скачанные пакеты список которых я приводил выше через secure copy (scp) такой командой

scp /path/ppp-mod-pptp_2.4.5-8_ar71xx.ipk :/

После чего все пакеты будут сваливаться в корень роутера. Оттуда мы их и будем ставить такой командой:

opkg install /ppp-mod-pptp_2.4.5-8_ar71xx.ipk

Пакеты естественно ставиться не будут, и будет ругань на отсутствующие зависимости. Страшного ничего нет -- нужно просто внимательно смотреть на выхлоп и ненадолго стать пакетным менеджером.

Установив все требуемые пакеты и получив поддержку PPTP переходим в веб морду роутера и открыв вкладку Сеть настраиваем интерфейс WAN как показано на рисунке ниже. Протокол - static, IP адрес, маска и шлюз берем из реквизитов провайдера которые мы уже получили.

Далее создаем новый интерфейс для VPN подключения, назовем его скажем VPN.

И настроим этот интерфейс.

Теперь нам остается лишь жмакнуть кнопочку "Соединить" напротив интерфейса VPN и если все правильно - интернет должен появиться.

Как видите нет ничего сложного и подготовка занимает больше времени чем сама настройка.

//Выкладываю также конфиг сети лежащий по пути

/etc/config/network

возможно кому то будет проще настроить интерфейсы таким тру-способом.
Скачать конфиг

Важно:
При бэкапе настроек Openwrt, по умолчанию не бэкапится директория /etc/ppp в которой описаны опции демона pppd. Сменив прошивку возможно потребуется правка

/etc/ppp/options.pptp

из-за возникающей ошибки

mppe required but peer negotiation failed

Для решения проблемы коментим строку

#mppe required,no40,no56,stateless

и дописываем это

nomppe

//Все вопросы и предложения постим в каменты.

5
3 голосов
Ваша оценка: Нет


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".
Аватар пользователя anonymous

Здравствуйте, помогите решить проблему.
У меня роутер TP-Link TP-WR1043ND ver1
Провайдер - Кабинет.
Чтобы работали все мои вай-фай устройства. вначале прошил в роутер авторизатор на прошивку
openwrt-ar71xx-tl-wr1043nd-v1-squashfs-factory.bin
Но связь была неустойчивой, авторизатор, то подключался, то отваливался.

Решил перейти на VPN соединение.
Сделал другую прошивку openwrt-ar71xx-generic-tl-wr1043nd-v1-jffs2-factory.bin
с обновлением openwrt-ar71xx-generic-tl-wr1043nd-v1-jffs2-sysupgrade.bin

Потом всё сделал, как здесь написано, VPN работает, постоянно разрывается, каждые 5 секунд.
Прилагаю кусочек лога.

Oct 13 20:15:05 OpenWrt daemon.notice netifd: Interface 'VPN' is now up
Oct 13 20:15:06 OpenWrt user.notice ifup: Enabling Router Solicitations on VPN (pptp-VPN)
Oct 13 20:15:08 OpenWrt user.info firewall: adding VPN (pptp-VPN) to zone wan
Oct 13 20:15:11 OpenWrt daemon.info dnsmasq[1389]: reading /tmp/resolv.conf.auto
Oct 13 20:15:11 OpenWrt daemon.info dnsmasq[1389]: using nameserver 87.224.213.1#53
Oct 13 20:15:11 OpenWrt daemon.info dnsmasq[1389]: using nameserver 87.224.197.1#53
Oct 13 20:15:11 OpenWrt daemon.info dnsmasq[1389]: using nameserver 87.224.197.1#53
Oct 13 20:15:11 OpenWrt daemon.info dnsmasq[1389]: using nameserver 87.224.213.1#53
Oct 13 20:15:11 OpenWrt daemon.info dnsmasq[1389]: using local addresses only for domain lan
Oct 13 20:15:37 OpenWrt daemon.info pppd[661]: No response to 5 echo-requests
Oct 13 20:15:37 OpenWrt daemon.notice pppd[661]: Serial link appears to be disconnected.
Oct 13 20:15:37 OpenWrt daemon.info pppd[661]: Connect time 0.6 minutes.
Oct 13 20:15:37 OpenWrt daemon.info pppd[661]: Sent 10466 bytes, received 20898 bytes.
Oct 13 20:15:37 OpenWrt daemon.notice netifd: Interface 'VPN' has lost the connection
Oct 13 20:15:38 OpenWrt user.info firewall: removing VPN (pptp-VPN) from zone wan
Oct 13 20:15:43 OpenWrt daemon.notice pppd[661]: Connection terminated.
Oct 13 20:15:43 OpenWrt daemon.notice pppd[661]: Modem hangup
Oct 13 20:16:14 OpenWrt daemon.info pppd[661]: Using interface pptp-VPN
Oct 13 20:16:14 OpenWrt daemon.notice pppd[661]: Connect: pptp-VPN <--> pptp (10.0.0.1)
Oct 13 20:16:14 OpenWrt daemon.info dnsmasq[1389]: reading /tmp/resolv.conf.auto
Oct 13 20:16:14 OpenWrt daemon.info dnsmasq[1389]: using nameserver 87.224.213.1#53
Oct 13 20:16:14 OpenWrt daemon.info dnsmasq[1389]: using nameserver 87.224.197.1#53
Oct 13 20:16:14 OpenWrt daemon.info dnsmasq[1389]: using local addresses only for domain lan
Oct 13 20:16:17 OpenWrt daemon.notice pppd[661]: CHAP authentication succeeded

и конфиги

network:
config interface 'wan'
option _orig_ifname 'eth0.2'
option _orig_bridge 'false'
option proto 'static'
option ipaddr '10.0.61.94'
option netmask '255.255.255.0'
option gateway '10.0.61.1'
option dns '87.224.197.1 87.224.213.1'
option ifname 'eth0.2'
option mtu '1380'

config interface 'VPN'
option proto 'pptp'
option server '10.0.0.1'
option password 'My Password'
option delegate '0'
option username '94.31.200.xx'
option mtu '1380'
option peerdns '0'
option dns '87.224.213.1 87.224.197.1'
option demand '0'

и firewall:

config zone
option name 'wan'
option network 'VPN wan'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'

В чем может быть дело? может прошивка виновата?

Прошу помочь, устал я уже бороться с этим кабинетом и его методами доступа к интернету.

Аватар пользователя admin

Отваливается у вас соединение потому что "No response to 5 echo-requests"

Проблема скорее всего в файрволе, хотя может быть пакеты не бегают и по механической причине (повреждение кабеля и т.д) На самом деле дефолтного файрвола на мой взгляд недостаточно. Имеется ввиду его настроек, поэтому при использовании VPN я разделил
все на 3 зоны.
VPN (Output - Accept, Forward - Drop, Input - Drop), WAN (Аналогично), LAN (Принимать все, и разрешить перенаправления в VPN & WAN). По умолчанию политика стоит тоже Drop на все направления.

Вот конфиг файрвола:

config defaults
        option syn_flood '1'
        option drop_invalid '1'
        option input 'REJECT'
        option output 'REJECT'
        option forward 'REJECT'


config zone
        option name 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option network 'lan'
        option masq '1'

config zone
        option name 'wan'
        option output 'ACCEPT'
        option masq '1'
        option network 'wan wan6'
        option input 'REJECT'
        option forward 'REJECT'

config zone
        option name 'VPN'
        option output 'ACCEPT'
        option network 'VPN'
        option masq '1'
        option family 'ipv4'
        option input 'REJECT'
        option forward 'REJECT'

config forwarding
        option dest 'wan'
        option src 'lan'

config forwarding
        option dest 'VPN'
        option src 'lan'

Если что то непонятно - спрашивайте, чем смогу помогу. У меня работает замечательно, по нескольку недель аптайма и линк до 10.0.0.1 не падает.

P.S. А почему у Вас MTU на интерфейсе 1380? Попробуйте стандартное 1500 выставить (просто убрать 1380)

Аватар пользователя anonymous

Да уж, есть что спрашивать. Сам я недавно только влез в это дело, в настройках мало что понимаю.
Вопросов много, но сейчас вот встретился с неизвестным явлением.
Дело в том, что в процессе экспериментов я снес свою прошивку, да так, что не могу в неё зайти, всё время выходит на заставку - неправильный пароль.
Ничего страшного, восстанавливать через серийный порт я уже научился, поэтому с легкостью восстановил её.
Залил снова openwrt-ar71xx-generic-tl-wr1043nd-v1-jffs2-sysupgrade.bin.
И с увлечением занялся снова настройкой с целью победить всё же этот VPN, да и Кабинет за одним.
Но успел только создать новое соединение - VPN, прописал туда мои реквизиты логин и пароль, сетевой адрес и т.д.
Потом мне понадобилось загрузить доп. пакеты для работы с VPN, их я загружаю из интернета, через функцию Update Lists.
Но для того, чтобы загрузить пакеты, мне пришлось установить доступ стандартный, с программой авторизации.
Загрузил и установил пакеты, больше ничего не успел сделать, не исправлял настройки wan, ни файрвол, было уже поздно.
Каково же было мое удивление, когда на следующий день, ничего не меняя я попробовал подключиться к инету.
Интернет взял и подключился! Без программы авторизации, без настроенного VPN он работает!
Включал - выключал роутер, перезагружал компьютер, программы авторизации нет, а он работает!
Позвонил в службу сервиса, там меня разочаровали, сказали, что это временный программный сбой у них на оборудовании и потом это исправится (
А меня так этот программный сбой устраивает, но закрепить такую ситуацию в техподдержке отказались.

Придется снова настраивать vpn, о продвижении этого процесса отпишусь.
Есть у меня ещё один существенный вопрос. Нигде не нашел, как сохранить прошивку в виде файла xxx.bin
Сохранение конфигурации есть, а сохранение прошивки нет. Может быть есть такая команда через консоль putty?

Аватар пользователя admin

Во первых я не понимаю почему вы заливаете sysupgrade если шьетесь с заводской? С заводской нужна полная, factory. глюки могут быть из за того, что sysupgrade прошивается не с начальных адресов памяти, а позже. Поэтому вероятно остаются ошметки старой прошивки. Я вообще всегда шью полную, даже если просто обновилась ревизия.

На счет сохранения прошивки в .bin я не в курсе, возможно и есть такое. Можно попробовать тупо слить раздел (/dev/mtdblock*) побитово. Но тут надо сначала точно узнавать на каком блочном устройстве лежт прошивка. А на всех устройствах по разному. Если хочешь OpenWRT и вайфай на всех девайсах, то придется юзать VPN, имхо.

В стандартных прошивках чуть ли не каждый месяц бэкдоры находят и если девайс старый, то естественно никто прошивку новую выкладывать не будет, соответственно выход один - OpenWRT.

Аватар пользователя anonymous

Спасибо за помощь и поддержку.
Конечно я заливал не sysupgrade, а openwrt-ar71xx-generic-tl-wr1043nd-v1-jffs2-factory.bin. Это я перепутал названия файлов.
И после того как я сделал настройки межсетевого экрана так, или примерно так, как было предложено выше, у меня всё заработало!
Кстати у Вас не соответствуют словесные описания конфига файрвола с приведенной распечаткой файла конфига файрвола, видимо тоже возникла какая то в этом путаница

Вот как выглядит теперь мой Config firewall:

config defaults
option syn_flood '1'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'

config zone
option name 'lan'
option network 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option masq '1'

config zone
option name 'wan'
option output 'ACCEPT'
option masq '1'
option mtu_fix '1'
option network 'wan VPN'
option input 'DROP'
option forward 'DROP'

config zone
option name 'VPN'
option output 'ACCEPT'
option network 'VPN'
option input 'DROP'
option forward 'DROP'
option masq '1'

config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'

config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'

config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option src_ip 'fe80::/10'
option src_port '547'
option dest_ip 'fe80::/10'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'

config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
list icmp_type 'router-solicitation'
list icmp_type 'neighbour-solicitation'
list icmp_type 'router-advertisement'
list icmp_type 'neighbour-advertisement'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'

config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'

config include
option path '/etc/firewall.user'

config forwarding
option dest 'wan'
option src 'lan'

Всё стабильно работает, не отваливается и не зависает уже вторую неделю.

Непонятно мне только, почему на VPN только исходящий трафик нужно принимать, а остальные не обрабатывать, то же самое и на Wan.
Я бы поставил на обоих все трафики принимать, но пробовать не стал, устал уже от экспериментов. Не могу я постичь этой премудрости с ACCEPT REJECT и DROP

Всё же для меня актуален вопрос, как слить работающую прошивку, вместе с доп. установленными пакетами и настройками, чтобы в случае чего, залить её обратно.
Это что же получается залить прошивку можно, а слить её обратно нельзя? Даже через серийный порт?
Читал я разные форумы, получается, что прочитать и сохранить прошивку можно только через программатор. Но это сложно и трудоемко, неужели нету другого пути.

Аватар пользователя admin

По поводу слива прошивки я Вам ничего нового не скажу, обычно просто бэкаплю настройки, мне этого хватает.

По поводу firewall и интерфейса VPN. VPN это внешний интерфейс который у Вас смотрит в интернет и по моему логично ничего оттуда не принимать. Обычно на таких интерфейсах политика такая: Отвергать все, что не разрешено явно, на локальных интефейсах (LAN) разумнее принимать все пакеты, ведь чаще всего такая сеть является домашней и доверенной. WAN интерфейс - это интерфейс смотрящий в локалку провайдера с адресами 10.x.x.x и оттуда нам тоже никто ничего хорошего не принесет, поэтому на WAN интерфейсе тоже REJECT на все. И все таки лучше ставить REJECT (отвергать) чем DROP (не обрабатывать) на внешних интерфейсах. Лучше сразу отбрасывать заведомо ненужные и запрещенные пакеты, вы же не читаете статьи о креме для лица и увидев заголовок - пролистываете страницу. А в Вашем случае Ваш роутер сначала читает статью про крем для лица, тратя процессорное время, а потом выкидывает журнал. Думаю аналогия понятна)). Поэтому лучше REJECT. Хотя конечный результат будет один - пакет не пройдет дальше.

Дефолтные правила ACCEPT я бы тоже порекомендовал убрать. Политика на внешних сетевых устройствах должны быть "Запрещено все, что не разрешено". Просканьте свою подсетку на предмет торчащих в локалку прова 80,445 и других портов и удивитесь как говорится...

Цитата:

Кстати у Вас не соответствуют словесные описания конфига файрвола с приведенной распечаткой файла конфига файрвола, видимо тоже возникла какая то в этом путаница

А где именно у меня не совпадает? Я что то не вижу противоречий.