среда, 22 июля 2009 г.

Интернет на нетбук через bluetooth

Прикупив себе не так давно asus eee pc 1000h я озадачился тем, как бы обеспечить его беспроводным интернетом. Так как я весьма не богат, я решил попробовать раздать интернет со своего рабочего компа, на мой еее через bluetooth.

ОС и на компьютере и на нетбуке у меня была одинаковой - Archlinux

Внимание: Проверял все это на ОС Archlinux, но в теории должно работать и на других linux дистрибутивах с не значительными изменениями. Так же необходимо делать все шаги так, как они описаны здесь. Иначе у вас может ничего не получиться!

И так понадобиться нам обычный bluetooth usb адаптер и немного tелания. Настроить bluetooth в archlinux можно по этой статье.

Далее компьютер с которого будет раздаваться интернет будет сервер, а нетбук - клиент.

На сервере выполняем
sudo pand --listen --role NAP --master
Далее идем к клиенту.
hcitool scan
В найденных устройствах находим компьютер и запоминаем его MAC адрес.
sudo pand --connect COMP_MAC --service NAP
Вместо COMP_MAC подставляем mac адрес полученный нами до этого.
sudo ifconfig bnep0 192.168.2.2
sudo route add default gw 192.168.2.1
Все. С "клиентом" разобрались. Далее идем к серверу.
sudo ifconfig bnep0 192.168.2.1

Теперь обе машины видят друг друга. Осталось только разрешить на сервере нужный нам траффик. Для этого нам понадобятся iptables.
sudo iptables -t nat -I POSTROUTING -s 192.169.2.2 -j MASQUERADE
Осталось запустить iptables командой:
sudo /etc/rc.d/iptables start
Все. Теперь все что видит сервер, видит и клиент. Осталось сохранить iptables правила и добавить в "массив демонов" в /etc/rc.conf.
sudo /etc/rc.d/iptables save
Не забываем проверить на клиенте файл /etc/resolv.conf на предмет DNS адресов таких же, как и на сервере.

Как автоматизировать я еще не совсем придумал. Есть определенные ограничения. Как придумаю обязательно напишу.

2 комментария:

  1. Спасибо, было интересно прочесть ;). Ждём новых статей!
    ЗЫ: С первым постом, и первым комментом!

    ОтветитьУдалить
  2. Спасибо тебе анонимус! =)

    ОтветитьУдалить