Я решил раздать интернет с настольного компьютера по bluetooth другим устройствам. В моем случае интернет нужен на кпк, т.к. wi-fi точки дома у меня нет.
Итак, имеется настольный компьютер с ubuntu 7.04 и кпк FS Loox N560. Настройка до работоспособности у меня заняла минут 40, правда оставалась проблема с поднятием интерфейса при повторном соединении, поэтому еще минут 40 понадобилось понять как это исправить, поставить ifplugd и настроить его. Конфигурация универсальная, можно подключать коммуникаторы, ноутбуки и другие устройства поддерживающие сетевое подключение по bluetooth без каких либо усилий.
Устанавливаем следующие пакеты:sudo apt-get install bluez-utils dhcp3-server ifplugd
Пакет ifplugd нужен для корректного отключения сетевого интерфейса при разъединении.
В файле /etc/bluetooth/hcid.conf устанавливаем passkey, для того чтоб компьютер автоматически выдавал код для спаривания. Это не обязательно, но так удобнее:#Код может быть любым числом
passkey "0000";
Так же в этом же файле должны присутствовать строки:options {
#.............................
autoinit yes;
security auto;
pairing multi;
#.............................
}
device {
#..............................
lm accept, master;
#..............................
}
В файле /etc/default/bluetooth должны присутствовать такие строки:#Включение автоматической загрузки демона для поддержки сети и параметры его запуска
PAND_ENABLED=1
PAND_OPTIONS="--listen --role NAP --devup /etc/bluetooth/pan/dev-up"
В файле /etc/default/ifplugd должны присутствовать следующие строки:HOTPLUG_INTERFACES="bnep0"
ARGS="-f -u0 -d10 -w -I"
Обратите внимание что в ARGS должен отсутствовать параметр "-q", иначе при отключении соединения ifplugd не будет срабатывать, и сетевой интерфейс будет считаться поднятым, поэтому при следующем подключении интерфейс не поднимется.
Далее создаем директорию /etc/bluetooth/pan:mkdir /etc/bluetooth/pan
В этой директории создаем файл dev-up со следующим содержимым:#!/bin/sh
#Разрешаем форвард пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
#Пауза
sleep 2
#Перезапуск dhcp сервера
/etc/init.d/dhcp3-server restart
Данный скрипт будет автоматом запускаться при установке соединения.
Ставим на этот файл права запуска:chmod +x /etc/bluetooth/pan/dev-up
В файле /etc/network/interfaces добавляем следующее:iface bnep0 inet static
#Адрес компьютера в сети bluetooth
address 10.0.254.1
#Маска подсети
netmask 255.255.255.240
#Настройка iptables для раздачи интернета
post-up iptables -t nat -A POSTROUTING -s 10.0.254.0/24 -j MASQUERADE
post-up iptables -A FORWARD -i bnep0 -o eth0 -j ACCEPT
post-up iptables -A FORWARD -o bnep0 -i eth0 -j ACCEPT
#При отключении останавливаем dhcp сервер
pre-down /etc/init.d/dhcp3-server stop
В файле /etc/dhcp3/dhcpd.conf меняем эти строчки на наши:#Название сети
option domain-name "homenet.local";
#Адрес DNS сервера вашего подключения к Интернет
option domain-name-servers 192.168.0.1;
И туда же добавляем:subnet 10.0.254.0 netmask 255.255.255.0 {
range 10.0.254.1 10.0.254.10;
#Адрес DNS сервера вашего подключения к Интернет
option domain-name-servers 192.168.0.1;
#Название сети
option domain-name "homenet.local";
option routers 10.0.254.1;
option broadcast-address 10.0.254.255;
default-lease-time 600;
max-lease-time 7200;
}
Перезапускаем bluetooth:/etc/init.d/bluetooth restart
Спариваем устройства и подключаемся к сети и мы в интернете.
Для КПК нужно выбрать тип сети Internet.
Данную конфигурацию можно использовать для создания полноценной локальной сети, например, между ноутбуком и компьютером, понадобится только дополнительно установить samba и настроить.
суббота, 22 сентября 2007 г.
Раздача Интернета по Bluetooth между компьютером и другими устройствами в Ubuntu 7.04 c динамическим назначением IP адреса
Подписаться на:
Комментарии к сообщению (Atom)
2 комментария:
Очень полезная и интересная статья! Большое спасибо!
Интересно наладить таким образом сеть между ноутбуком и планшеткой N800, которая быстро дохнет от WiFi.
расскажите как сделать P900 + gnubox + Ubuntu
Отправить комментарий