Меню Рубрики

Virtual light router on linux from box

Запуск и использование OpenWrt в VirtualBox

В этой статье я расскажу о том, как запустить OpenWrt в эмуляторе и настроить его для работы в сети, а так же коснусь использования vi, клиентов ssh и scp. Главной причиной для всего этого действия я считаю возможность потрогать прошивку руками не боясь остаться без интернета, в случае возникновения проблем с роутером. Данная статья рассчитана на мало знакомых с Linux людей.
Википедия подсказывает, что OpenWrt — основанная на Linux прошивка для домашних маршрутизаторов (роутеров). На деле, это целое семейство прошивок. OpenWrt наряду с DD-Wrt и Gargoyle доступны для огромного количества роутеров на разных аппаратных платформах. Доступен репозиторий по адресу downloads.openwrt.org. Помимо основной ветки (имеющей несколько реализаций в пределах платформы), названной attitude_adjustment распространены версии backfire и kamikaze.

Установка программ

В первую очередь, установите эмулятор VirtualBox, если его у вас нет. Чтобы иметь возможность выполнять команды вне консоли окна эмулятора, понадобится SSH клиент. Например, Putty. При этом вам станет доступен буфер обмена домашней системы. Для удобного доступа к файловой системе «роутера» нужен графический SCP клиент. Например, WinSCP для Windows. Для Linux будет достаточно встроенного файлового менеджера. Например, Krusader, Dolphin, Nautilus.

Выбор прошивки

Для эмуляции нужна прошивка для платформы x86, желательно с файловой системой Ext2 или Ext4.
Хотя официальная вики советует ставить версию attitude_adjustment, с ней у меня возникли проблемы: она отказалась запускаться, сообщая о kernel panic. Так что проще остановиться на одной из двух оставшихся. Выбрав прошивку, посмотрите в вариантах для загрузки готовый .vdi файл.

Ссылка для версии backfire 10.03.1: http://downloads.openwrt.org/backfire/10.03.1/x86_generic/openwrt-x86-generic-combined-ext2.vdi.

Если интересующая вас прошивка доступна только как raw образ (img.gz, image.gz, bin) будет необходимо воспользоваться входящим в комплект VirtualBox конвертером. Под Windows для этого сохраните в папке VirtualBox (могут понадобиться права администратора) следующий текстовой файл и задайте ему расширение .bat или .cmd:

После чего распакуйте скачанный образ прошивки и перетащите его на данный скрипт. Полученный .vdi образ можно подключать к виртуальной машине.

Настройка VirtualBox




Настройка сети

После чего перейдя по Esc в коммандный режим наберите :wq и Enter для сохранения и выхода из редактора. Чтобы выйти без сохранения, наберите команду :q!. Эти настройки означают, что эмулируемый «роутер» попробует получить доступный ip адрес. Если у вас нет настоящего роутера и возможности получить более одного адреса — выберите в настройках сети VirtualBox режим «Виртуальный адаптер хоста».

Для применения новых настроек перезагрузите виртуальную машину или введите /etc/init.d/network restart.

После загрузки посмотрите адрес виртуальной машины, набрав ifconfig, в поле inet addr у eth0:

Поздравляю, OpenWrt запущена и доступна по сети. Имейте ввиду: данный адрес (192.168.1.23 в моём случае) — временный и может меняться после перезапуска эмулятора или спустя какое-то время (несколько часов). Запустите Putty и попробуйте подключиться к виртуальной машине по данному адресу. Логин для подключения – root, пароль вы задали при первой загрузке.

Доступ к файловой системе

Запустите WinSCP (или аналог) и подключитесь к виртуальной машине.

Вы увидите стандартный двухпанельный файловый менеджер. Теперь вы можете редактировать конфигурационные файлы в удобном графическом режиме. Так же возможно копировать файлы в «роутер» и обратно. Попробуйте перейти в правой части в корень (/), а затем в /etc/config/ и запустить network.

