Наш канал в telegram

Мануал по построению домашней сети для счастливых обладателей Сагемов

Сегодняшний блог будет посвящён двум вещам. Во-первых, описанию того, как и зачем я переделал свою домашнюю сеть. И во-вторых, как из ADSL-модема от Ростелекома сделать отличный WiFi-роутер. В первую очередь я пишу всё это в качестве памятки для самого себя, однако, наверняка некоторые решения могут пригодиться кому-нибудь ещё, а возможно кто-то посоветует, как сделать лучше. Вобщем, — поехали!

Зачем мне понадобилось переделывать домашнюю сеть

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

схема моей домашней сети

Схема работала по IPv4 следующим образом: роутер получает ip-адрес от провайдера, а все остальные устройства сидят за NAT-ом, то есть адреса им выдаёт сам роутер. Роутер же является и фаерволом, не позволяющим проникнуть снаружи во внутреннюю домашнюю сеть.

Захотелось мне, однако, перейти на протокол IPv6. Не в последнюю очередь конечно из-за любимого всеми РКН, который хоть и обещал к октябрю научиться блокировать работающие через IPv6 сайты, да так и не научился (по крайней мере на сегодня telegram.org по IPv6 вполне себе доступен). Может конечно всё так и задумано и РКН — это вообще всего лишь инструмент по выдавливанию юзеров с IPv4 на IPv6 (как часть плана по цифровизации экономики), ну да ладно, сейчас не об этом.

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

И вот тут я вспомнил, что в кладовке у меня лежит парочка дохлых ростелекомовских ADSL-модемов, которые на самом деле идентифицируют себя как китайские платы Sagem (ну то есть фирма конечно французская, но платы made in china), из которых при обработке правильным напильником получаются вполне приличные WiFi-роутеры. Пару лет назад тема про эти девайсы активно обсуждалась на нашем форуме. С тех пор, правда, прошло несколько волн всяких вирусов, обновлений движка и прочего, так что часть картинок была утрачена, однако там всё равно есть что почитать (например, про физическое отключение ADSL-части). Так вот, как только я вспомнил про Сагемы, — у меня тут же зародился план по перестройке домашней сети.

Топология домашней сети с поддержкой IPv6

План состоял в том, чтобы разделить домашнюю сеть на два сегмента, один из которых (внешний) поддерживал бы IPv6, а другой (внутренний) работал только по IPv4. Это позволило бы просто подключить всех домашних ко внутренней сети (и для них бы ничего не изменилось), а самому, при необходимости, переключаться в сегмент IPv6 просто перетыкая кабель из одного коммутатора в другой или подключаясь к другой точке доступа. Схема новой топологии:

схема новой топологии моей домашней сети

Всё, что мне было нужно для реализации задуманного, — это перепрошить Сагем, подключить его последовательно с моим домашним роутером, настроить и, наконец, переткнуть в него все домашние девайсы.

Как прошить WiFi-роутер Сагем

Итак, задача номер один — перепрошивка. Прошивку я ставил собранную Virtual-ом на основе OpenWRT, вот эту: openwrt-brcm63xx-generic-F@ST2704V2-squashfs-cfe

Перепрошивать Сагем можно через флешку, через web-морду от «Ростелекома» или через web-морду фирменного загрузчика от Broadcom.

Первый способ очень простой. Кладём бинарник с прошивкой на флешку, втыкаем её в сагем, зажимаем кнопку «Ресет» и нажимаем кнопку включения. Кнопку «Ресет» нужно удерживать около минуты, после чего её можно отпустить, подождать ещё минут 5, пока Сагем мигает всякими лампочками, и вуаля — модем больше не модем, а отличный роутер.

