Пользователь
–0,8
рейтинг
20 марта 2010 в 19:21

Администрирование → Настройка Wifi в Linux при помощи Adhoc на примере Ubuntu

Эта тема уже не раз поднималась, но хорошей и легкой инструкции я так и не нашел.
Данная статья расчитана на новичков в мире Linux поэтому тут используются наиболее легкие методы настройки.
Для начала ставим пакеты:
sudo apt-get install wireless-tools dhcp3-server
Далее создаем сеть через апплет например название «My Wifi»
И настроим интерфейс(для определения интерфейса воспользуйтесь командой iwconfig)
Пишем в консоли из под root
ifconfig wlan0 down
iwconfig wlan0 mode ad-hoc
iwconfig wlan0 channel 1
iwconfig wlan0 Bit 54Mb/s
iwconfig wlan0 essid 'My Wifi'
ifconfig wlan0 10.42.43.1 netmask 255.255.255.0 up
iwconfig wlan0
ifconfig wlan0 up
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


Разберем шаги:
  • ifconfig wlan0 down — отключаем интерфейс.
  • iwconfig wlan0 mode ad-hoc — устанавливаем режим Ad-hoc
  • iwconfig wlan0 channel 1 — ставим ad-hoc канал
  • iwconfig wlan0 Bit 54Mb/s — скорость(по стандарту 11Mb/s)
  • iwconfig wlan0 essid 'My Wifi' — название нашей созданной сети
  • ifconfig wlan0 10.42.43.1 netmask 255.255.255.0 up — IP адрес компьютера и маска подсети
  • iwconfig wlan0 — проверяем настройки
    Вот мои:
    wlan0 IEEE 802.11bg ESSID:"Bupyc"
    Mode:Ad-Hoc Frequency:2.412 GHz Cell: 8A:BF:88:4B:4E:60
    Tx-Power=11 dBm
    Retry long limit:7 RTS thr:off Fragment thr:off
    Power Management:off
    Link Quality:0 Signal level:0 Noise level:0
    Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
    Tx excessive retries:0 Invalid misc:0 Missed beacon:0

  • ifconfig wlan0 up — запускаем интерфейс
  • echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    Настраиваем раздачу интернета через NAT

Не забываем подставить свой интерфейс и IP адреса.
Данные команды можно добавить в автозагрузку, ибо эти настройки иногда сбрасываются
Настроим dhcp для раздачи ip адресов.
sudo gedit /etc/dhcp3/dhcpd.conf
Cтираем там все(если не нужно) и пишем

ddns-update-style ad-hoc;
default-lease-time 3600;
max-lease-time 9000;
authoritative;
log-facility local7;
subnet 10.42.43.0 netmask 255.255.255.0 {
interface wlan0;
range 10.42.43.2 10.42.43.255;
option domain-name-servers 195.34.32.116; # пишем либо свой dns сервер, либо dns провайдера
option routers 10.42.43.1;
option broadcast-address 10.42.43.0;
}


sudo gedit /etc/default/dhcp3-server
Там пишем интерфейс откуда идет интернет.
INTERFACES="eth0"
Перезапускаем dhcp
sudo /etc/init.d/dhcp3-server restart
Также для автоматической настройки можно прописать в файле /etc/network/interfaces все параметры.sudo gedit /etc/network/interfaces

auto wlan0
iface wlan0 inet static
address 10.42.43.1
netmask 255.255.255.0
broadcast 10.42.43.255
network 10.42.43.0
wireless-essid Bupyc
wireless-mode ad-hoc
wireless-channel 11
wireless-rate 54Mb/s

Теперь достаточно соединиться с любого устройства к данной сети и интернет будет работать.
Это первая моя статья на хабре, так что строго не судите.
Карнаухов Олег @BupycNet
карма
2,0
рейтинг –0,8
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Администрирование

