Метки
amd bittorrent bug centos debian enlightenment fedora fedora 8 fedora 9 fedora 10 fedora 11 fedora 12 fedora 13 fedora 15 fedora 16 FedoraMD fglrx firefox flash player gnome google intel interview java kde kernel linux livecd migrate moldova nvidia openoffice OpenStreetMap opera Orange ovirt radeon red hat rpmfusion Sandel skype video virtualisation vmware wine
BPI-R1 — часть 2 — Fedora — настройка точки доступа WiFi
2015-03-26 18:51 | Автор: jekader | Filed under: FedoraMD
Плата BPI-R1 представляет из себя маршрутизатор, поэтому наличие на ней точки доступа wifi для меня было обязательным. Начал я с того что изучил дистрибутивы и в первую очередь ядра:
Bananian: 3.10.x с драйвером 8192cu без поддержки расширений mac80211
Pibuntu: 3.19rc5 вроде-бы с "правильным" драйвером rtl8192cu но без драйвера b53 для свитча и соответственно с неработающим Ethernet
Fedora for BPI: 3.19rc5 оба драйвера на месте. Нету звука но это мне и не требуется.
Поэтому сначала поднял точку доступа на Fedora 20. Подробности ниже.
Глава 1: техзадание
Вот какую конфигурацию я хочу получить в итоге:
1-4 порты Ethernet: внутреняя сеть
5 порт Ethernet: uplink к провайдеру, IP получает по DHCP
wlan0 - интерфейс на котором будет точка доступа
lanbr0 - сетевой мост чтобы соединить LAN и WiFi пользователей в одну подсеть. На этом интерфейсе будет стоять внутренний IP 192.168.186.168 а также будет работать внутренний DHCP сервер.
пользователи будут подключаться к wifi сети по WPA2 и выходить в интернет через 5 порт свитча.
Глава 2: настраиваем свитч
Для настройки используется драйвер b53 из OpenWRT посредством утилиты swconfig
Конфигурация хранится в сетевых скриптах (искать в /etc/sysconfig/network-scripts/...)
порты подключены следующим образом:
2-1-0-4-3
порт номер 8 подключён к процессору. Таким образом, план следующий:
порт 3 ставим во VLAN 101
порты 2 1 0 4 ставим во VLAN 102
порт 8 настраиваем на получение обоих VLAN'ов
полная конфигурация:
swconfig dev eth0 set reset 1
swconfig dev eth0 set enable_vlan 1
swconfig dev eth0 vlan 101 set ports '3 8t'
swconfig dev eth0 vlan 102 set ports '4 0 1 2 8t'
swconfig dev eth0 set apply 1
Осторожно, после применения этих конфигураций сеть может и отвалиться так как на стороне ОС мы ещё не настроили VLAN'ы
Глава 3: Fedora 20
1) первым делом нужно выжечь огнём NetworkManager (предварительно ручками создав ifcfg файлы)
[root@bananapi ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0.101
DEVICE=eth0.101
ONBOOT=yes
BOOTPROTO=dhcp
DEFROUTE=yes
NM_CONTROLLED=no
[root@bananapi ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0.102
DEVICE=eth0.102
ONBOOT=yes
BRIDGE=lanbr0
NM_CONTROLLED=no
[root@bananapi ~]# cat /etc/sysconfig/network-scripts/ifcfg-lanbr0
DEVICE=lanbr0
TYPE=Bridge
STP=off
ONBOOT=yes
BOOTPROTO=static
NM_CONTROLLED=no
IPADDR=192.168.186.168
NETMASK=255.255.255.0
когда файлы созданы (конфигурировать wlan0 не нужно), переключаем сетевые службы
# systemctl disable NetworkManager
# systemctl enable network
# systemctl stop NetworkManager && systemctl start network
2) ставим нужный софт
#yum install dhcp hostapd
3) настраиваем hostapd
# cat /etc/hostapd/hostapd.conf
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
# 802.11n related stuff
ieee80211n=1
ht_capab=[HT40+][SHORT-GI-20][SHORT-GI-40]
#WPA2 settings
wpa=3
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
# CHANGE THE PASSPHRASE
wpa_passphrase=GotAnyBananas
# Most modern wireless drivers in the kernel need driver=nl80211
driver=nl80211
# set proper interface
interface=wlan0
bridge=lanbr0
hw_mode=g
# best channels are 1 6 11 14 (scan networks first to find which slot is free)
channel=6
# this is the network name
ssid=eat_some_fruit
3) настраиваем DHCP на интерфейсе wlan0
[root@bananapi ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
subnet 192.168.186.0 netmask 255.255.255.0 {
option routers 192.168.186.168;
option subnet-mask 255.255.255.0;
option domain-search "example.com";
option domain-name-servers 8.8.8.8;
range 192.168.186.20 192.168.186.150;
}
4) включаем службы
# systemctl enable dhcpd
# systemctl enable hostapd
# systemctl start hostapd
# systemctl start dhcpd
На этом этапе должна появиться точка доступа к которой можно подключиться и даже получить IP. Интернета не будет пока не настроен NAT
5) настраиваем NAT
# iptables -t nat -I POSTROUTING -s 192.168.186.0/24 -o eth0.101 -j MASQUERADE
# service iptables save
6) удостоверяемся что включена маршрутизация в ядре
# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
если выдаёт 0 - гуглим как поменять 😉
Глава 4: Итог
У меня к сожалению работать с точкой доступа не получилось. Скорее всего нужно более новое ядро с лучшей поддержкой wifi адаптера драйвером.
В следующей части я настроил такую-же точку доступа на Bananian с ядром 3.4ю104+ и драйвером 8192cu от realtek. Пришлось пересобирать hostapd, зато работает.
Метки: bananaPI, bpi-r1, fedora, hostapd