среда, 21 мая 2008 г.
Опыт настройки USB-адаптера D-Link DWL-G122 в Ubuntu
Мой опыт настройки USB-адаптера D-Link DWL-G122 в Ubuntu 7.10 Linux, но думаю что методика применима для большинства дистрибутивов (аналогичным методом точно можно настроить в Ubuntu 7.04)
Предисловие
Будем настраивать соединение Wi-Fi USB-адаптера D-Link DWL-G122 rev.C с точкой доступа в Ubuntu 7.10 Linux
Будем пользоваться windows-драйверами через ndiswrapper. Соответственно предполагается что ndiswrapper уже установлен в системе. Для Ubuntu 7.10 это пакеты ndiswrapper-common и ndiswrapper-utils-1.9 Естественно понадобятся и windows-драйвера.
В рассматриваемом адаптере используется чипсет производства Ralink. Проблема в том, что Linux считает, что он умеет работать с данным чипсетом. Соответственно при загрузке ОС мы с большой долей вероятности в выводе команды 'ifconfig -a' увидим сетевой интерефейс 'rausb0'
Все операции должны выполняться с правами пользователя root
Естественно, я снимаю с себя всякую ответственность за результат Ваших действий в системе :-(
Тактика и стратегия
1. Найти ...
Находим модули ядра, которые нам мешают.
lsmod | grep rt7
lsmod | grep rt2
Вывод данных команд будет зависеть от версии дистрибутива Linux. В моем случае это были rt73usb, rt2x00usb и rt2x00lib
2. ... и обезвредить
modprobe -l
показывает где находятся модули ядра. В моем случае все 3 модуля (rt73usb, rt2x00usb и rt2x00lib) находились в каталоге /lib/modules/2.6.22-14-generic/ubuntu/wireless/rt2x00/
Чтобы данные модули больше не подгружались, их нужно либо удалить, либо переименовать. Я выбрал второе.
cd /lib/modules/2.6.22-14-generic/ubuntu/wireless/rt2x00/
mv rt2x00usb.ko rt2x00usb.ko.old
mv rt2x00lib.ko rt2x00lib.ko.old
mv rt73usb.ko rt73usb.ko.old
Все. После перезагрузки системы эти модули не будут загружены.
3. "Заграница" нам поможет
Сначала проинсталлируем драйвера адаптера. Для этого перейдем в каталог где они лежат и выполним команду:
ndiswrapper -i Dr71WU.inf
где Dr71WU.inf inf-файл драйвера нашего адаптера. Данная команда копирует нужные ей файлы в каталог /etc/ndiswrapper. Оттуда модуль ядра ndiswrapper и будет брать их в дальнейшем.
Теперь скажем ядру что оно должно использовать модуль ndiswrapper, для этого:
modprobe -i ndiswrapper
depmod -a
Теперь проверим что в файле /etc/modprobe.d/aliases отсутствует запись для rausb0
Далее создаем интерфейс wlan0
vi /etc/modprobe.d/ndiswrapper
с такой записью:
alias wlan0 ndiswrapper
Теперь можно перезагрузить систему и если все было правильно, то вывод команды 'ifconfig -a' покажет наличие в системе интерфейса wlan0.
Если этого не произошло, попробуйте еще раз сделать
modprobe -i ndiswrapper
depmod -a
это должно помочь.
4. "Полная тайна вкладов... то есть организации"
Дальше рассказ о том как настроить WPA-шифрование. Для этого в системе должен быть wpa_supplicant (пакет wpasupplicant в Ubuntu 7.10)
Предположения относительно точки доступа:
- SSID = testnet
- сеть "скрытая", т.е. не анонсирует своего имени
- адрес сети 00:11:22:33:44:55
- используются протоколы WPA-PSK, WPA2-PSK, TKIP, AES
- пароль PSK = 1234567890axcvf
- на точке доступа настроена динамическая раздача адресов
Двоичный пароль запрашиваем командой:
wpa_passphrase testnet 1234567890axcvf
и получаем от него нечто вроде:
network={
ssid="testnet"
#psk="1234567890axcvf"
psk=95d5e79040c1da5c70981fbc51679331b53245e923b7dc62f0621826d529abfa
}
Вариантов два.
Вариант 1
Если беспроводная сеть является постоянной, то в файле /etc/network/interfaces прописываем:
auto wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid testnet
wpa-bssid 00:11:22:33:44:55
wpa-scan-ssid 1
wpa-ap-scan 2
wpa-proto WPA RSN
wpa-pairwise TKIP CCMP
wpa-group TKIP CCMP
wpa-auth-alg OPEN
wpa-key-mgmt WPA-PSK
wpa-psk 95d5e79040c1da5c70981fbc51679331b53245e923b7dc62f0621826d529abfa
Вариант 2
Если беспроводная сеть нужна время от времени,
то ее можно инициализировать следующим способом
wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant.conf -B
Содержимое файла /etc/wpa_supplicant.conf:
ctrl_interface=/var/run/wpa_supplicant
ap_scan=2
network={
ssid="testnet"
bssid=00:11:22:33:44:55
scan_ssid=1
proto=WPA RSN
key_mgmt=WPA-PSK
auth_alg=OPEN
pairwise=TKIP CCMP
group=TKIP CCMP
psk=95d5e79040c1da5c70981fbc51679331b53245e923b7dc62f0621826d529abfa
}
IP-адрес получается динамически, говорим:
dhclient wlan0
Все.
понедельник, 19 мая 2008 г.
полезные утилиты
cairo-clock - прикольные гномовские часы
darkstat - статистика по трафику интерфейса ( после установки в конфиге подправить первую строку на yes
iptraf просмотр трафика с консоли
Сигнал об окончании загрузки сервера
apt-get install beepи правим скрипт /etc/rc.local
nano /etc/rc.localдобавляем в скрипт строку
beep -l 900 -r 3 -f 500теперь после загрузки сервака будет 3 раза пищать встроенный динамик
пятница, 16 мая 2008 г.
How-to Apache2 и vhost_alias
# apt-get install apache2После установки у нас появилась директория /var/www (здесь расположен сайт по умолчанию. Все документы в этой директории доступны через броузер по адресу http://localhost/ или IP адресу сервера.
ставим PHP5 и MySql
# apt-get install libapache2-mod-php5рестартуем apache
# apt-get install mysql-server
# apt-get install php5-mysql
# /etc/init.d/apache2 restartПроверяем работу PHP
# echo "<?php echo phpinfo() ?>" > /var/www/info.phpсмотрим броузером http://localhost/info.php и видим результат работы PHP.
если предлагается загрузить файл проверяем файлы /etc/apache2/apache2.conf или /etc/apache2/mods-enabled/php5.conf на наличие строки
AddType application/x-httpd-php .php .phtml .php3если потребовались изменения делаем рестарт апача
# /etc/init.d/apache2 restartНастраиваем Dynamic Virtual Hosting по именам сайтов (url):
разрешаем запуск модуля vhost_alias
# a2enmod vhost_aliasдля того чтобы модуль заработал правим /etc/apache2/apache2.conf
отключаем canonical name ,если нужно настраиваем логи по каждому виртуальному хосту, и указываем директорию виртуальных хостов
# берем имя сервера из Host: headerсоздаем директорию для виртуальных хостов
UseCanonicalName Off
# директории с виртуальными хостами
VirtualDocumentRoot /var/www/vhosts/%0
VirtualScriptAlias /var/www/vhosts/%0/cgi-bin
# mkdir /var/www/vhostsСоздаем темплейт виртуального хоста и копируем туда например joomla 1.5
# chown -r www-data:www-data /var/www/vhosts
# mkdir -p /var/www/vhosts/template/cgi-binРестартуем апач
# /etc/init.d/apache2 restartВсе готово для создания виртуальных хостов.
Просто копируем темплейт хоста в директорию с именем будущего сайта например для сайта www.mysite.ru
# cp -r /var/www/vhosts/template /var/www/vhosts/www.mysite.ruтеперь все HTTP запросы к серверу с Host-header www.mysite.ru будут перенаправляться на сайт в директории /var/www/vhosts/www.mysite.ru
Для того чтоб до сайта можно было добраться правим записи DNS
или правим /etc/hosts file и добавляем запись
127.0.0.1 localhost www.mysite.ru