При желании внесите изменения и сохраните результат.

Установка пакетов

Имейте ввиду, архитектура вашей прошивки и устанавливаемого пакета должна совпадать.

Веб-интерфейс

В большинство версий OpenWrt изначально входит веб оболочка LuCI. LuCI расшифровывается как Lua Configuration Interface. Перейдите в браузере по сетевому адресу вашего «роутера», ведите заданный вначале пароль и сможете поэксперементировать с LuCI.

Доступен русский перевод. Для установки перейдите раздел System — Software, введите в поле Filter слово «russian» и на вкладке Available packages (russian) установите пакет luci-i18n-russian. Либо установите его при помощи opkg, как описано выше, а затем выберите язык в разделе System — System — Language and Style — Language.

Источник

Виртуальный роутер DD-WRT x86 на VirtualBox

По работе мне часто приходится работать с перепрошитыми роутерами на DD-WRT или OpenWRT. Все время как-то получалось обходиться без роутера дома, но те возможности, которые дают эти прошивки, реально классные. Вот и задумался о приобретении роутера, такого чтоб тянул все сервисы, которые мне могут понадобиться. Остановился на выборе Asus RT-N16, но, правда, дороговата эта игрушка оказалась для меня. Это при том, что реальной необходимости в роутере не было, т.к. отлично спасала сетевая Wi-Fi карточка TP-LINK WN851ND.

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

Немного о плюсах и минусах:

1. +Низкая стоимость
дополнительные расходы у меня составили 150р на покупку 2й сетевой карты,
покупка сразу двух карточек обойдется в пределах 1000р

2. +Высокая производительность.
Максимум чем мы ограничены – это характеристики самого компьютера.

3. +Нет привязки к четкому железу.
Дает свободу по настройке нашего роутера

4. Зависимость от компьютера.
Внешним фактором для этого роутера является ОС, которая не всегда работает стабильно.

5. Постоянная работа компьютера.
После установки тихого кулера это вообще не проблема.

6. Есть сложности в настройке.
Не каждый поймет и осилит, а тем более увидит в этом смысл

OpenWRT крутая прошивка, но на x86 есть проблемы с загрузчиком.
(Не работала программная перезагрузка, т.е. только полное выключение виртуальной машины и заново ее включение.
После обновления VirtualBox до 4.3.4, вообще перестала запускаться.)

Проблем с DD-WRT тоже не получилось избежать, но она была всего одна и останавливаться на ней я не буду.


Изначальная картина моих сетевых подключений

Для начала скачаем и установим VirtualBox, коль таковой
отсутствует, и архив, в котором присутствуют все необходимые программы и файлы.

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

Первую настройку проще всего сделать через другую виртуальную машину с Гостевой ОС,
подключенную к роутеру по внутренней сети.
Настройку сети вы можете видеть на скришоте.

Запустите обе машины. Откройкте браузер в гостевой системе и
зайдите по адресу http://192.168.1.1/.

Если вы увидели следующую картинку, радуйтесь!
У вас получилось!

Тут достаточно просто ввести новый логин и пароль.
Смело нажимайте Change Password и после этого выключаем обе машины (роутер и ОС).

1) Создаём новые интерфейсы.
В главном окне VirtualBox нажимаем комбинацию Ctrl+G.
Переходим Сеть->Виртуальные сети хоста. Создаем два
виртуальных адаптера и сразу в настройках ip поставим все в автомат:

2) Настраиваем сеть роутера.
Включаем все четыре сетевых адаптера.
Проверяем, чтобы везде тип адаптера был PCnet-FAST III.
Везде я разрешил неразборчивый режим.
В первом адаптере делаю сетевой мост с адаптером, в который у меня подведен интернет и
т.к. у меня идет привязка по MAC адресу, прописал точно такой же как у адаптера.

Второй адаптер делаем тип подключения Виртуальный адаптер хоста и
выбираем первый адаптер в имени.
Мак адрес для красоты я написал 000000000002
и в сетевых подключениях назвал подключение как 2) Router_02

