Когда до меня добрался человеческий интернет (в лице провайдера Гарант) я сразу же полез выбирать себе роутер. Изначально подумывал о каком-нибудь MikroTik, но та железяка что хотя бы с натяжкой подходила по ценнику не умела 5GHz WiFi. А этого хотелось бы, т.к. диапазон 2.4GHz довольно сильно захламлен.
Роутеры у нас в продаже тоже довольно сильно влетают в копеечку, поэтому решил прошерстить ebay в поисках чего-нибудь интересного. В свое время так был куплен Siemens Gigaset 604 с трубкой, баксов за 15, кажется. Кстати жив и по сей день. Когда я его брал, надеялся на OpenWRT, но не сложилось. Теперь хотелось бы не допустить такого промаха и взять железяку, которая без проблем ее потянет.
Если кто не в курсе, OpenWRT это такой линукс для роутеров. Можно рассматривать ее как альтернативную прошивку со своими собственными ништяками. Или как мини-сервер со своими скриптами, демонами и тому подобным.
Итак, в итоге я наткнулся на WD MyNet N600.
такого рода фотки были на ebay
Что же он из себя представляет: ОЗУ 128MB, ПЗУ 16MB, WiFi в 2 диапазона 802.11 abgn. Это более чем неплохо. Ну и без проблем умеет OpenWRT. И это при такой-то цене (с доставкой встал где-то в $33). Няшность :3
Из альтернатив, наверное только роутер от Xiaomi.
Вот, роутер получен, смысла смотреть родную прошивку я не нашел, поэтому девайс сразу был зашит. Инструкция достаточно простая:
- скачать прошивку;
- выставить на сетевой карте адрес 192.168.1.10;
- выключить роутер;
- чем-нибудь тонким зажать ресет (он снизу) и включить роутер (есть кнопка сзади) и держать ресет нажатым не менее 15 секунд;
- зайти на адрес 192.168.1.1 и залить прошивку;
- дождаться загрузки, можно запустить пинг на 192.168.1.1 и когда пойдут ответы - роутер готов к работе.
Теперь можно включать DHCP на сетевой карте и зайти на роутер через web или telnet. При первом запуске веб интерфейса необходимо установить пароль, в общем все логично. Дальнейшие действия зависят от конкретного провайдера. В моем случае, чтобы получить интернет, необходимо было прописать MAC-адрес на WAN интерфейсе. Делается это следующим образом: Network - Interfaces - WAN - Advanced Settings - Override MAC address (сюда нужно прописать нужный мак) и нажать Save & Apply.
Интернет поднялся, но DNS не резолвит доменные имена. Не знаю что это наверняка - особенности провайдера, dnsmasq или чего-то еще, но решить можно 2-мя способами: подправить конфиг dnsmasq или прописать DNS вручную.
Для того чтобы изменить конфиг лучше всего активировать SSH доступ. Заходим System - Administration. Тут вводим рутовый пароль (если он еще не был настроен). Dropbear по умолчанию работает на всех интерфейсах на 22 порту и позволяет логиниться руту, если нужно меняем и нажимаем Save & Apply.
на скриншоте виднеется PPTP т.к. он был сделан позже
Теперь ломимся на роутер по SSH, c рутовым логином и паролем.
таким рецептом нас встречает консолька OpenWRT, релиз которой назван, судя по всему, в честь данного коктейля, надо бы попробовать (:
Правим конфиг: vi /etc/config/dhcp
: в строке option rebind_protection '1'
меняем 1 на 0. Сохраняем изменения и выходим (для тех, кто не знаком с vi краткий how-to: для перехода в режим вставки нажимаем i, правим, нажимаем Esc, нажимаем :wq). Рестартуем dnsmasq: /etc/init.d/dnsmasq restart
.
*Замеченный нюанс* если во время настройки все вроде бы сделано как надо, но не работает, следует попробовать перезагрузить роутер и проверить после этого.
Второй способ: Network - Interfaces - WAN Edit - Advanced Settings - Use DNS servers advertised by peer нужно снять галку, тем самым мы отказываемся от DNS. После этого появится поле Use custom DNS servers, там нужно прописать провайдерские DNS, а так же добавить, например, 8.8.8.8 на всякий случай.
Теперь можно поставить русификацию интерфейса, для этого есть соответствующий пакет. Пакетами можно управлять через System - Software. Вначале, после ребута роутера, необходимо получить списки пакетов, для этого нужно нажать кнопку Update lists.
Теперь вводим в поле Filter слово russian и нажимаем поиск, в списках Available packages находится то что попало под критерии, нас интересует пакет luci-i18n-russian. После его установки интерфейс станет на русском.
Теперь IPTV, для его работы нужен IGMP Proxy. Пакет так и называется - igmpproxy, ставить так же как и русификацию. После установки коннектимся по SSH и открываем конфиг vi
/etc/config/igmpproxy
. Приводим его к следующему виду:
config igmpproxy
option quickleave 1
config phyint
option network wan
option direction upstream
list altnet 10.0.0.0/8
list altnet 224.0.0.0/4
config phyint
option network lan
option direction downstream
Если с адресами не понимаете, то можно выставить list altnet 0.0.0.0/0
, не знаю насколько это повлияет на стабильность. Далее необходимо включить IGPM snoopong: vi
/etc/config/network
. Тут в секцию lan (config interface 'lan'
) нужно добавить строку option igmp_snooping '1'
. Осталось только добавить в фаерволл правила для пропуска мультикаста: vi
/etc/config/firewall
. Добавляем правила:
config rule
option src 'wan'
option proto 'igmp'
option target 'ACCEPT'
config rule
option src 'wan'
option proto 'udp'
option dest 'lan'
option dest_ip '224.0.0.0/4'
option target 'ACCEPT'
option family 'ipv4'
Все, рестартуем и запускаем сервисы:
/etc/init.d/firewall restart
/etc/init.d/igmpproxy start
/etc/init.d/igmpproxy enable
Проверяем, должно работать. Конечно, все это (и далеко не только это, чего стоит только интерпретатор Python на роутере) удалось настроить не с первой попытки, но оно того стоило. Быть может, напишу еще о чем-нибудь интересном и/или полезном об этом роутере и OpenWRT.