В конфигурации по умолчанию OpenWrt создает мост между беспроводной и локальной сетями устройства. Большинство беспроводных драйверов не поддерживают коммутацию в режиме клиента (см. Bridged Client Mode Issues), поэтому трафик между локальной сетью и беспроводным клиентом обязательно должен быть маршрутизирован.
Если у вас нет доступа администратора (например, возможности настройки записей статических маршрутов) к целевой Точке Доступа (AP), в этом случае локальная сеть клиентской подсети (Client Subnet) должна быть замаскирована, чтобы обеспечить правильную маршрутизацию.
Когда конфигурация целевой Точки Доступа будет возможна, нужно сначала настроить конфигурацию маскировки, приведенную ниже, а затем, чтобы полностью закончить настройку маршрутизированного клиента, выполнить шаги по маршрутизации из раздела Использование маршрутизации.
Ниже описан процесс включения радио интерфейса в режиме клиента и повторное использование существующих правил брандмауэра интерфейса WAN и его NAT для подключения к целевой сети (AP Subnet).
Предполагается, что изменения будут вноситься в конфигурационные файлы OpenWRT, настроенные по умолчанию, такие как:
Перед тем как вносить какую-либо фактическую конфигурацию, интерфейс Wi-Fi должен быть включен и переведен в режим станции (Station) для того, чтобы иметь возможность сканировать сети в окрестности:
uci del wireless.@wifi-device[0].disabled uci del wireless.@wifi-iface[0].network uci set wireless.@wifi-iface[0].mode=sta uci commit wireless wifi
Теперь можно выполнить команду iwlist scan для получения списка сетей в радиусе действия (информация, необходимая для последующей настройки выделена):
root@OpenWrt:~# iwlist scan
wlan0 Scan completed :
Cell 01 - Address: 00:1D:19:0E:03:8F
ESSID:“Vodafone-0E0301”
Mode:Managed
Channel:9
Quality:3/5 Signal level:-69 dBm Noise level:-92 dBm
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : PSK
Preauthentication Supported
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : PSK
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s |
Если после команды сканирования вы увидели сообщение типа Device or resource busy , то это означает что экземпляр процесса wpa_supplicant блокирует интерфейс. В этом случае необходимо убить запущенный процесс и повторить сканирование: killall -9 wpa_supplicant iwlist scan |
Редактируем /etc/config/network
и изменяем интерфейс WAN путем редактирования существующей опции ifname
:
config 'interface' 'wan'
option 'proto' 'dhcp' |
Обратите внимание, что сетевой раздел wan
не должен содержать опцию ifname
.
Предположим, что мы хотим подключиться к сети под названием “Vodafone-0E0301”, и предыдущий результат сканирования выявил следующую информацию:
Vodafone-0E0301
9
В конфигурационном файле /etc/config/wireless
, найдите существующий раздел wifi-iface
и измените в нем опцию network
, чтобы она указывала на wan
. Укажите опции mode
значение sta
(Station) и измените SSID и параметры шифрования так, чтобы они соответствовали целевой сети. Канал не имеет особого значения.
config 'wifi-device' 'wlan0'
option 'type' 'broadcom'
option 'channel' '9'
config 'wifi-iface'
option 'device' 'wlan0'
option 'network' 'wan'
option 'mode' 'sta'
option 'ssid' 'Vodafone-0E0301'
option 'encryption' 'psk2'
option 'key' 'secret-key' |
Перенастройте беспроводную сеть командами:
ifup wan wifi
Если целевая сеть использует адреса подсети 192.168.1.0/24, необходимо изменить IP-адрес локальной сети по умолчанию в другой подсети, например 192.168.2.1 . Вы можете определить, назначенный WAN адрес с помощью следующей команды: . /lib/functions/network.sh; network_get_ipaddr IP_WAN wan; echo $IP_WAN 192.168.1.30 |
На данном этапе, настройка клиента с маскарадом должна быть закончена. При желании вы можете присоединить WAN порт к коммутатору локальной сети, для того, чтобы иметь возможность использовать все порты локальной сети в качестве клиентов локальной сети. Обратите внимание, что следующая конфигурация работает для маршрутизаторов Atheros, где порт WAN обычно eth1, но вы всегда можете найти правильное имя порта с помощью команды Ifconfig.
vi /etc/config/network
config interface 'lan'
option ifname 'eth0 eth1'
option type 'bridge'
option proto 'static'
|
В отличие от маскарадинга, полностью маршрутизированная установка позволяет получить доступ из хостов сети точки доступа к хостам в сети клиента с помощью IP-адреса WAN клиентского маршрутизатора, выступающего в качестве шлюза для сети клиента извне.
Этот вид топологии сети не представляется возможным, потому что клиент делает преобразование сетевых адресов (NAT), и в результате адреса позади NAT не доступны извне, если не приняты дополнительные меры, такие как настройка порта переадресации.
TВ этом разделе описывается процесс изменения конфигурации брандмауэра, чтобы разрешить входящий трафик WAN и отключить маскировку в соответствующей зоне.
Конфигурации клиента с полной маршрутизацией основана на конфигурации маскарадинга и предполагает уже рабочую установку клиента. Конфигурацию маршрутизированного клиента можно продолжить, только если у вас есть возможность перенастройки удаленной точки доступа! |
В дополнение к файлам из установки замаскированного клиента, соответствуют следующие конфигурационные файлы:
Отредактируйте файл /etc/config/firewall
и найдите место определения зоны WAN. Отключите маскировку и установите политику ACCEPT для входящего трафика:
config 'zone'
option 'name' 'wan'
option 'input' 'ACCEPT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
option 'mtu_fix' '1'
option 'masq' '0' |
Затем добавьте новый раздел forwarding, разрешающий поток трафика от WAN к LAN:
config 'forwarding'
option 'src' 'wan'
option 'dest' 'lan' |
Для того, чтобы локальная подсеть LAN была достижима для клиентов в подсети точки доступа, необходимо настроить на точке доступа статический маршрут, указывающий на нашу сеть LAN. Настройка статических маршрутов на каждой точке доступа своя, поэтому при возникновении сомнений, лучше всего обратиться к руководству по эксплуатации конкретной точки доступа.
Так как статическим маршрутам нужен статический шлюз, работающий должным образом, IP-адрес WAN в режиме беспроводного клиента должен быть обязательно закреплен. Есть два возможных способа достижения этой цели:
Если используется подход с фиксированным IP, тогда секция WAN в конфигурационном файле /etc/config/network
, отвечающая за протокола DHCP, должна быть заменена на static
:
config 'interface' 'wan'
option 'proto' 'static'
option 'ipaddr' '192.168.1.30'
option 'netmask' '255.255.255.0' |
Убедитесь, что диапазон адресов не пересекается с сетью LAN. Вы должны изменить адрес локальной сети, если он находится в той же подсети, например, на 192.168.2.1 |
После фиксации адреса WAN, статический маршрут должен быть добавлен к точке доступа со следующей информацией:
Вам также может понадобиться установить политику 'ACCEPT' для перенаправляемого (forwarded) трафика для зоны локальной сети (LAN) брандмауэра точки доступа, для того, чтобы хосты в сети клиента взаимодействовали с узлами сети (кроме непосредственно самого маршрутизатора) Точки доступа. Например, (согласно схеме) для Client Host 1 для связи с LAN Host 1.
Перенастройте беспроводную сеть:
ifup wan wifi
Перезапустите фаервол:
/etc/init.d/firewall restart