Второй способ ещё проще. Включаем Сагем, соединяем его с компом любым ethernet-кабелем, убеждаемся, что комп с Сагемом имеют ip-шники из одного диапазона. У Сагема по-умолчанию ip-шник 192.168.1.1, у компа нужно прописать руками ip из этого же диапазона или включить автоматическое получение ip по dhcp. Если вдруг кто-то поменял Сагему ip-адрес и выключил dhcp — выполняем пункт первый, только без подключенной флешки (это запустит рекавери и восстановит заводские настройки Сагема). Заходим браузером на 192.168.1.1 и видим web-морду от «Ростелекома»:

жми плюсик

web-морда сагема от Ростелекома

[свернуть]

Логин/пароль по-умолчанию заботливо написан производителем на обратной стороне коробки (admin/admin):

логин/пароль по умолчанию

Идём в «Управление» -> «Обновление ПО», нажимаем кнопку «Обзор», указываем файл с прошивкой, нажимаем кнопку «Обновить ПО», дожидаемся окончания обновления:

жми плюсик

обновление прошивки сагема через web-морду от Ростелекома

[свернуть]

Первые два способа мало того, что неспортивные, так ещё и не всегда срабатывают. Дело в том, что платы Сагемов чаще всего бывают двух видов: F@st2804 V7 и F@st2704 V2. По железу они почти идентичные, различаются только расположением элементов на плате. Так вот, на платы версии 7 эта прошивка первыми двумя способами не встаёт. Таким платам нужно сначала поменять версию, а уже потом лить в них прошивку.

Для того, чтобы поменять версию — нужно подключаться в консоль по COM-порту. На платах V7 разъём для подключения в консоль заботливо впаян, на платах V2 под него есть площадки, но сам он не впаян (придётся впаять, всё равно дальше понадобится). Расположение и распиновка этого разъёма для плат V2 и V7 приведена на рисунках ниже:

плата V7

плата сагема версии 7

[свернуть]

плата V2

плата сагема версии 2

[свернуть]

Нас интересуют пины Tx,Rx и GND. Для подключения я использовал USB-to-UART конвертер собственного производства. Подключать, разумеется, нужно кроссом, — Tx платы к Rx конвертера, Rx платы — к Tx конвертера (ну а общий, понятное дело, с общим).

Всё время забываю где на этих платах Tx, а где Rx, но это определяется буквально за минуту: при первой попытке подключения соединяем любой из двух подозреваемых пинов сагема с пином Rx USB-to-UART конвертера, а к пину Tx конвертера ничего не подключаем. Включаем Cагем. Если данные пошли — значит мы угадали и правильно подключили Tx сагема с Rx конвертера. Если данных нет — значит мы соединили друг с другом два пина Rx. Ну и, соответственно, исходя из результатов проведённого эксперимента, соединяем пины Tx/Rx так, как нужно.