Третий адаптер делаем по аналогии со вторым, только двойки
меняем на тройки.

Четвертый пока оставим неподключенным

А теперь договоримся:

Мы будем весь канал интернета перенаправлять на роутер и раздавать по виртуальным адаптерам.
Второй адаптер нам необходим для доступа в интернет именно этой (хостовой) машины,
а третий для раздачи сети по LAN. Иначе, если раздавать интернет, через который сидим, то
будут проблемы с маршрутизацией, как показала практика.

Заводим полностью интернет на роутер:

Отключаем в свойствах сетевого интерфейса интернета все службы, клиенты и протоколы,
кроме VirtualBox Bridged Networking Driver

Раздаем интернет по Lan:

Т.к. все четыре адаптера роутера у нас будут заняты, делаем сетевой мост средствами ОС.

Октлючаем всё в свойствах второй сетевой карты и уже потом объединяем в сетевой мост с 3) Router_03

Раздаем интернет по Wi-Fi:

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

После запуска точки доступа в сетевых подключениях
у вас появится еще один виртуальный адаптер Microsoft Virtual WiFi Miniport Adapter.
Все настройки IP ставим автоматически и добавляем в сетевой мост с четвертым адаптером роутера

Скрытый запуск роутера.
Открываем с помощью procexp.exe свойства процесса роутера и копируем параметры запуска.
Редактируем файл StartRouterVirtualBox.VBS и заменяем параметры на свои.

Можно скрипт кинуть просто в автозагрузку.
Я предпочел другой вариант – Планировщик заданий
Создал задачу с названием «1) StartRouterVirtualBox», указал выполнять с наивысшими правами.
В триггерах создал условие при входе в систему и в действиях указал путь до скрипта.

Скрытый запуск программы MyPublicWiFi.
Создаем задачу «2) MyPublicWiFi».
Меняем учетную запись на «система» (если у вас Windows 8, то «Система») (написать ручками)
Делаем наивысшие права и делаем задачу скрытой.
В действиях указываем запуск программы,
а в триггере создаем «запуск при входе любого пользователя» с задержкой в 30 сек.

Я не буду повторяться о том как настроить DD-WRT.
Настройку интернета и всей прошивки вы можете прочитать здесь и естественно гугл в помощь, а также видео, которое я записал.

Желаю всем успехов в экспериментах! До новых встреч!

Ой, у вас баннер убежал!

Редакторский дайджест

Присылаем лучшие статьи раз в месяц

Скоро на этот адрес придет письмо. Подтвердите подписку, если всё в силе.

Похожие публикации

Чем фемтосота отличается от GSM-репитера, Wi-Fi-роутера и макросоты? Кто какой аплинк использует?

Сниффер витой пары из Wi-Fi роутера

IBM разрабатывает чипсет для беспроводных сетей, который быстрее Wi-Fi в 100 раз

Средняя зарплата в IT

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Комментарии 38

Pci Passthrough и технология VT-D — это как раз аппаратный проброс реального устройства в виртуальную машину. Требуется поддержка от процессора и материнской платы. Аналог AMD — IOMMU. При этом гостевая система считает, что к ней подключено полноценное pci устройство с соответствующей же производительностью. Помимо сети так ещё часто подключают видеокарты для игр/расчётов на виртуальной машине. Временами — raid контроллеры, когда гостю требуется полное управление дисковой подсистемой.

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

Разница между SR-IOV и pci passthrough в том, что для первого метода требуется дополнительная поддержка конкретным устройством (сетевой картой, например). При втором методе пробросить можно что угодно (но тут уже зависит от жадности производителя — nvidia очень не любит проброс видеокарт и пытается заставить людей покупать карты серии quadro).

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Редактировать hosts mac os
  • Расширения для редактирования фото mac os
  • Расширение vpn для safari mac os
  • Распаковка dmg в mac os
  • Разрешено только чтение mac os sierra