Построение беспроводного моста на базе маршрутизаторов D-Link DIR-300 и прошивки dd-wrt.

30 Авг, 2009 130 комм.

Многие продвинутые (и не очень) пользователи периодически сталкиваются с проблемой, когда необходимо сделать доступ в интернет (или просто в локальную сеть) для компьютера, находящегося на приличном удалении от ближайшего коммутатора (модема, роутера и т.д.). Одно дело, когда удаленная машина находится в том же здании. А что делать, если несчастный компьютер волею судьбы забросило на соседнюю улицу, да еще и через оживленную транспортную магистраль?

С такой проблемой столкнулся и я, когда мне, для уменьшения ежемесячных расходов на интернет, захотелось организовать доступ в интернет на компьютере мой тещи, проживающей в соседнем доме, через мой домашний роутер. Пользуется сетью она редко, поэтому 99% денег, которые тратятся на доступ в интернет, улетают впустую в виде абонплаты.
Расстояние между нашими домами составляет порядка 200 метров, если верить google earth. Видимость прямая, нарушаемая деревьями лишь в очень сильный ветер.

paravin.ru_2009-08-30_00001 Параллельно с этим ко мне обратился знакомый, с просьбой «пробросить» интернет в частный дом с ближайшей 9-этажки, в которой проживает его друг. Ситуация была идентична моей (разве что расстояние оказалось поменьше – около 100 метров по прямой), поэтому я решил вплотную изучить вопрос создания беспроводного моста, как наиболее правильного технического решения в данных случаях.
Основываясь на успешном опыте моих друзей, и на многочисленных положительных отзывах в форумах, за основу было решено взять два беспроводных роутера D-Link DIR-300. В штатном варианте данная модель ничем хорошим не отличается. Все самое интересное начинается после установки на данный агрегат прошивки DD-WRT, базирующейся на linux-ядре. Вооружившись последней версией данной прошивки и несколькими инструкциями, я приступил к делу. Ниже привожу пошаговое руководство по установке прошивки dd-wrt на маршрутизатор D-Link DIR-300.

Внимание! Я не несу никакой ответственности за ваше оборудование, испорченное в процессе прошивки. Полный откат к заводской прошивке будет невозможен. После установки прошивки dd-wrt вы лишаетесь гарантии производителя на свое оборудование.

  • Скачайте последнюю прошивку для DIR-300 с сайта dd-wrt.com.
  • Скачайте TFTP Server (я использовал бесплатный и миниатюрный tftpd32).
  • Скачайте telnet клиент (я использовал Putty).
  • распакуйте все архивы и перепишите все файлы в корень диска С.
  • запустите TFTP сервер и оставьте его работать в фоновом режиме до конца процедуры прошивки.
  • Подключите DIR-300 к компьютеру, вставив кабель в WAN порт. Отключите питание DIR-300 (если оно было подключено).
  • Установите адрес вашего компьютера 192.168.20.80/255.255.255.0.
  • Нажмите и удерживайте кнопку RESET вашего роутера и, не отпуская ее, подключите питание роутера. После 30 секунд с момента включения питания отпустите RESET.
  • C помощью телнет-клиента подключитесь к 192.168.20.81 на порт 9000.
  • В окне телнет-клиента должна появиться надпись RedBoot>. Если ее нет – вы где-то допустили ошибку. Начинайте все с начала.
  • Вводим текст:
    RedBoot> load ap61.ram

Ответ роутера должен быть таким:
Using default protocol (TFTP)
Entry point: 0×800410bc, address range: 0×80041000-0×800680d8

  • Вводим текст:
    RedBoot> go
  • В этот момент соединение с роутером разорвется. Это нормально. Не перегружайте роутер.
  • Смените адрес компьютера на 192.168.1.2/255.255.255.0.
  • Подключитесь телнетом к 192.168.1.1 на порт 9000 (в некоторых случая может понадобится переключить кабель с WAN порта на LAN порт).
  • Далее аккуратно (не пользуясь copy/paste !!!) вводим текст, выделенный цветом и следим за ответами роутера:

DD-WRT> fconfig -i
Initialize non-volatile configuration – continue (y/n)? y
Run script at boot: false
Use BOOTP for network configuration: true
Default server IP address:
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> fis init
About to initialize [format] FLASH image system – continue (y/n)? y
*** Initialize FLASH Image System
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x807f0000-0x80800000 at 0xbffe0000: .

DD-WRT> ip_address -h 192.168.1.2
Default server: 192.168.1.23

