Маршрутизированный Клиент
В конфигурации по умолчанию 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
- Удаление опции disable 1 из беспроводной конфигурации
- Установка опции режима в положение станции
- Сохранение измененного файла конфигурации
- Запуск беспроводной сети с помощью команды 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 |
- ESSID – имя беспроводной сети;
- Channel – это канал, на котором работает сеть (т.е. частота);
- Строки, начинающиеся с IE:, содержат информацию о шифровании, которое поддерживается Точкой Доступа:
- IEEE 802.11i/WPA2 Version 1 указывает на WPA2;
- WPA Version 1 указывает на WPA;
- Если присутствуют оба шифрования (WPA и WPA2), то сет скорее всего настроена на смешанный режим WPA/WPA2;
- Если нет строчек с IE: после сканирования, то беспроводная сеть использует режим шифрования WEP.
Если после команды сканирования вы увидели сообщение типа Device or resource busy , то это означает что экземпляр процесса wpa_supplicant блокирует интерфейс. В этом случае необходимо убить запущенный процесс и повторить сканирование: killall -9 wpa_supplicant iwlist scan |
Шаг 1: Изменение интерфейса WAN
Редактируем /etc/config/network
и изменяем интерфейс WAN путем редактирования существующей опции ifname
:
config 'interface' 'wan'
option 'proto' 'dhcp' |
Обратите внимание, что сетевой раздел wan
не должен содержать опцию ifname
.
Шаг 2: Изменение существующей беспроводной сети
Предположим, что мы хотим подключиться к сети под названием “Vodafone-0E0301”, и предыдущий результат сканирования выявил следующую информацию:
- ESSID -
Vodafone-0E0301
- Канал -
9
- Сеть использует смешанный режим WPA/WPA2
В конфигурационном файле /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 и отключить маскировку в соответствующей зоне.
Конфигурации клиента с полной маршрутизацией основана на конфигурации маскарадинга и предполагает уже рабочую установку клиента. Конфигурацию маршрутизированного клиента можно продолжить, только если у вас есть возможность перенастройки удаленной точки доступа! |
Конфигурация
В дополнение к файлам из установки замаскированного клиента, соответствуют следующие конфигурационные файлы:
Шаг 1: Изменение конфигурации фаервола
Отредактируйте файл /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' |
Шаг 2: Настройка удаленной точки доступа
Для того, чтобы локальная подсеть LAN была достижима для клиентов в подсети точки доступа, необходимо настроить на точке доступа статический маршрут, указывающий на нашу сеть LAN. Настройка статических маршрутов на каждой точке доступа своя, поэтому при возникновении сомнений, лучше всего обратиться к руководству по эксплуатации конкретной точки доступа.
Так как статическим маршрутам нужен статический шлюз, работающий должным образом, IP-адрес WAN в режиме беспроводного клиента должен быть обязательно закреплен. Есть два возможных способа достижения этой цели:
- Использовать статическую аренду DHCP - точка доступа будет ассоциировать MAC-адрес запрашивающего беспроводного адаптера клиента с фиксированным IP-адресом в сети AP, например, 192.168.1.30;
- Использовать фиксированный IP-адрес на WAN - беспроводной адаптер в режиме клиента не будет запрашивать DHCP, а вместо этого будет использовать конфигурацию фиксированного IP.
Если используется подход с фиксированным 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, статический маршрут должен быть добавлен к точке доступа со следующей информацией:
- IP address: 192.168.2.1 (IP-адрес нашего интерфейса LAN)
- Destination LAN NET (required in DD-WRT): 192.168.2.0 (наша подсеть интерфейса LAN)
- Netmask: 255.255.255.0 (маска подсети нашего интерфейса LAN)
- Gateway: 192.168.1.30 (IP-адрес нашего интерфейса WAN)
Вам также может понадобиться установить политику 'ACCEPT' для перенаправляемого (forwarded) трафика для зоны локальной сети (LAN) брандмауэра точки доступа, для того, чтобы хосты в сети клиента взаимодействовали с узлами сети (кроме непосредственно самого маршрутизатора) Точки доступа. Например, (согласно схеме) для Client Host 1 для связи с LAN Host 1.
Применение изменений
Перенастройте беспроводную сеть:
ifup wan wifi
Перезапустите фаервол:
/etc/init.d/firewall restart