?

Log in

No account? Create an account

Назад | Вперед

Image Hosted by ImageShack.usМетодика "оживления" беспроводного адаптера, в UBUNTU 9.04, собранного на чипсете bcm43xx такая же как и для UBUNTU 8.04-11. С подробностями изложено в предыдущей статье: Запуск ndiswrapper'a для wi-fi адаптеров серии bcm43xx в ubuntu 8.04-9.04.


Рассмотрим варианты дальнейшей настройки, компьютер под управлением ubuntu оснащен беспроводным адаптером wlan0, проводным адаптером eth0 смотрит в internet, другие компьютеры должны получить доступ в internet посредством компьютера под управлением ubuntu и также оснащены беспроводными адаптерами.


Для подключения используем постоянные адреса IP, режим режим беспроводного соединения - "Ad-Hoc".


Настроим параметры беспроводного соединения и IP, на компьютере под управлением ubuntu.


Запустим терминал с правами супервизора:


$ sudo -s


1-й способ. Простой способ подключения компьютеров беспроводной сети к интернет, подразумевающий редактирование только одного файла: /etc/network/interfaces:


# gedit /etc/network/interfaces


добавляем:


auto wlan0
iface wlan0 inet static
address 192.168.0.1
netmask 255.255.255.0
wireless_mode Ad-Hoc
wireless_channel 11
wireless_essid my_essid
wireless_key 0123456789


не забываем что key записывается в шестнадцатиричном виде и должен иметь длину в 10 или 26 символов. Верные примеры: 1029384756, ABBAACCAADDAACCAADDAABBAFF


разрешим пересылку пакетов, открываем:


# gedit /etc/sysctl.conf


раскаментим или просто добавим строку:


net.ipv4.ip_forward = 1


включаем NAT:


# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


сохраняем настройки iptables в файл:


# iptables-save > /etc/iptables.up.rules


добавляем в /etc/networks/interfaces:


pre-up iptables-restore < /etc/iptables.up.rules
up route add -net 192.168.0.0 netmask 255.255.255.0 dev wlan0
up route add -net 0.0.0.0 netmask 255.255.255.255 dev eth0


перегружаемся и проверяем.


2-й способ. Подключение компьютеров беспроводной сети к интернет с установкой програмного фаервола "firehol" на шлюзовом компьютере под управлением ubuntu.


$ sudo apt-get install firehol


добавляем настройки интерфейса wlan0 в /etc/network/interfaces:


$ sudo gedit /etc/network/interfaces


вставляем строки:


auto wlan0
iface wlan0 inet static
address 192.168.0.1
netmask 255.255.255.0
wireless_mode Ad-Hoc
wireless_channel 11
wireless_essid my_essid
wireless_key 0123456789


не забываем что "key" записывается в шестнадцатиричном виде и должен иметь длину в 10 или 26 символов.
Примеры: 1029384756, ABBAACCAADDAACCAADDAABBAFF


разрешим пересылку пакетов, открываем:


$ sudo gedit /etc/sysctl.conf


раскаментим или просто добавим строку:


net.ipv4.ip_forward = 1


Настроим firehol.


добавляем в /etc/firehol/firehol.conf:


mac 192.168.0.2 00:11:22:33:44:55
interface any world
client all accept
server all accept
router WIFI_to_INET inface wlan0 outface eth0
masquerade
server all accept
client all accept


фильтруем по mac адресу: здесь записан mac адрес беспроводного адаптера второго компьютера, получающего доступ в internet через компьютер под управлением ubuntu, MAC адрес можно узнать введя команду $ arp -a (поpingовав второй комп перед этим)


Открываем для редактирования скрипт автозапуска:


$ gedit /etc/init.d/rc.local


Добавляем в конец файла команду запуска firehol:


firehol start


Перегружаемся и проверяем. Работу firehol легко проверить введя: $ sudo firehol status .


3-й способ. Ускоряем работу internet, устанавливаем кеширующий прокси сервер SQUID, более гибко настраиваем беспроводной интерфейс.


Там где записан фикс для ndiswrapper, а именно в файле /etc/init.d/rc.local (см. NDISWrapper UBUNTU 8.04 bug-fix, для беспроводных адаптеров семейства bcm43xx), в него же пишем все команды настройки для wlan0.


Откроем для редактирования rc.local:


$ sudo gedit /etc/init.d/rc.local


и добавляем строки после фикса для ndiswrapper'a:


ifconfig wlan0 192.168.0.1 up поднимаем wlan0 c адресом 192.168.0.1 и маской по умолчанию 255.255.255.0


потому как мы используем консольные команды, то проверить очень просто - параллельно в терминале вводим $ sudo ifconfig wlan0 192.168.0.1 up и после вводим $ sudo ifconfig, в отклике будет конфигурация wlan0


iwconfig wlan0 mode ad-hoc essid my_essid задаем режим работы Ad-Hoc, назначаем имя беспроводной сети "my_essid"


iwconfig wlan0 key s:1q2w3e4r5t6y7 channel 11 ключ записан в ASCII символах


для скрипта и в терминале используются одни и те же команды, по-этому проверить достаточно просто - параллельно в терминале введя команды указанные выше, после введя $ sudo iwlist wlan0 txpower, $ sudo iwlist wlan0 key, $ sudo iwlist wlan0 channel.


Теперь вся конфигурация сохранена в /etc/init.d/rc.local и предварительно проверена.


Устанавливаем SQUID.


Для установки используем установщик пакетов synaptic, он выберет для установки требуемые связанные пакеты, стабильная версия squid для загрузки - 2.X.


установка параметров в файле squid.conf


Просто и быстро файл конфигурации создаём с помощью GADMIN-SQUID, по названию находим в установщике пакетов.


Пример: файл базовой конфигурации.


Желательно под кеш squid использовать другой жесткий диск, если есть конечно. Чтобы создать новые каталоги под кеш в консоли вводим:


$ sudo squid -z


Если squid не запускается, смотрим в чем дело:


$ sudo squid -N


На подключаемом компьютере шлюз в настройках ip не указываем, не забываем указать адрес прокси. Без особого рвения увеличиваем дисковый кеш, инáче будет тормозить, для результата отдаём побольше оперативной памяти под кеш. Проверяем список запускаемых сервисов на предмет наличия "squid".


Генератор ключей доступа для беспроводной сети :
#!/bin/bash
# использован Пример A-16
# из http://www.opennet.ru/docs/RUS/bash_scripting_guide/
# вставлен разделитель для каждых четырех символов
# для удобства чтения и последующего ввода ключа
# скрипт выводит ключи вида :
# ak2l cHhT 7OCC 31VV aa7Y CAU2 pzmG bFkv jBBf 5PFf gm8a 7RuI Safr E6g7 tmDE 0PXL

MATRIX="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
LENGTH="64"

while ((${n:=0}<$LENGTH)); do
       
PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}"
    let n+=1
done

echo

while ((${i:=0}<$LENGTH)); do
        let i+=4
        let z=$LENGTH-$i
        echo -n "${PASS:$z:4}"
        if ((i < $LENGTH)); then
            echo -n ' '
        fi
        done
    echo; echo
    
exit 0

Метки:








Разработано LiveJournal.com
Designed by Lilia Ahner