Комментарии (47)

  • +2
    Нет уж! Будем судить строго.

    У меня вообще настройки ручные стоят, сейчас по вашей инструкции сделаю через dhcp.
    • +1
      Только что сделал все по инструкции, теперь подключаюсь по dhcp, никаких проблем. Одобрено минздравом :)
  • 0
    «При помощи Adhoc» — крайне интересный оборот.
  • 0
    А почему adhoc а не access point? Потому что не на всех адаптерах работает?
    • +1
      Да потому что не на всех.
  • 0
    Скажите как решаете проблему фильтрации маков?
    Почему не воспользовались dnsmasq (dhcpd + dns)?
    • +1
      Я не продвинутый пользователь и написал я самое простое решение.
  • +2
    Э, в ubuntu 9.10 достаточно тыкнуть на иконку network manager'а, там нажать новое сетевое соединение, ввести название и желаемый ключ. Всё сразу заработает =)
    • 0
      Вот-вот… Увидев пост, даже удивился, что до сих пор у кого то проблемы есть. У меня все доступные устройства стали определятся из тех, что год назад еще «из коробки» не поддерживались…
      Приведенная инструкция пригодится при настройке сервера… Но сомневаюсь, что это уровень новичка.
    • +1
      Странно… у меня в ubuntu 9.10 сеть создается, но на другом устройстве интернет не работает(в моем случае смартфон)
      Это единственная инструкция по которой у меня все работает.
      • 0
        Там надо поставить dnsmasq вроде
    • 0
      Ну это много кому пригодиться может. У меня старый ноутбук без дела лежит — перегревается в ноль, процессор ну никак нельзя загружать. Теперь на его основе с чистой совестью могу этакую точку доступа делать, без иксов вообще :)
      • 0
        Тогда этот метод тож не канает, куда лучше поднять hostapd
  • 0
    а что у вас adhocна 54х мегабитах работает? я думал что он 11 максимум…
    • 0
      Так и есть, ad-hoc работает только в 802.11b, для 802.11g нужно поднимать AP
      • 0
        вот и я так же думаю, получается 54Mb/s чистый пиар:)
        • 0
          ad-hoc (IBSS) и 54 мегабита — вещи почти ортогональные.

          IBSS может быть сформирован из станций имеющих ERP (extended rate phy) и не имеющих его. Станции входящие в IBSS сообщают какие скорости они поддерживают, на основании этих данных определяется, смешанная ли сеть или однородная. В случае смешанной сети станции с ERP применяют защитный механизм когда взаимодействуют на скоростях, недоступных остальным станциям. В случае однородной сети все скорости могут быть использованы и так. В стандарте 802.11-2007 об этом написано, например, в главе 7.3.2.

          Другое дело что скорость передачи реальных данных далеко не равна 54 мегабитам. На этой скорости передаются только блоки данных внутри кадров, заголовки кадров идут на низкой фиксированной скорости (зависит от типа модуляции), а вокруг всё обрамляется заметными паузами и пакетами подтверждения.
          • 0
            То, что 54 мегабита — не чистая скорость это понятно. Но на сколько я знаю, даже если и заработает 802.11g в ad-hoc, то скорость передачи всё равно не будет максимума 802.11b
  • +2
    На статью пока не очень тянет. Оформите получше, объясните почему вы предпринимаете те или иные шаги, добавьте пару вариантов развития сюжета, и тогда это можно будет назвать статьёй.

    PS. И еще разделите метки запятыми :)
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Дак есть такое дело — поставьте XPшку на ноут на какой-нибудь — даже надо будет драйвера где-то взять для HDD, не говоря уж о сети…
    • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    А как быть с настройкой wi-fi с роутером но при этом мне надо еше указать свой шлюз и днс-сервера?
  • 0
    Спасибо, но для меня все еще остается проблемой настройка wifi под дистрибутивами gentoo и archlinux… Не всегда получается правильно собрать ядро под нужную железку. И ведь этот процесс никак не унифицируешь.
    • 0
      Почему не унифицируешь, включаешь поддержку всех железок модулями. Какую использовать он сам разберется.
      • 0
        Честно говоря — не пробовал.
  • 0
    iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE — после перезагрузки, скорее всего, слетит… Необходимо добавить в скрипт, который будет запускаться при старте. Например в /etc/rc.local
    И интерфейс может быть и не ppp0.
    • +1
      Я об этом написал.
      Не забываем подставить свой интерфейс и IP адреса.
      Данные команды можно добавить в автозагрузку, ибо эти настройки иногда сбрасываются
      • 0
        прошу прощения — пропустил строку.
  • 0
    Ждем статью про настройку в режиме access point (для совместимых адаптеров)…
  • 0
    >Данная статья расчитана на новичков в мире Linux поэтому тут используются наиболее легкие методы настройки.

    Если судить по содержимому статьи, это немного не для новичков. Ибо новички разбегутся от слов: «Откройте терминал и напишите тратата»
  • 0
    > sudo gedit /etc/default/dhcp3-server
    > Там пишем интерфейс откуда идет интернет.
    > INTERFACES=«eth0»

    Что-то тут у вас явно не то. =)
  • 0
    через netcfg ещё легче. не знаю, есть ли он в дистрибутивах по умолчанию, но в инсталлере арча есть в доп. пакетах, можно выбрать при его при установке, а после установки просто скопировать нужный пример иp /etc/network.d/examples в /etc/network.d/ и отредактировать буквально пару строчек: esssid и пароль. а потом всё это в автозагрузку при помощи net-profiles, например :)
  • 0
    sudo echo 1 > /proc/sys/net/ipv4/ip_forward
    bash: /proc/sys/net/ipv4/ip_forward: Permission denied
    Это нормально?
    • 0
      от рута. и проверь права на запись
    • 0
      echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
      • 0
        Да, так ошибки не дает.
  • 0
    Как не мог дать Интернет на ноут с вистой через гуй, так и не могу. Инструкцию выполнил по шагам — не рабит.
  • 0
    Ad-hoc — не интересно: )
  • 0
    Не подскажите, почему у меня при попытке сделать
    $ sudo iwconfig eth1 mode ad-hoc
    вываливается
    SET failed on device eth1; Invalid argument.

    Причем, что странно, что нет у меня интерфейса wlan0, т.к. iwconfig говорит что с вайфаем связан только eth1.
  • 0
    Предыдущая проблема была связана с тем, что интерфейс был активным, нужно было его деактивировать.
    Но даже после того как сделал все шаги — интернет на iPod не появился. Не знаю в чем проблема…
    • 0
      Проверь получение IP.
      Настрой вручную в интерфейсах для wlan0 статический IP и DHCP на этот интерфейс.
      • 0
        Не знаю, попробую еще раз сегодня вечером.

        А то что wlan0 называется не wlan0, а eth1 — это ничего страшного?
  • 0
    Делал строго по инструкции на чистой убунте. Так ничего и не заводится. Подключение вроде как есть, но с коммуникатора не подключается.
  • +1
    А подскажите плиз как можно сделать подключение wifi-устройства через такую ad-hoc в подсеть основной проводной карты?
    Сейчас у меня сделано так:
    eth0 — сетевая с ip 192.168.1.254/24
    есть точка доступа (от которой хочу избавиться) с ip 192.168.1.253
    есть комп 192.168.1.2 и ещё пара компов.
    есть ноутбук 192.168.1.101 который подключается по wifi к точке доступа.

    Соответственно, если я поднимаю ad-hoc на сетевухе, то нужно настроить на ней отдельную подсеть 192.168.2.1/24 например. Но тогда когда я подключусь с ноутбука — мне не будет видно с него компов 192.168.1.2 и других.

    Подскажите как можно решить данную проблему?
    • 0
      хм… я тут дальше писал статью про AP настройку.
      У меня в общем то wifi крутится в 10.42.43.1/24
      И с него видно остальное. А вот подсеть везде одинаковая 255.255.255.0
      Все видно и работает.
  • 0
    Есть ноутбук с wi-fi адаптером, интернет на который приходит с adsl модема и есть коммуникатор, на который хочется расшарить инет. Сделал все по инструкции, сеть появилась, на коммуникаторе сканирую сети и подключаюсь к своей, но интернет на коммуникаторе не работает. Думаю что то неправильно сделал при настройке dhcp. Не могли бы вы прокомментировать строчки из файла /etc/dhcp3/dhcpd.conf.

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