На днях приобрёл даный usb адаптер, и решил его использовать в качестве точки доступа для мобил по wi-fi. Можно было конечно приобрести "нормальную" точку, но как всегда финансовый вопрос мучает....
Описание для openSUSE 12.1, по мотивам статьи с "забугорного" форума
Подключаем адаптер в порт.
Смотрим что выдаёт
lsusb
Bus 001 Device 002: ID 0cf3:9271 Atheros Communications, Inc. AR9271 802.11n
Качаем firmware, ложим его в /lib/firmware, перезагружаем комп. Заодно читаем здесь.
Ставим пакеты dnsmasq, usb_modeswitch, wireless-tools, iw, hostapd, dhcp-server, по зависимостям, там ещё пакеты подтянутся.
И по выше приведённой ссылки начинаем править конфиги:
1) /etc/hostapd.conf
На всякий случай, копируем куда-нибудь оригинал.
Удаляем из конфига всё, и пишем следующее
interface=wlan0
driver=nl80211
hw_mode=g
channel=11 # канал, на котором будет работать точка.
ssid=test # идентификатор сети, любое название, какое душе угодно
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_passphrase=123456789 # пароль, пишем свой.
Сохраняем изменения. Далее
2) /etc/dhcpd.conf
Оригинал так же копируем.
Удаляем всё, пишем следующее:
option domain-name-servers 192.168.1.1;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none; ddns-updates off;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.200 192.168.0.229;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
}
Сохраняемся.
option domain-name-servers 192.168.1.1 вот эта строка, точнее IP, у кого то может быть другой. У меня стоит wi-fi роутер, инет по wi-fi от прова, короче надо прописывать DNS провайдера, те что в resolv.conf.
Создаём скрипт запуска, и делаем его исполняемым.
Скрипт не много исправил. Обозвал я его ap, и положил в /usr/bin
#!/bin/sh
# Script to start/stop a hostapd-based access point
#
# Symbols for needed programs
IPTABLES=/usr/sbin/iptables
IFCONFIG=/sbin/ifconfig
DHCPD=/usr/sbin/dhcpd
HOSTAPD=/usr/sbin/hostapd
# Symbols for internal and external interfaces
NET_INT=wlan0
NET_EXT=eth0
# IP address for the AP
INT_ADDR=192.168.0.1
case "$1" in
start)
echo "Starting AP mode for $NET_INT at address $INT_ADDR"
# Disable packet forwarding
echo 0 > /proc/sys/net/ipv4/ip_forward
# Stop any existing hostapd and dhcpd daemons
killproc hostapd
killproc dhcpd
#Set up forwarding
$IPTABLES -t nat -A POSTROUTING -o $NET_EXT -j MASQUERADE
$IPTABLES -A FORWARD -i $NET_EXT -o $NET_INT -m state \
--state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -i $NET_INT -o $NET_EXT -j ACCEPT
# Enable packet forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# Get the internal interface in the right state
$IFCONFIG $NET_INT down
$IFCONFIG $NET_INT up
$IFCONFIG $NET_INT $INT_ADDR
# dhcpd needs to have a leases file available - create it if needed
if [ ! -f /var/lib/dhcp/db/dhcpd.leases ]; then
touch /var/lib/dhcp/db/dhcpd.leases
fi
# Bring up the DHCP server
$DHCPD -cf /etc/dhcpd.conf $NET_INT
# Bring up hostapd
$HOSTAPD -B /etc/hostapd.conf
;;
stop)
echo "Stopping AP mode on $NET_INT"
# Stop hostapd and dhcpd daemons
killproc hostapd
killproc dhcpd
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
NET_EXT=eth0 - пишем интерфейс который смотрит в интернет.
Запускаем от root
ap start
Останавливаем
ap stop
Подключаем по wi-fi мобилы и радуемся расшаренному интернету
Вроде всё написал, замечания и предложения приветствуются.