Далее меняем id платы по такому алгоритму (обладатели версии 2 могут эту часть пропустить):

  • Открываем Putty (если отсутствует — гуглим и качаем, по-любому must have). Настройки порта: 115200/8/1/None/None.
  • Зажимаем ESC при активном окне Putty во время включении сагема, в результате чего мы должны попасть в фирменный загрузчик CFE:
  • CFE

    загрузчик CFE

    [свернуть]
  • Жмём b:
  • жми плюсик

    Press: <enter> to use current value
           '-' to go previous parameter
           '.' to clear the current value
           'x' to exit this command
    96328avng        ------- 0
    96328avngrP1     ------- 1
    96328avngr       ------- 2
    963281TAN        ------- 3
    963293epon       ------- 4
    963293epon_gphy  ------- 5
    F@ST2704V2       ------- 6
    F@ST2304         ------- 7
    F@ST2304V2       ------- 8
    F@ST2704R        ------- 9
    F@ST2744         ------- 10
    F@ST2804V7       ------- 11

    [свернуть]
  • Жмём 6 и далее Enter до конца:
  • жми плюсик
    Board Id (0-11)                 :  11  6               <жмём 6>
    Number of MAC Address (1-32)    :  11                  <жмём Enter>
    Base MAC Address                :  d8:6c:e9:64:05:c1   <жмём Enter>
    PSI Size (1-64) KBytes          :  40                  <жмём Enter>
    Enable Backup PSI [0|1]         :  0                   <жмём Enter>
    System Log Size (0-256) KBytes  :  0                   <жмём Enter>
    Main Thread Number [0|1]        :  0                   <жмём Enter>
     
    Resetting board...HELO
    CPUI
    L1CI
    DRAM
    ----
    PHYS
    ZQDN
    PHYE
    DINT
    LSYN
    USYN
    MSYN
    LMBE
    PASS
    ----
    ZBSS
    CODE
    DATA
    L12F
    MAIN
     
    CFE version 6.35 for BCM96328 (32bit,SP,BE)
    Build Date: Thu Aug 16 19:16:13 CST 2012 (cookiechen@SZ01007.DONGGUAN.CN)
    Copyright (C) 2005-2011 SAGEM Corporation.
     
    HS Serial flash device: name ID_W25X64, id 0xef17 size 8192KB
    Total flash size: 8192K with 2048 sectors
    Chip ID: BCM6328B0, MIPS: 320MHz, DDR: 320MHz, Bus: 160MHz
    Main Thread: TP0
    Memory Test Passed
    Total Memory: 67108864 bytes (64MB)
    Boot Address: 0xb8000000
     
    Board IP address                  : 192.168.1.1:ffffff00
    Host IP address                   : 192.168.1.100
    Gateway IP address                :
    Run from flash/host (f/h)         : f
    Default host run file name        : vmlinux
    Default host flash file name      : bcm963xx_fs_kernel
    Boot delay (0-9 seconds)          : 1

    [свернуть]

Теперь у нашей платы нужный id и она примет новую прошивку. Выключаем питание, откидываемся в кресле, считаем про себя с закрытыми глазами до 100, после чего открываем глаза и читаем, что делать дальше.

С этого места продолжают читать обладатели плат версии 2.

Подключаемся через UART к консоли, зажимаем ESC и включаем питание сагема. В результате, как вы помните, мы должны попасть в фирменный загрузчик CFE (выше есть фотка под спойлером).

Ничего не жмём, соединяем Сагем ethernet-кабелем с компом, подключаемся браузером в web-морду Сагема (192.168.1.1) и видим следующую картину:

Жми плюсик

web-морда фирменного загрузчика сагема

[свернуть]

Жмём «Обзор…», выбираем файл прошивки и далее жмём «Update Software». Процесс обновления прошивки можно наблюдать в терминалке. Теперь самое главное не выключать питание железки во время обновления и спокойно дождаться окончания этого процесса. На этом первая часть, превращающая ADSL-модем от «Ростелекома» в WiFi-роутер Сагем под управлением OpenWRT, завершена.

Как настроить WiFi-роутер Сагем

Переходим ко второй части, — к настройке теперь уже роутера Сагем для использования в домашней сети. Пока сагем не настроен, — он у нас соединён ethernet-кабелем напрямую с компом, включать его в домашнюю сеть нельзя. Адрес сагема по-умолчанию — 192.168.1.1, DHCP включен.

Первое, что нужно сделать — это установить пароль. Об этом вас настойчиво попросит сама прошивка, когда вы первый раз зайдёте в web-морду.

Теперь нам нужно настроить в сагеме разделение сети на два сегмента. Делается это с помощью VLAN-ов. По умолчанию у нас только один общий VLAN, а нам нужно сделать два разных (один для внешнего сегмента, другой — для внутреннего) и распределить между ними имеющиеся порты. Как правило назначается один восходящий порт (через который мы будем подключаться во внешний сегмент), а все остальные порты настраиваются нисходящими (через них устройства подключаются во внутренний сегмент).

