Самодельный роутер, распространённые ошибки
Хороший подарок – тот, который сделан своими руками (при условии их достаточной «прямизны»). Ну и самый хороший роутер, наверно, тоже может быть только самодельным. Сейчас появилось много комплектующих, отвечающих стандарту mini-ITX. И в компактном корпусе, который Вы купите в магазине, можно собрать WiFi роутер своими руками, работая только одной отвёрткой, ну и головой тоже. Здесь мы хотели бы перечислить советы, которые оградят разработчика от типичных ошибок, совершаемых при выборе аппаратных компонентов.
Задача выглядит так: нужно собрать компьютер, состоящий из системной платы с процессором, корпуса с блоком питания, и одной платы расширения (проводной сетевой карточки). Память лучше покупать минимально возможного объёма (1 Gb), а те корпуса, конструкция которых не позволяет установить плату расширения, пусть останутся у продавца. Ещё нужно позаботиться о правильно выполненном охлаждении. В инструкции на корпус может приводиться значение TDP CPU, для которого использовать вентиляторы ещё не обязательно, но если TDP Вашего процессора будет больше, то рекомендацией пренебрегать нельзя. В качестве жёсткого диска лучше применять такие варианты:
- Накопитель SSD m-SATA (mini-SATA), если системная плата совместима с ними.
- Устройство класса Intel Z-U130 или его аналоги от других фирм (если найдёте). Обратите внимание, что установить такой накопитель на некоторые платы нельзя из-за механической несовместимости.
Самый оптимальный объем SSD равен 4 GB, а сейчас мы поговорим о выборе процессора и платы.
Выбор материнской платы mini-ITX
Нашим требованиям лучше всего отвечала бы такая «материнка»:
- Процессор уже распаян, его TDP не превышает 10 Ватт (о выборе CPU будет сказано дальше)
- Есть совместимость с накопителями m-SATA
- Питание к «материнке» подводится через стандартный разъём ATX (сейчас есть блоки питания мощностью 60-120 Ватт, являющиеся безвентиляторными)
- Разъём PCI-E x1, а лучше просто PCI, присутствует хотя бы в количестве одного.
Вы будете смеяться, но продуктов, соответствующих всем требованиям сразу, сейчас нет, и не было никогда. Есть близкие варианты, например, платы Intel D525mw (и D525mwv) не поддерживают m-SATA, а остальным требованиям вполне отвечают. То есть для них придётся найти накопитель Intel Z-U130, что сегодня осуществить очень сложно. В общем, пользуйтесь сервисом «Яндекс. Маркет», внимательно просматривая все характеристики.
Есть такие корпуса, которые по внешнему виду напоминают решето, и в них используются БП следующего формата:
Обратите внимание, что если разъём «12V-ATX» есть на материнской плате, то он должен присутствовать и в комплекте источника питания. Смысл от покупки подобного корпуса в том, что можно собрать безвентиляторную систему. Только вот в инструкции может быть указано, что при использовании процессора с TDP 10 Wt или больше вентилятор устанавливается обязательно. Таблица с характеристиками процессоров Intel:
- D525 – «атом» предыдущего поколения, быстрый, TDP равно 13 Wt, идеальная совместимость с Linux
- D2700 – ещё быстрее, чем предыдущий, TDP равно 10 Wt, Linux обещали «допилить» до него (речь идёт о встроенной графике)
- N2800 – небольшое значение TDP (6,5 Wt), но заметно медленнее «старичка» D525, хотя и новее его
- N2600 – сверхнизкое TDP, медленнее «Атома N2800», используется в платах thin mini-ITX, что для наших целей будет «слишком шикарно».
Выбор оставляем за будущим владельцем.
«Сетевые дела»: WAN, Wi-Fi
Всегда советуют делать такой выбор: если у Вас уже есть точка доступа, оснащённая портом LAN, покупайте системную плату с двумя контроллерами LAN. В иных случаях лучше докупить внешнюю точку доступа, подключаемую к USB, и пара Ethernet-портов на задней стороне платы будет излишеством. Мы говорили о том, что кабель провайдера Вы будете подключать к порту, распаянному на дополнительной сетевой карте. И это не случайно. Порт сетевой карточки, используемый в качестве WAN-порта, вполне может сгореть. В общем, сетевую карту, подключаемую к провайдеру, нужно считать своеобразным «расходником» (шутка, но с долей правды).
Пара команд из Linux
Допустим, в качестве операционной системы нашего роутера используется Linux. Надеемся, что ядро правильно определило все аппаратные Ethernet-контроллеры. Можно производить настройку подключения к провайдеру, но прежде нередко требуется сменить MAC-адрес как минимум одной сетевой карты. Это было бы просто сделать в Windows, а в Linux придётся прописать пару команд.
Можно подменить MAC, чтобы новое значение использовалось только до перезагрузки. Для этого контроллер сначала отключают:
- # ifconfig eth2 down//мы настраиваем именно «eth2», у Вас может быть другой номер
- # ifconfig eth2 hw ether 01:02:03:04:dd:ff//новое значение присвоено
- # ifconfig eth2 up//включили контроллер «eth2».
Новое значение MAC можно присвоить сетевой карте «навсегда», точнее, мы заставим ОС эмулировать требуемое значение всё время. Но для выполнения последнего, отделаться только командами консоли уже не получится:
- nano /etc/network/interfaces//нужно открыть на редактирование файл «interfaces».
Теперь ищем в файле строки с названием нужного контроллера (у нас это «eth2»), и после строчки «iface eth2 inet…» мы добавили следующее:
- hwaddress ether 01:02:03:04:dd:ff.
Сохранили файлик, и всё (после перезагрузки будет использоваться «наше» значение).
А вообще, заметим, что эмуляция MAC – это плохо по определению.
Утверждение в равной степени относится ко всем операционным системам, и даже к тем, которые прошиты в «обычном» роутере. Эмулирование выполняется программно, что, как минимум, отнимает лишние вычислительные ресурсы (память, процессорное время). Лучшее решение – добиться того, чтобы провайдер изменил значение в своей базе MAC-адресов на то, которое нужно Вам. Говоря короче, клонирование MAC вполне можно использовать в качестве временной меры, но не более.
Как настроить Wi-Fi USB?
Многие думают, что если в Linux есть такое чудо, как Hostapd, то переключить в режим «Точка доступа» можно любой адаптер Wi-Fi. В действительности, это не так. От интерфейса подключения к ПК (USB, PCI-E и т.д.) почти ничего не зависит, а главным критерием является наименование чипсета и драйвер, предназначенный для него. Если драйвер действительно поддерживает режим «Access Point», это будет отображено на сайте «wireless.kernel.org». Зайдите на указанную страницу, выполните переход «USERS» –> «Devices».
Дальше нужно воспользоваться ссылкой «USB Devices», и откроется таблица, где Вы с помощью поиска по странице найдёте требуемую модель девайса. Затем нажмите на ссылку в первом столбце, чтобы перейти к описанию используемого драйвера:
На появившейся странице нужно выполнить поиск по слову «mode». Если увидите, что режим «AP Mode» действительно поддерживается – значит все хорошо. В ином случае заставить адаптер стать точкой доступа можно только нестандартными методами (либо нельзя вообще). Желаем удачи.