DD-WRT> load -r -b %{FREEMEMLO} ap61.rom
Using default protocol (TFTP)
Raw file loaded 0x80080000-0x800a8717, assumed entry at 0x80080000

DD-WRT> fis create -l 0x30000 -e 0xbfc00000 RedBoot
(после слова CREATE и знака «-» нужно вводить маленькую букву l (начальная в слове «linux =)

An image named ‘RedBoot’ exists – continue (y/n)? y
… Erase from 0xbfc00000-0xbfc30000: …
… Program from 0×80080000-0×800a8718 at 0xbfc00000: …
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×807f0000-0×80800000 at 0xbffe0000: .
DD-WRT> reset

  • На этом месте роутер перезагрузится. Процесс может занять более 30 секунд.
  • Подключитесь телнетом к 192.168.1.1 на порт 9000. Далее следует процесс заливки новой прошивки. Не отключайте сетевой кабель и кабель питания. На некоторых этапах роутер может задумываться (у меня доходило до пары минут). Это нормально. Вводим текст выделенный цветом и следим за ответом роутера:

DD-WRT> ip_address -h 192.168.1.2
IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.2
DD-WRT> fis init
About to initialize [format] FLASH image system – continue (y/n)? y
*** Initialize FLASH Image System
… Erase from 0xbfc30000-0xbffe0000: …………………………………………………..
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×80ff0000-0×81000000 at 0xbffe0000: .
DD-WRT> load -r -b 0x80041000 linux.bin
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x803cffff, assumed entry at 0×80041000
DD-WRT> fis create linux
… Erase from 0xbfc30000-0xbffbf000: …………………………………………………
… Program from 0x80041000-0x803d0000 at 0xbfc30000: …………………………………………………
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> fconfig boot_script true
boot_script: Setting to true
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> fconfig boot_script_timeout 4
boot_script_timeout: Setting to 4
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> fconfig bootp false
bootp: Setting to false
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> fconfig
Run script at boot: true
Boot script:
.. fis load -l vmlinux.bin.l7
.. exec
Enter script, terminate with empty line
>> fis load -l linux
>> exec
>> !!! здесь нужно нажать ENTER на пустой строке !!!
Boot script timeout (1000ms resolution): 4
Use BOOTP for network configuration: false
Default server IP address:
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×80ff0000-0×81000000 at 0xbffe0000: .

  • далее вводим текст и на все вопросы типа

Update RedBoot non-volatile configuration – continue (y/n)?
отвечаем «y»

DD-WRT> fconfig bootp_my_ip 192.168.1.1
DD-WRT> fconfig bootp_my_ip_mask 255.255.255.0
DD-WRT> fconfig bootp_my_gateway_ip 0.0.0.0
DD-WRT> reset

  • На этом месте роутер перезагрузится (процесс займет около минуты). Подключайтесь к веб-интерфейсу на 192.168.1.1.
    Login: root
    Password: admin

Если все прошло хорошо, то можно смело радоваться новым возможностям вашего роутера. А их будет немало. У меня процесс прошивки прошел почти идеально. Лишь пару раз я допускал опечатки, но они оказались не критическими и после повторного ввода команды роутер давал «правильный ответ».

После успешной прошивки обоих роутеров я решил измерить дальнобойность этих устройств на местности. До этого дня я крайне скептически относился к заявляемым производителями цифрам на упаковках беспроводного оборудования. Как правило, к реальной жизни они не имели никакого отношения и дальность действия WiFi в офисных условиях не превышает 20-30 метров, вместо заявленных 100. Мне же необходимо решить задачу, в которой точки будут находиться в прямой видимости. В таких условиях на «штатном» оборудовании производители обещают 250-300 метров.
На момент тестов я поставил на подоконник один из роутеров DIR-300, выставив в настройках максимальный уровень мощности (17db). В качестве устройства для «замера» сигнала был взят мой ноутбук – Lenovo Thinkpad T500. Он отличается очень качественной конструкцией WiFi антенн и мощным чипом intel 5300agn.

Во дворе, непосредственно под моими окнами (я живу на 7 этаже) сеть ловилась очень устойчиво. К сигналу от роутера dd-wrt добавился сигнал от чьей-то домашней точки доступа. Также я без проблем смог поймать свою домашнюю сеть, несмотря на то, что мой 802.11n роутер установлен в коридорном шкафу, а мощность его передатчика установлена на 50%.

Удалившись примерно на 80-100 метров я все также смог поймать сигнал от моего dir-300. Причем его уровень совершенно не изменился по сравнению с тем, что было показано во дворе (~25 метров). Отойдя еще на 50 метров и запустив утилиту поиска сетей на моем Thinkpad (к слову, сделана она на 5+), я получил вот такую картинку:
paravin.ru_2009-08-01_00002 Каких-то 5 лет назад, когда мы строили домашнюю сеть на весь наш микрорайон, ни о каком вайфае и речь не заходила. Все считали его дорогим, ненужным и т.д. Сканирование “эфира” не находило никаких точек доступа. А тут у меня буквально глаза на лоб полезли: одновременно семь беспроводных сетей (не считая двух моих)! Что и говорить, народ становится более технически продвинутым. Кстати, несмотря на то, что мой домашний D-Link DIR-655 спрятан в дебрях шкафа и мощность установлена в половину нормы, сигнал от него ловился на расстоянии порядка 150 метров от дома! Так что советую выбирать пароли посложнее, когда ставите домой мощное wifi оборудование. Вернувшись, я понизил мощность радиопередатчика на DIR-655 до минимально возможного уровня.

Ну а сигнал от DIR-300 не мог не радовать: на расстоянии 150 метров в условиях прямой видимости все ловилось без каких-либо проблем. Удалившись на максимально возможное расстояние (для прямой видимости в районе моего дома) равное 200-220 метрам я получил устойчивый линк с роутером, но уровень сигнала составлял 10-15%.

Все описанные выше измерения были проведены с использованием штатной антены D-Link DIR-300 с коэффициентом усиления 2dbi. При установке более мощных антенн дальнобойность роутера должна возрасти.

Теперь осталось настроить мост между двумя роутерами. В принципе, за “основной” (раздающий интернет) роутер можно взять вообще любую модель, прошивка dd-wrt там совершенно не обязательна. Но для повышения стабильности я перешил оба роутера. На принимающем (“клиентском”) роутере прошивка dd-wrt должна быть установлена и сконфигурирована соответствующим образом. Каких-то особых сложностей в ее настройке нет, за исключением одного нюанса: параметр wireless mode должен быть установлен в CLIENT BRIDGE. Установка параметра в просто BRIDGE скорее всего приведет к неправильной работе.
Вот вкратце порядок настройки двух dd-wrt роутеров в режим моста:

  • отключаем DHCP
  • прописываем 192.168.1.1 на первом роутере и 192.168.1.2 – на втором. маска подсети 255.255.255.0
  • настраиваем (по необходимости) соединение с интернетом на первом роутере
  • на втором роутере в качестве шлюза устанавливаем ip адрес первого (192.168.1.1)
  • отключаем firewall на втором роутере (я отключал на обоих, т.к. за безопасность у меня отвечал третий роутер, через который осуществлялся доступ в интернет)
  • на втором роутере на вкладке status заходим в раздел wireless, делаем поиск сетей, находим первый роутер и жмем “connect”
  • мост готов. теперь даже после перезагрузки по причине отключения питания роутеры восстановят беспроводной линк.

К сожалению после установки и настройки роутеров мне через некоторое время пришлось разобрать мост. Причиной тому послужил ряд проблем никоим образом не связанных с функционированием оборудования. В связи с этим я не могу привести информацию по надежности и стабильности работы D-Link DIR-300 с прошивкой dd-wrt связанных в радиомост. Но в процессе настройки устройства показали себя с лучшей стороны, проблем не возникало ни разу.

Теги записи:  Построение беспроводного моста на базе маршрутизаторов D-Link DIR-300 прошивки dd-wrt

Похожие статьи:

Жизнь, Моя жизнь, Передаем!

Об авторе

Дмитрий Паравин - IT-специалист, коммерческий директор компании "12 Праздников". Автор и владелец сайта Paravin.ru.

130 ответов на “Построение беспроводного моста на базе маршрутизаторов D-Link DIR-300 и прошивки dd-wrt.”

  1. Александр says:

    Добрый день!
    Помогите, пожалуйста, в следующей ситуации.
    В одной комнате стоит 4-х портовый ADSL-модем DLINK 2640U (с WiFi), подключенный к интернету. У этого модема заводская прошивка, менять ее нельзя, поскольку модем взят во временное пользование у провайдера. Модем помимо всего прочего используется для цифрового телевидения IPTV, поэтому его лучше оставить в этой комнате, рядом с телевизором.
    В другой комнате стоит стационарный компьютер (без wi-fi адаптера). Имеется также маршрутизатор DLINK DIR300 с прошивкой DD-WRT.
    Как подключить компьютер к интернету с помощью всего этого оборудования?

  2. Александр says:

    Дмитрий существует ли схемы антенных усилителей для D-Link Dir-300?

    • Дмитрий says:

      я не спец в радиопередатчиках. усилители скорее всего существуют. но что мешает просто антенну поменять на более мощную?

  3. Александр says:

    Собрал антену по типу (волновой канал) многоэлементная, результ работы устраивает,дальность радиопокрытия значительно возросла,но меня интерисует нестоль радиус сколь мощность так как на пути сигнала имеется железобитонное сооружение. Благодарю за ответ.

  4. Бетке Сергей Сергеевич says:

    Сразу два комментария оставлю.
    Во-первых, по крайней мере — сейчас, прошивать DD-WRT можно из crash режима без tftp и прочих сложностей Прошиваем D-Link прошивкой DD-WRT. Но Ваш алгоритм, если Вы не против, я повторю в своём блоге :-). Во-вторых, на DAP-1150/RU с помощью той же DD-WRT можно сделать клиента: D-Link DAP-1150/RU в роли клиента: строим мост поверх wi-fi без паяльника и отвёртки.

  5. Spawn says:

    Полезная инструкция, но DHCP выключать не обязательно, можно поставить на втором роутере «получать IP по DHCP»
    а Так спасибо.

  6. Роман says:

    Дмитрий. Все сделал правильно, но в телнет не высвечивается надпись RedBoot
    Сможете дать свой icq или стукните в аську 106088.
    Очень надо. Народ или еще кто если сможет помочь прошу тоже стучите в аську , буду всем рад )

    • Дмитрий says:

      аппаратную ревизию роутера проверяли? я выше уже неоднократно писал — для новых ревизий схема не подходит.

  7. Artem.Uglov says:

    Дмитрий, а где конкретно настраивается мощность/уровень сигнала на роутере(DIR-300)? Можно линком,если не сложно, в стиле Maintenance/ router / мощность сигнала
    :))

    Заранее благодарю.

    • Дмитрий says:

      я этот роутер в глаза не видел два года уже =)
      регулировка мощности была на тот момент лишь в dd-wrt прошивке.

  8. Artem.Uglov says:

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

  9. Artem.Uglov says:

    Может сейчас есть более толковые, бюджетные решения для соединения в сеть двух точек на расстоянии 300-350 метров?

    • Дмитрий says:

      zyxel keenetic могут работать мостом прямо «из коробки» без всякого шаманства. но 350 метров — приличное расстояние — скорее всего понадобятся дополнительные антенны.

  10. Бурый says:

    Добрый день. Настраивал dir (второе устройство) мостом от giga (первое с инетом). Не могу понять в чем дело — dlink не пингуется через wifi. И, судя по всему, дальше инет не раздает. Должен ли отображаться dlink в списке подключенных в giga? если подключение к giga запаролено, надо ли вводить пароль для подключения к сети в dlink`е?

  11. Бурый says:

    а вот тут как раз сложность — где его вводить? в поиске сетей dlink показывает, что моя сеть запаролена, но подключение как бы происходит.

    • Дмитрий says:

      отличный вопрос… я не вспомню =( возможно, неправильно сказал, извините.

      очень давно делал эту схему. сейчас бы не стал с длинками связываться — на кинетиках такой режим — родной.

  12. Бурый says:

    :) все равно большое спасибо вам за хороший мануал!

    • Дмитрий says:

      пожалуйста :-)
      на момент написания нигде не было единой подробной версии на русском языке. вот уперся и сделал =)

  13. Юрий says:

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

  14. Дмитрий Н. says:

    Здравствуйте!
    Можно ли здесь получить компетентный ответ, является ли антена моего роутера съемной или она не съемная.
    Пытался открутить, но боюсь сломать.
    серийный номер Wi-Fi роутера QX0M1CA045220.
    Пытался сейчас дозвониться в службу поддержки D-Link — безрезультатно (не отвечают).
    Нужна помощь!!!

    Заранее признателен за ответ знающих людей!!!

    • Дмитрий says:

      на съемной антенне отчетливо видна «нарезке» на пластике у разъема, за которую эту антенну откручивают. у несъемной антенны пластик гладкий по все длине.

  15. Дмитрий Н. says:

    спасибо. значит, чуть не сломал! ))

Оставьте отзыв