Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Как я собрал программную точку доступа Ubuntu Serv 10.10 с TL-WN821 + помогите  (Прочитано 4090 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Helek

  • Автор темы
  • Участник
  • *
  • Сообщений: 116
    • Просмотр профиля
Всем привет. Хочу поделиться своим опытом создания программной точки доступа на базе Ubuntu Server 10.10 и TP-LINK TL-WN821N v.2.
И задать вопросы почему кое что не работает, вопросы внизу.
Вообще это первый мой опыт работы на серверной OS, до этого я пользовался только как юзер Ubuntu Desktop, да и вообще с никсами мало сталкивался.
Зачем мне это надо было: дома интернет от провайдера, стоит роутер dir-300 но скорость очень сильно режет, а интернет на 4 бука и один медиацентр. И собрав из того что было в ящиках распихано ещё один комп я решил сделать аля сервер-шлюз-программную точку доступа wi-fi.

Выбор пал на Ubuntu Server 10.10 потому что там при обновление стоит ядро 2.6.35.9 а оно поддерживает TP-LINK TL-WN821N v.2. но с драйверами ar9170usb. Они не поддерживают режим точки доступа (AP) на данном устройстве. Режим ТД поддерживает драйвер carl9170, но его надо устанавливать...

Надо установить:
sudo apt-get install wireless-toolsНадо скачать:
wget http://www.kernel.org/pub/linux/kernel/people/chr/carl9170/fw/1.9.2/carl9170-1.fw
sudo cp carl9170-1.fw /lib/firmware/
Дальше качаем compat-wireless.
wget http://www.orbit-lab.org/kernel/compat-wireless-2.6/2011/03/compat-wireless-2011-03-29.tar.bz2

Разархивируем
tar -xjvf compat-wireless-2011-03-29.tar.bz2
переходим
cd compat-wireless-2011-03-29собираем (для сборки потребуется gcc sudo apt-get install gcc):
./scripts/driver-select carl9170
sudo make
sudo make install

На этом моменте я лёг спать, так как у меня "сервер" это селерон 2Ггц на 478 сокете.

Утро, включаю комп, и смотрю
ls -l /sys/class/net/wlanХ/device/driverА он мне пишет
lrwxrwxrwx 1 root root 0 2011-03-29 00:32 /sys/class/net/wlan0/device/driver -> ../../../../../../bus/usb/drivers/ar9170usbВот я расстроился...
Но стал читать в интернете дальше и нашёл, вносим ar9170usb в блэклист
sudo nano /etc/modprobe.d/blacklist.confдобавляем blacklist ar9170usbРебут.
Повторяем
ls -l /sys/class/net/wlanX/device/driverИ видим что у нас заработал carl9170
Ура!
Теперь наш свисток может быть ТД.
Проверяем:
iwconfig wlan0 mode Masterэтим я был послан на RTFM

для проверки я поставил iw (что такое не знаю, но написано надо)

sudo apt-get install iw
Далее:
sudo iw dev wlan0 del
sudo iw phy phy0 interface add wlan0 type __ap

И
iwconfig
У свистка стоял режим Master!!!

Закрепляем:
sudo nano /etc/network/interfaces
вносим
# WIFI
iface wlan0 inet manual
pre-up iw dev wlan0 del
pre-up iw phy phy0 interface add wlan0 type __ap

Материалы собраны с разных сайтов:
(http://www.linux.org.ru/forum/linux-hardware/5340797
http://habrahabr.ru/blogs/sysadm/116297/
https://help.ubuntu.ru/wiki/wifi_ap)


Пока я тестирую свой "сервер" он стоит у меня за роутером и пока получает ip по dhcp.

sudo nano /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
 
# WAN
auto eth0
iface eth0 inet dhcp

# WIFI
iface wlan0 inet manual
pre-up iw dev wlan0 del
pre-up iw phy phy0 interface add wlan0 type __ap
 

Ставим
 
sudo apt-get install dnsmasq bridge-utils
Копируем файл настроек dnsmasq

cp /etc/dnsmasq.conf ~/configs/default
sudo rm -f /etc/dnsmasq.conf
sudo nano /etc/dnsmasq.conf

Добавляйте следующие строки:

#global
listen-address=192.168.10.1 #ip на котором будет работать dnsmasq.
cache-size=300 #количество запоминаемых имён (по умолчанию 150)
 
#dhcp
dhcp-range=192.168.10.10,192.168.10.30,24h #задаёт диапазон выдаваемых ip. Обратите внимание на то,
 что в этот диапозон не должны входить статические ip (dhcp-host).
 
#static
dhcp-host=00:1F:D0:22:82:ED,192.168.10.5 #привязывает ip по MAC (hwaddr) или имени компьютера (тут указан не мой MAC).

sudo /etc/init.d/dnsmasq restart
Всё, dhcp работает.

Нам надо настроить мост между eth1 и теперь рабочей wlan0 для этого поставили bridge-utils.

Возвращаемся к
sudo nano /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
 
# WAN
auto eth0
iface eth0 inet dhcp

auto wlan0 br0

# WIFI
iface wlan0 inet manual
pre-up iw dev wlan0 del
pre-up iw phy phy0 interface add wlan0 type __ap


# BR
iface br0 inet static
address 192.168.10.1
network 192.168.10.0
netmask 255.255.255.0
broadcast 192.168.10.255
bridge_ports eth1 wlan0

Это можно и нужно было сделать бы и раньше, но что то я стормозил.  И это окончательный вариант /etc/network/interfaces

Далее:
sudo /etc/init.d/networking restart
Смотрим ifconfig и brctl showМост должен работать.

Навеяно и вычитано тут (http://dobroservers.ru/ubuntu-router и https://help.ubuntu.ru/wiki/wifi_ap)

Далее про hostapd.

sudo apt-get install hostapdВо всех статьях было написано что конфиг  лежит тут: /etc/hostapd/hostapd.conf
Это то ли к Ubuntu Server 10.10 то ли к hostapd-0.6 не применимо , у меня там его не было.

Нашёлся в /usr/share/doc/hostapd/examples/hostapd.conf.gz

далее cp /usr/share/doc/hostapd/examples/hostapd.conf.gz  /home/user/
gzip -d /home/user/hostapd.conf.gz
sudo cp /home/user/hostapd.conf /etc/hostapd/
sudo nano /etc/hostapd/hostapd.conf

Далее ищем, раскомментируем, приписываем, лишнее не трогал:

interface=wlan0
bridge=br0
driver=nl80211
country_code=RU
hw_mode=g
channel=11
ssid=ubuntu
wpa=3
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP

Автозапуск hostapd
sudo nano/etc/default/hostapdДобавляем
RUN_DAEMON="yes"
DAEMON_CONF="/etc/hostapd/hostapd.conf"

Запускаем с логом
hostapd -dd /etc/hostapd.confесли стартанул и всё побежало значит хорошо, а я поначалу свои ошибки выискивал ввиде лишних пробелов... в hostapd.conf


Iptables

Не запаривался, поставил arno-iptables-firewall

sudo apt-get install arno-iptables-firewall
При установке задаёт вопросы, всё интуитивно понятно.

Вот и всё.

Послесловие. Когда установил Ubuntu Server 10.10 она не понимала русский, решение
sudo apt-get install console-cyrillicдальше поставил удобный редактор
sudo apt-get install nanoи самое главное, интернет браузер!!!
sudo apt-get install links2
что бы его запустить пишем links2
что бы вызвать его меню жмём Esc.

Радость была не долгой, сеть видна, но буки подцепиться не могут, подцепляются на долю секунды и отваливаются. В чём проблема? Перед тем как вписал в rc.local и после того как вписал всё я ни какие правила iptables не сбрасывал. Надо?

PS Товарищи гуру, скажите ещё как например вот сижу я в первой консоли, у меня открыт nano как в нём выделить текст? Типа как в форточках Ctrl+ стрелочки в право, влево? скопировать и во второй консоли в пустой nano файл вставить?
а то задолбался всё в ручную набирать.

« Последнее редактирование: 06 Июля 2011, 10:44:47 от Helek »

Оффлайн drako

  • Старожил
  • *
  • Сообщений: 1422
    • Просмотр профиля
для проверки я поставил iw (что такое не знаю, но написано надо)
Это утилита, которая должна заменить iwconfig, синтаксис тут.
И я не оч понял, зачем нужно было compat-wireless собирать, а не поставить из репов.

Оффлайн Helek

  • Автор темы
  • Участник
  • *
  • Сообщений: 116
    • Просмотр профиля
Из-за carl9170
Только он работает с этим свистком как AP.
PS of я всё кстати допишу про iptables и hostapd, а потом всех обрадую, у меня инета нет на медиацентре, но он цепляется по dhcp намертво, а буки не могут подцепиться к точке доступа, но видят её.
И там буду уже просить помощи и править всё написанное.
« Последнее редактирование: 31 Марта 2011, 12:29:56 от Helek »

Оффлайн drako

  • Старожил
  • *
  • Сообщений: 1422
    • Просмотр профиля
Из-за carl9170
Только он работает с этим свистком как AP.
Что-то мне сомнительно что compat-wireless из репов не увидит carl9170.

Оффлайн Helek

  • Автор темы
  • Участник
  • *
  • Сообщений: 116
    • Просмотр профиля
Хз, не знаю. Я ставил всё как в тех ссылках написано, что бы не сидеть тут с этими вопросами и не ждать ответов, гугл же рулит.:)

Пользователь решил продолжить мысль 31 Марта 2011, 16:47:41:
Ну помогите кто нибудь...

Пользователь решил продолжить мысль 31 Марта 2011, 21:52:13:
Из-за carl9170
Только он работает с этим свистком как AP.
Что-то мне сомнительно что compat-wireless из репов не увидит carl9170.

#! /bin/sh
#
#######################
# Настройка интерфейсов
#######################
 
# Internet (Поменяйте на ваш интернет-интерфейс)
Inet_Interface="eth0"
 
# Lan (поменяйте на ваш интерфейс сетевого моста)
Lan_Interface="br0"
 
# Lo (локальный интефейс - петля)
Lo_Interface="lo"
 
# Описываем путь до iptables
IPT="/sbin/iptables"
 
# Очищаем текущие правила (если вдруг есть какие-то правила)
 
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F
 
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X
 
# Задаем политики по умолчанию
 
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
 

echo "1" > /proc/sys/net/ipv4/ip_forward
 
echo "Firewall started"
 
exit 0

Вот этот скрипт будет всех и вся пускать?
« Последнее редактирование: 31 Марта 2011, 21:52:13 от Helek »

Оффлайн zeo

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Вот этот скрипт будет всех и вся пускать?
Да.

Спасибо за инструкцию все отлично работает.
Правда с ноутбука, когда коннектюсь скорость низкая (2 МБ/с), но там Windows 7 амд64, а вот тот же ноут с Убунтой все норм (10-12 МБ) - для сетей n максимум наверное.

Оффлайн Helek

  • Автор темы
  • Участник
  • *
  • Сообщений: 116
    • Просмотр профиля
Рад что было полезно и хоть у кого то заработало.:)))

 

Страница сгенерирована за 0.043 секунд. Запросов: 26.