Заходим в «Сеть -> Коммутатор» и жмём кнопку «Добавить». У нас в списке появляется второй VLAN. Далее нужно для каждого порта определить, к какому VLAN-у он будет относиться. Если порт будет относиться к первому VLAN-у, то чекбокс напротив него нужно в первой строке поставить в положение «без тега», а во второй строке — в положение «выключено». Если порт будет относиться ко второму VLAN-у, то чекбокс напротив него нужно в первой строке поставить в положение «выключено», а во второй строке — в положение «без тега». Для столбцов «ЦП» чекбоксы обоих VLAN-ов должны стоять в положении «с тегом».

Ниже приведён пример, в котором порты 0,1,2 настроены для использования в первом VLAN-е (их я буду использовать для внутреннего сегмента сети), а порт 3 настроен для использования во втором VLAN-е (это будет порт для внешнего сегмента):

Жми плюсик

настройка VLAN-ов в роутере сагем

[свернуть]

Цветовая дифференциация штанов, тьфу, то есть портов, здесь следующая: красный порт, подписанный на коробке как 1 — это «Порт 0», жёлтый (подписан как 2) — это «Порт 1», зелёный (подписан как 3) — это «Порт 2», черный (подписан как 4) — это «Порт 3»:

внешний вид портов роутера сагем

Далее нам нужно добавить новый интерфейс и привязать его к созданному VLAN-у. Выбираем в меню «Сеть->Интерфейсы». В открывшемся окне, под единственным существующим на данный момент интерфейсом (LAN), нажимаем кнопку «Добавить новый интерфейс…»:

Жми плюсик

добавление нового интерфейса в роутере сагем

[свернуть]

Перед нами откроется окно создания нового интерфейса. Будем настраивать этот новый интерфейс для подключения к внешнему сегменту сети. В первую очередь мы должны задать ему имя, — пусть для примера будет lan_ext. Далее нужно определить протокол (ставим DHCP-клиент, поскольку раздавать адреса в этом сегменте будет другой роутер) и соотнести с этим интерфейсом созданный ранее VLAN, (которому мы добавили один порт и решили, что он у нас будет для внешнего сегмента):

Жми плюсик

создание нового интерфейса в роутере сагем

[свернуть]

После того, как мы задали основные параметры и нажали кнопку применить, — мы автоматически попадаем в окно конфигурирования нового интерфейса. Заходим в панель «Расширенные настройки», снимаем галку «Use builtin IPv6 management» и прописываем MAC-адрес (просто прописываем такой же MAC-адрес, как и у интерфейса lan, прибавив единицу к последней цифре):

Жми плюсик

настройка нового интерфейса в роутере сагем

[свернуть]

Жмём «Сохранить и применить» и видим, что теперь у нас в списке 2 интерфейса (старый — LAN и новый — LAN_EXT):

Жми плюсик

список интерфейсов роутера сагем

[свернуть]

Жмём кнопку «Редактировать» напротив интерфейса LAN_EXT и на вкладке «Настройки межсетевого экрана» ставим точку напротив зоны wan. Таким образом мы сообщим роутеру, что этот интерфейс будет смотреть в незащищённый внешний мир, а следовательно его нужно прикрывать фаерволом:

Жми плюсик

настройки межсетевого экрана роутера сагем

[свернуть]

Сохраняем, применяем и теперь жмём кнопку «Редактировать» напротив интерфейса LAN. Убеждаемся, что в основных настройках стоит статический IP-адрес, а внизу, в настройках DHCP-сервера, снята галочка «Отключить DHCP для этого интерфейса» (иначе он не будет раздавать адреса подключенным клиентам). Кроме того нужно на вкладке «IPv6 Settings» переключить все флажки в состояние disabled, поскольку мы, как вы помните, решили что во внутреннем сегменте IPv6 не место.

Касательно IP-адреса, важно учесть следующее. Если роутер верхнего уровня раздаёт адреса из сегмента 192.168.1. , то интерфесу LAN роутера сагем нужно назначить статический адрес из другого сегмента, например 192.168.2. (только учтите, что если вы поменяете адрес, то отвалитесь от роутера и вам нужно будет подключаться к нему заново).

