Соединение компьютеров в сеть через bluetooth
Когда у меня завелась в доме парочка Bluetooth адаптеров, мне захотелось использовать их не только для обмена данными с мобильными телефонами, но и для организации сети, чтобы перемещаясь с ноутбуком по комнате не приходилось таскать за собой ethernet-овский кабель.
Все описания PAN (Personal area networking) которые мне удалось найти в сети (например это) какие-то фрагментарные. Поэтому я решил описать свой собственный опыт. Впрочем, вряд ли у меня получится лучше.
Постановка задачи
- Стационарный компьютер, подключенный к интернету.
- Локальная сеть подключенная к данному компьютеру (т.е задачи форвардига, маскарадинга etc уже решены, и на компьютере имеется работающй dhcp-сервер)
- Некоторое количество ноутбуков (N, N <7)
- Некоторое количество (N+1) USB Bluetooth адаптеров
Настройка точки доступа
- Чтобы компьютер принимал соединения
- Чтобы после установки соединения по dhcp отдавалась необходимая конфигурационная информация
В Debian для этого достаточно прописать две строчки в /etc/default/bluez-utils
PAND_ENABLED=1 PAND_OPTIONS="--listen --role NAP"
Решение второй задачи — более сложное и менее документированое. Видимо, большинство авторов хаутушек поднимали статические адреса на обоих концах линка и на этом успокаивались. Но у меня есть жена, а у жены — ноутбук. Поэтому приходится решать задачу в общем виде — с возможностью подключения более чем одного устройства.
Для того чтобы dhcp-сервер слушал на интерфейсе, интерфейс должен существовать в момент запуска dhcpd. Более того, pand создает для каждого bluetooth-соединения отдельный интерфейс. Замучаешься описывать и передергивать dhcpd по каждому соединению. Поэтому все HOWTO рекомендуют использовать bridging. Это такая функциональность в линуксовом ядре, позволяющая объединить несколько физических интерфейсов в один. Для работы с бриджингом нам понадобится пакет bridge-utils, в состав которого входит утилита brctl.
В PAN-HOWTO рекомендуется организовать бридж-интерфейс, в который будет добавлен эзернет-интерфейс локальной сети и будут автоматически добавляться bluetooth-интерфейсы по мере возникновения.
Никогда так не делайте. Дело в том что бридж он по своей природе вроде хаба — он проталкивает все пакеты, приходящие на один из включенных в него интерфейсов во все остальные. Соответственно, производительность бриджа равна производительности самого тормозного из включенных в него интерфейсов. Поэтому включив в один бридж 100-mb ethernet и bluetooth, вы посадите производительность ethernet-а до производительнсоти блютуза — т.е. до примерно одного мегабита. (На самом деле код бриджинга, конечно, гораздо умнее, и может работать как свитч, а не как хаб. Более того, можно его настроить так, чтобы можно было втыкать и вытыкать ethernet не прерывая работы, чтобы если есть кабель, пакеты автоматически бегали по нему, а если нет то через bluetooth. Но лучше не связываться.)
- Создаем и настраиваем бридже
- Не включаем ни одного физического интерфейса в этот бридж
- Напускаем на этот бридж dhcpd.
Эти возможности кода bridging в линуксовом ядре предназначены для ситуаций, когда сети объединяются более чем одним bridge и нужно принимать меры для того чтобы пакеты не бегали по кругу. В данной простой ситуации — топология «звезда», нам это не нужно, а задержки оно добавляет.
Сетевые интерфейсы в debian описываются в файле /etc/network/interfaces, документированном в man-странице interfaces(5). На первый взгляд, ничего касающегося бриджей там не обнаруживается. Но, оказывается, синтаксис этого файла расширяем с помощью скриптов, помещаемых в /etc/network/if*.d.
Пакет bridge-utils приносит с собой и устанавливает в /etc/network/if-pre-up.d скрипт bridge, который обрабатывает команды конфигурирования bridge. Дополнительные директивы конфигурации интерфейса, обрабатываемые этим скриптом, описаны в /usr/share/doc/bridge-utils/README.Debian.gz.
Поэтому добавляем в /etc/network/interfaces фрагмент следующего содержания:
auto pan0 iface pan0 inet static bridge_ports none bridge_fd 0 bridge_stp off address 10.0.0.1 netmask 255.255.255.0 brodcast 10.0.0.255
Наиболее важной в этой конструкции является директива bridge_ports none. Скрипт bridge вступает в работу именно при наличии директивы bridge_ports с непустым списком интерфейсов. Поскольку на самом деле мы не хотим добавлять какие-либо интерфейсы в список сразу (только по мере подключения bluetooth-клиентов) то используем зарезервированное слово none.
Две другие строки, начинающиеся с bridge соответствуют вышеприведенным командам конфигурации.
Теперь когда у нас есть интерфейс, мы можем прописать в /etc/dhcpd.conf соответствующую subnet и добавить имя этого интерфейса в строчку INTERFACES в /etc/default/dhcpd.
Приведу на всякий случай фрагмент из dhcpd.conf
# Это адрес сервера в ethernet-сети server-identifier 192.168.217.1; subnet 10.0.0.0 netmask 255.255.255.0
Осталось позаботиться о том, чтобы вновь появляющиеся bnep-интерфейсы включались в этот бридж и обслуживались dhcpd. Для этого пишем скрипт /etc/bluetooth/pan/dev-up следующего содержания:
#!/bin/sh brctl addif pan0 $1 ifconfig $1 0.0.0.0
Первая команда в этом скрипте добавляе интерфейс $1 (т.е. тот, который pand передал в качестве параметра скрипту) в бридж pan0. Вторая команда — поднимает интерфейс. Устанавливать осмысленный IP там не надо, об этом позаботится уровень бриджа. Вероятно, было бы достаточно прописать туда up вместо нулевого адреса.
Настройка клиента
Настройка клиента намного проще. Поскольку сервер аннорсирует себя по протоколу sdp, то на клиенте достаточно запустить
В /etc/network/interfaces прописываем
и теперь для того, чтобы всё заработало, достаточно чтобы кто-то после установления соединения дернул ifup bnep0
Я прописал это в /etc/bluetooth/pan/dev-up, хотя, вероятно, можно было просто пропистаь в /etc/network/interfaces для этого интерфейся mapping hotplug
Остался один-единственынй вопрос — а кто будет запускать pand с рутовыми правами при втыкании bluetooth-адаптера в ноутбук. Моя паранойя не позволяет разрешить это делать hotplug-у. Мало ли где я решил воспользоваться bluetooth для работы с мобильным телефоном, и мало ли какую сеть оно там найдет. Поэтому пишем в /usr/local/bin такой скрипт
#!/bin/sh case "$1" in on) sudo pand --search ;; off) sudo pand -K ;; # Здесь будет вариант работы ноутбука сервероа *) echo "use $0 on|off" >&2 exit 1 esac
Построение локальной сети bluetooth
Все представленные на сайте советы и рекомендации основаны на моём личном опыте, все манипуляции с компьютерными комплектующими Вы производите на свой страх и риск, соответственно ответственность за полученные результаты целиком и полностью лежит на Вас. Помните: практическая реализация большинства рекомендаций лишает вас гарантии.
Как часто бывает так, что необходимо, в буквальном смысле, из подручных средств создать локальную вычислительную сеть. В качестве оных в моем практическом эксперименте принимали участие: bluetooth адаптер в «форме и виде USB — свистка», встроенный bluetooth нетбука. Имея сей небогатый конструктив попытаемся собрать из него локальную сеть bluetooth . Сперва необходимо прописать фиксированные IP адреса в настройках каждого блютуз адаптера.
Аналогично в свойствах второго адаптера прописываем 192.168.5.2 Далее требуется открыть устройство Bluetooth для обнаружения..
Открыть обнаружение устройств можно на обоих «машинах», в этом случае инициализировать поиск и сопряжение можно будет с любой из них.
на противоположном компьютере получаем табличку ограниченного временного свойства.
После сопряжения устройств присоединяемся к личной PAN сети.
В заключение хотел бы привести график замера скорости проекта локальная сеть bluetooth .
В эксперименте принимали участие устройства класса 2.1 и 3.0, при использовании стандартов следующего поколения скорость очевидно «взрастет»
За сим прощаюсь, более писать не о чем
Маслёнков Андрей
Как создать сеть bluetooth
Преимущества беспроводной сети очевидны и не нуждаются в доказательствах. Соединение по «голубому зубу» уступает по функциональности Wi-Fi соединению, но позволяет пользоваться практическими всеми возможностями локальной сети. Особенно удобно создание Bluetooth-локальной сети между компьютером и сотовым телефоном или ноутбуком.
- Адаптер Bluetooth (в варианте с ноутбуком — два адаптера), диск с драйверами и программой Bluetooth.
Отключите адаптер Bluetooth на компьютере. Корректные программы для работы с беспроводными сетями входят в сервис-пак Windows начиная со второй версии Windows XP, поэтому лучше использовать программное обеспечение, поставляемое вместе с адаптером.
Изучите экран монитора — на нижней панели инструментов должна появиться иконка Bluetooth. Цвет иконки зависит от состояния подключения. Найдите также иконку My Bluetooth Places на рабочем столе и в папке «Мой компьютер» и войдите в меню.
Перейдите на вкладку «Доступ LAN» в «Свойствах сервиса». Поднимите флажок на кнопке «Автоматически включать этот сервис при каждом запуске Bluetooth».
Выберите вкладку «Доступность» в окне «Свойства устройства» в меню «Мой Bluetooth». Поднимите флажки на кнопке «Доступен для подключения» в блоке «Режим связи», на строке «Доступен для обнаружения» в разделе «Режим поиска» и на пункте «Принимает соединения» в подразделе «Режим сопряжения».
Удостоверьтесь в том, что включены (подняты флажки) службы PIM Item Transfer/PIM Synchronization, File Transfer, Dial-Up Networking, Bluetooth Serial Port, Fax и Audio Gateway/Headset (при работе с мобильным телефоном или КПК). Обязательно включите функцию Allow other devices to access thr Internet/LAN via this computer.
Произведите поиск подключенных устройств и откройте сервисное меню двойным кликом мыши на иконку спаренного компьютера.
Введите в поле «Код доступа» произвольное значение. Повторите это же значение при запросе подключенного компьютера.
Программное обеспечение Bluetooth адаптеров, производимых различными компаниями, практически идентично и поддерживается большинством из них.
Поддержка технологии Bluetooth ограничена расстоянием от 10 до 100 м в зависимости от конкретной модели адаптера.
- Как настроить соединение wifi между компьютерами
- Как настроить Wi-fi-сеть между ноутбуками
- Как сделать сет
- Как подключить адаптер bluetooth
- Как подключить беспроводную связь
- Как организовать беспроводной доступ
- Как к ноутбуку подключить колонку через bluetooth
- Как настроить беспроводное сетевое соединение
- Как настроить беспроводную домашнюю сеть
- Как играть без инета по сети
- Как построить беспроводную сеть
- Как войти в беспроводную сеть
- Как настроить беспроводный мост
- Как по Wi-Fi подключить 2 ноутбука