Теперь нужно настроить WiFi. Мы будем настраивать WiFi внутреннего сегмента для работы в режиме точки доступа, чтобы к нему могли подключаться всякие мобильники и планшеты. Однако, сразу переключать WiFi в режим точки доступа нельзя и первоначально придётся настроить его в режиме клиента. Такой хук ушами приходится делать из-за того, что только в режиме клиента имеется возможность задать для WiFi mac-адрес. Если этого не сделать, то mac-адрес будет нулевой и WiFi просто не будет работать даже если всё остальное будет правильно настроено.

Итак, идём в меню «Сеть->WiFi» и жмём кнопку «Сканировать»:

Жми плюсик

поиск WiFi-сетей в роутере сагем

[свернуть]

В появившемся списке выбираем любую сеть и пытаемся к ней подключиться. Если рядом нет ни одной точки WiFi — создайте сами, например, с помощью мобильника (сейчас можно практически любым смартфоном WiFi в режиме точки доступа раздать).

Далее вы попадёте на страничку «Подключение к сети: настройки». Здесь нужно будет задать пароль для подключения, придумать имя новому интерфейсу (по-умолчанию wwan), задать для него зону межсетевого экрана (можно сразу выбрать wan) и нажать кнопку «Принять». Пароль можно ввести любой (не важно правильный он или нет), мы не собираемся к этой сети подключаться, нам просто нужно, чтобы скрипты роутера автоматически настроили нам WiFi для работы в режиме клиента.

Жми плюсик

подключение к сети: настройка

[свернуть]

Идём в меню «Сеть->Интерфейсы» и видим, что появился новый интерфейс WWAN, под именем которого нарисован значок WiFi и подписано, что этот WiFi настроен как клиент какой-то там сети. Также мы видим, что пока у этого интерфейса нулевой mac-адрес:

Жми плюсик

интерфейс wifi в списке интерфейсов

[свернуть]

Жмём напротив интерфейса WWAN кнопку «Редактировать», на открывшейся страничке заходим на вкладку «Расширенные настройки» и прописываем интерфейсу WWAN mac-адрес (по-старой схеме, — берём mac от соседнего интерфейса и прибавляем единичку):

Жми плюсик

прописываем mac-адрес интерфейсу wwan

[свернуть]

Жмём «Сохранить и применить». Теперь в списке инитерфейсов видно, что для интерфейса WWAN прописался mac-адрес и начали бегать пакеты (то есть интерфейс ожил):

Жми плюсик

список интерфейсов

[свернуть]

Снова заходим в настройки WWAN и теперь уже на вкладке «Основные настройки» задаём желаемое имя сети (SSID) и переключаем WiFi в режим точки доступа:

Жми плюсик

переключение WiFi в режим точки доступа

[свернуть]

Жмём «Сохранить и применить». Теперь если зайти в меню «Сеть -> WiFi», то можно увидеть, что WiFi переключился в режим «Master»:

Жми плюсик

WiFi переключен в режим master

[свернуть]

Последнее, что нам осталось — это прицепить только что настроенный WiFi к интерфейсу, который организует внутренний сегмент, работающий только по IPv4 (он у нас, как вы помните, называется LAN). Для этого возвращаемся в меню «Сеть -> Интерфейсы», и жмём «Редактировать» интерфейс LAN. Далее на вкладке «Настройки канала» ставим галочку напротив пункта «объединить в мост» и напротив пункта «Беспроводная сеть Master «бла-бла-бла» (wwan)». Галочка напротив пункта «Интерфейс VLAN: «eth0.1″ (lan)» должна уже быть установлена:

Жми плюсик

объединение в мост сети lan и wifi

[свернуть]

Жмём «Сохранить и применить». Вот и всё, — настройка сагема закончена. Теперь его можно выключить, отключить от компа (помните, он у нас пока напрямую к компу подключен) и включить в сеть в задуманной ранее конфигурации.

Добавить комментарий