# Wireless (WLAN/WiFi) интерфейсы в VyOS

> Настройка беспроводных WLAN/WiFi интерфейсов в VyOS: режимы Access Point и Station, WPA2/WPA3 шифрование, выбор каналов и регуляторных доменов

Source: https://opennix.org/docs/vyos/interfaces/vyos-wlan/


Беспроводные интерфейсы в VyOS позволяют создавать точки доступа (Access Point) или подключаться к существующим беспроводным сетям (Station mode).

## Обзор

VyOS поддерживает следующие режимы работы беспроводных интерфейсов:

- **Access Point (WAP)** - предоставление беспроводного доступа клиентским устройствам
- **Station (Client)** - подключение к существующей беспроводной сети
- **Monitor** - пассивный мониторинг беспроводного трафика

**Поддерживаемые стандарты**:
- IEEE 802.11a (5 GHz)
- IEEE 802.11b/g (2.4 GHz)
- IEEE 802.11n (2.4/5 GHz)
- IEEE 802.11ac (5 GHz)
- IEEE 802.11ax (2.4/5/6 GHz, WiFi 6)

**Безопасность**:
- WPA/WPA2-Personal (PSK)
- WPA3-Personal (SAE)
- WPA/WPA2-Enterprise (802.1X RADIUS)
- Management Frame Protection (IEEE 802.11w)

## Регуляторный домен

**ВАЖНО**: Перед настройкой беспроводных интерфейсов необходимо установить код страны (regulatory domain).

### Установка кода страны

```
set system wireless country-code ru
commit
```

Коды стран (ISO 3166-1 alpha-2):
- `ru` - Россия
- `us` - США
- `de` - Германия
- `gb` - Великобритания
- `fr` - Франция
- `jp` - Япония
- `cn` - Китай

Код страны определяет:
- Разрешенные частоты и каналы
- Максимальную мощность передатчика
- Требования DFS (Dynamic Frequency Selection)
- Разрешенные стандарты (802.11d)

## Access Point режим

### Базовая конфигурация

Простая точка доступа с WPA2:

```
set system wireless country-code ru
set interfaces wireless wlan0 type access-point
set interfaces wireless wlan0 address 192.168.10.1/24
set interfaces wireless wlan0 ssid 'MyNetwork'
set interfaces wireless wlan0 channel 6
set interfaces wireless wlan0 security wpa mode wpa2
set interfaces wireless wlan0 security wpa cipher CCMP
set interfaces wireless wlan0 security wpa passphrase 'SecurePassword123'
commit
```

### SSID

Установка имени сети:

```
set interfaces wireless wlan0 ssid 'Office-WiFi'
commit
```

**Параметры**:
- Максимальная длина: 32 символа
- Может содержать пробелы (используйте кавычки)
- UTF-8 кодировка поддерживается

Скрытый SSID (не транслируется в beacon):

```
set interfaces wireless wlan0 security wpa disable-ssid-broadcast
commit
```

### Выбор канала

2.4 GHz (802.11b/g/n):

```
set interfaces wireless wlan0 channel 1
commit
```

Доступные каналы 2.4 GHz:
- `1-14` (в зависимости от regulatory domain)
- Рекомендуемые неперекрывающиеся: 1, 6, 11

5 GHz (802.11a/n/ac/ax):

```
set interfaces wireless wlan0 channel 36
commit
```

Доступные каналы 5 GHz:
- `36, 40, 44, 48` - UNII-1 (indoor)
- `52, 56, 60, 64` - UNII-2 (indoor, требует DFS)
- `100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144` - UNII-2 Extended (требует DFS)
- `149, 153, 157, 161, 165` - UNII-3 (outdoor)

6 GHz (802.11ax, WiFi 6E):

```
set interfaces wireless wlan0 channel 1
commit
```

Каналы 6 GHz: `1-233`

Автоматический выбор канала (ACS):

```
set interfaces wireless wlan0 channel 0
commit
```

### Стандарт беспроводной связи

802.11b (2.4 GHz, до 11 Mbps):

```
set interfaces wireless wlan0 physical-device phy0
set interfaces wireless wlan0 mode b
commit
```

802.11g (2.4 GHz, до 54 Mbps):

```
set interfaces wireless wlan0 mode g
commit
```

802.11n (2.4/5 GHz, до 600 Mbps):

```
set interfaces wireless wlan0 mode n
commit
```

802.11ac (5 GHz, до 6.9 Gbps):

```
set interfaces wireless wlan0 mode ac
commit
```

802.11ax (2.4/5/6 GHz, WiFi 6):

```
set interfaces wireless wlan0 mode ax
commit
```

Смешанный режим (b/g):

```
set interfaces wireless wlan0 mode g
commit
```

### Ширина канала

20 MHz (по умолчанию):

```
set interfaces wireless wlan0 channel-width 20
commit
```

40 MHz (802.11n):

```
set interfaces wireless wlan0 channel-width 40
commit
```

80 MHz (802.11ac):

```
set interfaces wireless wlan0 channel-width 80
commit
```

160 MHz (802.11ac/ax):

```
set interfaces wireless wlan0 channel-width 160
commit
```

### Мощность передатчика

Снижение мощности (в dBm):

```
set interfaces wireless wlan0 reduce-transmit-power 5
commit
```

Значение указывает на сколько dBm уменьшить мощность от максимально разрешенной regulatory domain.

### Изоляция клиентов

Запрет прямого взаимодействия между беспроводными клиентами:

```
set interfaces wireless wlan0 isolate-stations
commit
```

Полезно для guest сетей и публичных WiFi.

### Maximum Stations

Ограничение количества одновременных подключений:

```
set interfaces wireless wlan0 max-stations 50
commit
```

### MAC-фильтрация

Разрешенные MAC-адреса:

```
set interfaces wireless wlan0 security station-address 00:11:22:33:44:55
set interfaces wireless wlan0 security station-address aa:bb:cc:dd:ee:ff
commit
```

Режим MAC-фильтрации:

```
set interfaces wireless wlan0 security mac-mode allow
commit
```

Режимы:
- `allow` - разрешить только указанные MAC
- `deny` - запретить указанные MAC

## Station режим (клиент)

### Подключение к WPA2 сети

Базовая конфигурация клиента:

```
set system wireless country-code ru
set interfaces wireless wlan0 type station
set interfaces wireless wlan0 address dhcp
set interfaces wireless wlan0 ssid 'ExistingNetwork'
set interfaces wireless wlan0 security wpa passphrase 'NetworkPassword'
commit
```

### Статический IP адрес

```
set interfaces wireless wlan0 type station
set interfaces wireless wlan0 address 192.168.1.100/24
set interfaces wireless wlan0 ssid 'Office-WiFi'
set interfaces wireless wlan0 security wpa passphrase 'SecurePass123'
commit
```

### Множественные адреса

```
set interfaces wireless wlan0 address 192.168.1.100/24
set interfaces wireless wlan0 address 2001:db8::100/64
commit
```

## Безопасность WPA

### WPA2-Personal (PSK)

Рекомендуемая конфигурация:

```
set interfaces wireless wlan0 security wpa mode wpa2
set interfaces wireless wlan0 security wpa cipher CCMP
set interfaces wireless wlan0 security wpa passphrase 'StrongPassword123!'
commit
```

**Параметры**:
- `mode` - версия WPA (wpa, wpa2, wpa3, both)
- `cipher` - шифрование (CCMP, TKIP, CCMP+TKIP)
- `passphrase` - пароль (8-63 символа)

### WPA3-Personal (SAE)

Наиболее безопасный вариант:

```
set interfaces wireless wlan0 security wpa mode wpa3
set interfaces wireless wlan0 security wpa cipher CCMP
set interfaces wireless wlan0 security wpa passphrase 'VeryStrongPassword123!'
commit
```

WPA3 обеспечивает:
- Защиту от offline dictionary атак
- Forward secrecy
- Более сильное шифрование

### WPA2/WPA3 Mixed Mode

Совместимость со старыми устройствами:

```
set interfaces wireless wlan0 security wpa mode both
set interfaces wireless wlan0 security wpa cipher CCMP
set interfaces wireless wlan0 security wpa passphrase 'SecurePassword123'
commit
```

### Management Frame Protection

Защита управляющих фреймов (IEEE 802.11w):

```
set interfaces wireless wlan0 security wpa mgmt-frame-protection required
commit
```

Режимы:
- `disabled` - отключено
- `optional` - опционально (по умолчанию для WPA2)
- `required` - обязательно (по умолчанию для WPA3)

### WPA2-Enterprise (802.1X)

Аутентификация через RADIUS сервер:

```
set interfaces wireless wlan0 security wpa mode wpa2
set interfaces wireless wlan0 security wpa cipher CCMP
set interfaces wireless wlan0 security wpa radius server 192.168.1.10 key 'RadiusSecret'
set interfaces wireless wlan0 security wpa radius server 192.168.1.10 port 1812
commit
```

Резервный RADIUS сервер:

```
set interfaces wireless wlan0 security wpa radius server 192.168.1.11 key 'RadiusSecret'
set interfaces wireless wlan0 security wpa radius server 192.168.1.11 port 1812
commit
```

RADIUS accounting:

```
set interfaces wireless wlan0 security wpa radius accounting-server 192.168.1.10 key 'RadiusSecret'
set interfaces wireless wlan0 security wpa radius accounting-server 192.168.1.10 port 1813
commit
```

## VLAN поддержка

### VLAN sub-interfaces

Создание VLAN интерфейсов:

```
set interfaces wireless wlan0 vif 10 address 192.168.10.1/24
set interfaces wireless wlan0 vif 10 description 'Guest WiFi'

set interfaces wireless wlan0 vif 20 address 192.168.20.1/24
set interfaces wireless wlan0 vif 20 description 'Corporate WiFi'

commit
```

### Dynamic VLAN (802.1X)

RADIUS сервер назначает VLAN на основе учетных данных:

```
set interfaces wireless wlan0 security wpa mode wpa2
set interfaces wireless wlan0 security wpa radius server 192.168.1.10 key 'RadiusSecret'
set interfaces wireless wlan0 security wpa dynamic-vlan
commit
```

RADIUS атрибуты для Dynamic VLAN:
- `Tunnel-Type = VLAN`
- `Tunnel-Medium-Type = IEEE-802`
- `Tunnel-Private-Group-Id = <VLAN-ID>`

## Множественные SSID

Создание нескольких виртуальных беспроводных интерфейсов:

```
# Primary SSID
set interfaces wireless wlan0 type access-point
set interfaces wireless wlan0 ssid 'Corporate'
set interfaces wireless wlan0 address 192.168.10.1/24
set interfaces wireless wlan0 channel 36
set interfaces wireless wlan0 security wpa mode wpa2
set interfaces wireless wlan0 security wpa passphrase 'CorpPassword'

# Guest SSID (виртуальный интерфейс)
set interfaces wireless wlan0-1 type access-point
set interfaces wireless wlan0-1 ssid 'Guest'
set interfaces wireless wlan0-1 address 192.168.20.1/24
set interfaces wireless wlan0-1 isolate-stations
set interfaces wireless wlan0-1 security wpa mode wpa2
set interfaces wireless wlan0-1 security wpa passphrase 'GuestPassword'

commit
```

## Расширенные параметры

### Beacon interval

Интервал отправки beacon фреймов (в миллисекундах):

```
set interfaces wireless wlan0 beacon-interval 100
commit
```

По умолчанию: 100 ms. Диапазон: 15-65535.

### DTIM period

Delivery Traffic Indication Message:

```
set interfaces wireless wlan0 dtim-period 2
commit
```

Определяет как часто отправлять buffered multicast/broadcast трафик спящим клиентам.

### RTS/CTS threshold

Request to Send / Clear to Send для предотвращения коллизий:

```
set interfaces wireless wlan0 rts-threshold 2347
commit
```

Значения:
- `0` - отключено
- `1-2347` - размер пакета в байтах для активации RTS/CTS

### Fragmentation threshold

Порог фрагментации пакетов:

```
set interfaces wireless wlan0 fragmentation-threshold 2346
commit
```

Пакеты больше указанного размера будут фрагментированы.

### Short preamble

Короткая преамбула (только 802.11b/g):

```
set interfaces wireless wlan0 short-preamble
commit
```

Может улучшить производительность с поддерживающими устройствами.

### WMM (WiFi Multimedia)

QoS для беспроводных сетей:

```
set interfaces wireless wlan0 wmm
commit
```

Приоритизация голоса, видео, best-effort и background трафика.

## Примеры конфигурации

### Домашняя WiFi точка доступа

```
set system wireless country-code ru

set interfaces wireless wlan0 type access-point
set interfaces wireless wlan0 address 192.168.1.1/24
set interfaces wireless wlan0 ssid 'HomeNetwork'
set interfaces wireless wlan0 channel 6
set interfaces wireless wlan0 mode n
set interfaces wireless wlan0 channel-width 40

set interfaces wireless wlan0 security wpa mode wpa2
set interfaces wireless wlan0 security wpa cipher CCMP
set interfaces wireless wlan0 security wpa passphrase 'MyHomePassword123'

commit
```

### Корпоративная точка доступа с RADIUS

```
set system wireless country-code ru

set interfaces wireless wlan0 type access-point
set interfaces wireless wlan0 address 10.0.10.1/24
set interfaces wireless wlan0 ssid 'Corp-Enterprise'
set interfaces wireless wlan0 channel 36
set interfaces wireless wlan0 mode ac
set interfaces wireless wlan0 channel-width 80

set interfaces wireless wlan0 security wpa mode wpa2
set interfaces wireless wlan0 security wpa cipher CCMP
set interfaces wireless wlan0 security wpa radius server 10.0.0.100 key 'RadiusSharedSecret'
set interfaces wireless wlan0 security wpa radius server 10.0.0.101 key 'RadiusSharedSecret'
set interfaces wireless wlan0 security wpa mgmt-frame-protection required

commit
```

### Guest WiFi с изоляцией

```
set system wireless country-code ru

set interfaces wireless wlan0 type access-point
set interfaces wireless wlan0 address 172.16.100.1/24
set interfaces wireless wlan0 ssid 'Guest-WiFi'
set interfaces wireless wlan0 channel 11
set interfaces wireless wlan0 mode n

set interfaces wireless wlan0 isolate-stations
set interfaces wireless wlan0 max-stations 100

set interfaces wireless wlan0 security wpa mode wpa2
set interfaces wireless wlan0 security wpa cipher CCMP
set interfaces wireless wlan0 security wpa passphrase 'GuestAccess2024'

commit
```

### Dual-band точка доступа

2.4 GHz:

```
set interfaces wireless wlan0 type access-point
set interfaces wireless wlan0 address 192.168.10.1/24
set interfaces wireless wlan0 ssid 'MyNetwork-2.4G'
set interfaces wireless wlan0 channel 6
set interfaces wireless wlan0 mode n
set interfaces wireless wlan0 security wpa mode wpa2
set interfaces wireless wlan0 security wpa cipher CCMP
set interfaces wireless wlan0 security wpa passphrase 'Password123'
commit
```

5 GHz:

```
set interfaces wireless wlan1 type access-point
set interfaces wireless wlan1 address 192.168.11.1/24
set interfaces wireless wlan1 ssid 'MyNetwork-5G'
set interfaces wireless wlan1 channel 36
set interfaces wireless wlan1 mode ac
set interfaces wireless wlan1 channel-width 80
set interfaces wireless wlan1 security wpa mode wpa2
set interfaces wireless wlan1 security wpa cipher CCMP
set interfaces wireless wlan1 security wpa passphrase 'Password123'
commit
```

### WiFi клиент с резервным каналом

```
set system wireless country-code ru

set interfaces wireless wlan0 type station
set interfaces wireless wlan0 address dhcp
set interfaces wireless wlan0 ssid 'MainNetwork'
set interfaces wireless wlan0 security wpa passphrase 'MainPassword'
set interfaces wireless wlan0 dhcp-options default-route-distance 10

commit
```

### Captive Portal интеграция

```
set system wireless country-code ru

set interfaces wireless wlan0 type access-point
set interfaces wireless wlan0 address 10.99.0.1/24
set interfaces wireless wlan0 ssid 'Public-WiFi'
set interfaces wireless wlan0 channel 6

# Открытая сеть (без WPA)
# Аутентификация через web-portal

set service dns forwarding listen-address 10.99.0.1

# Перенаправление на captive portal
set nat destination rule 100 inbound-interface name wlan0
set nat destination rule 100 protocol tcp
set nat destination rule 100 destination port 80
set nat destination rule 100 translation address 10.99.0.1
set nat destination rule 100 translation port 8080

commit
```

### WiFi мост для расширения сети

```
# Подключение к существующей WiFi
set interfaces wireless wlan0 type station
set interfaces wireless wlan0 ssid 'MainRouter'
set interfaces wireless wlan0 security wpa passphrase 'MainPassword'

# Создание моста с Ethernet
set interfaces bridge br0 member interface wlan0
set interfaces bridge br0 member interface eth0
set interfaces bridge br0 address dhcp

commit
```

## Операционные команды

### Просмотр состояния интерфейса

```
show interfaces wireless wlan0
```

Пример вывода:
```
wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
    link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.1/24 brd 192.168.10.255 scope global wlan0
    RX:  bytes  packets  errors  dropped  overrun  mcast
         1234567  12345   0       0        0        123
    TX:  bytes  packets  errors  dropped  carrier  collisions
         7654321  54321   0       0        0        0
```

### Информация о беспроводном интерфейсе

```
show interfaces wireless wlan0 info
```

Показывает:
- SSID
- Frequency/Channel
- Mode (AP/Station)
- Signal level (для Station mode)
- Подключенные клиенты (для AP mode)

### Список подключенных клиентов

```
show interfaces wireless wlan0 station
```

Пример вывода:
```
Station            Signal   RX Rate   TX Rate   Connected
aa:bb:cc:dd:ee:ff  -45 dBm  866 Mbps  866 Mbps  00:15:23
11:22:33:44:55:66  -52 dBm  433 Mbps  433 Mbps  01:23:45
```

### Сканирование доступных сетей

```
show interfaces wireless wlan0 scan
```

Показывает:
- SSID
- BSSID
- Channel
- Signal level
- Security (WPA/WPA2/Open)

### Физические возможности

```
show interfaces wireless wlan0 capabilities
```

Вывод:
- Поддерживаемые стандарты (802.11a/b/g/n/ac/ax)
- Поддерживаемые частоты
- Максимальная мощность
- HT/VHT capabilities

### Статистика

```
show interfaces wireless wlan0 statistics
```

### Мониторинг трафика

```
monitor interfaces wireless wlan0 traffic
```

### Сброс счетчиков

```
clear interfaces wireless wlan0 counters
```

## Устранение неполадок

### WiFi интерфейс не поднимается

Проверьте regulatory domain:

```
show system wireless country-code
```

Установите если отсутствует:

```
set system wireless country-code ru
commit
```

Проверьте состояние:

```
show interfaces wireless wlan0
```

Проверьте dmesg на ошибки драйвера:

```
show log | grep wlan0
```

### Клиенты не могут подключиться

Проверьте SSID и канал:

```
show interfaces wireless wlan0 info
```

Проверьте конфигурацию безопасности:

```
show configuration interfaces wireless wlan0 security
```

Просмотрите логи hostapd:

```
show log | grep hostapd
```

Убедитесь что канал доступен в regulatory domain:

```
show interfaces wireless wlan0 capabilities
```

### Низкая производительность

Проверьте signal level клиентов:

```
show interfaces wireless wlan0 station
```

Попробуйте другой канал (проверьте соседние сети):

```
show interfaces wireless wlan0 scan
```

Уменьшите ширину канала:

```
set interfaces wireless wlan0 channel-width 20
commit
```

Отключите WMM если есть проблемы:

```
delete interfaces wireless wlan0 wmm
commit
```

### Интерференция

Сканируйте доступные сети:

```
show interfaces wireless wlan0 scan
```

Выберите менее загруженный канал:
- 2.4 GHz: используйте 1, 6, или 11
- 5 GHz: выбирайте каналы вдали от соседних сетей

Уменьшите мощность передатчика:

```
set interfaces wireless wlan0 reduce-transmit-power 3
commit
```

### WPA3 несовместимость

Используйте mixed mode:

```
set interfaces wireless wlan0 security wpa mode both
commit
```

Или переключитесь на WPA2:

```
set interfaces wireless wlan0 security wpa mode wpa2
commit
```

### RADIUS аутентификация не работает

Проверьте доступность RADIUS сервера:

```
ping 192.168.1.10
```

Проверьте shared secret:

```
show configuration interfaces wireless wlan0 security wpa radius
```

Проверьте логи на RADIUS сервере.

Тестируйте с помощью radtest (если доступен):

```
radtest user password 192.168.1.10 0 RadiusSecret
```

### Частые отключения клиентов

Увеличьте beacon interval:

```
set interfaces wireless wlan0 beacon-interval 200
commit
```

Проверьте interference:

```
show interfaces wireless wlan0 scan
```

Отключите power saving на клиентах.

## Интеграция с другими сервисами

### DHCP сервер

```
set service dhcp-server shared-network-name WIFI subnet 192.168.10.0/24 range 0 start 192.168.10.100
set service dhcp-server shared-network-name WIFI subnet 192.168.10.0/24 range 0 stop 192.168.10.200
set service dhcp-server shared-network-name WIFI subnet 192.168.10.0/24 option default-router 192.168.10.1
set service dhcp-server shared-network-name WIFI subnet 192.168.10.0/24 option name-server 8.8.8.8

set interfaces wireless wlan0 address 192.168.10.1/24

commit
```

### DNS Forwarding

```
set service dns forwarding listen-address 192.168.10.1
set service dns forwarding allow-from 192.168.10.0/24

commit
```

### NAT (Internet доступ)

```
set nat source rule 100 outbound-interface name eth0
set nat source rule 100 source address 192.168.10.0/24
set nat source rule 100 translation address masquerade

commit
```

### Firewall

Ограничение Guest WiFi:

```
# Разрешить только Internet, запретить локальную сеть
set firewall ipv4 name GUEST-OUT default-action drop
set firewall ipv4 name GUEST-OUT rule 10 action accept
set firewall ipv4 name GUEST-OUT rule 10 state established
set firewall ipv4 name GUEST-OUT rule 10 state related

set firewall ipv4 name GUEST-OUT rule 20 action accept
set firewall ipv4 name GUEST-OUT rule 20 destination address !192.168.0.0/16

set firewall interface wlan0 out name GUEST-OUT

commit
```

### QoS для VoIP

```
set traffic-policy shaper WIFI-QOS bandwidth 100mbit
set traffic-policy shaper WIFI-QOS class 10 bandwidth 30%
set traffic-policy shaper WIFI-QOS class 10 priority 1
set traffic-policy shaper WIFI-QOS class 10 match VOIP ip dscp ef

set interfaces wireless wlan0 traffic-policy out WIFI-QOS

commit
```

### VLAN для множественных SSID

```
# Corporate SSID - VLAN 10
set interfaces wireless wlan0 type access-point
set interfaces wireless wlan0 ssid 'Corporate'
set interfaces wireless wlan0 vif 10 address 10.0.10.1/24

# Guest SSID - VLAN 20
set interfaces wireless wlan0-1 type access-point
set interfaces wireless wlan0-1 ssid 'Guest'
set interfaces wireless wlan0-1 vif 20 address 10.0.20.1/24

commit
```

## Мониторинг и диагностика

### Continuous monitoring

```
monitor interfaces wireless wlan0 traffic
```

### Capture WiFi трафика

```
monitor traffic interface wlan0
```

С фильтром:

```
monitor traffic interface wlan0 filter 'port 80 or port 443'
```

### Сбор статистики

Скрипт для мониторинга клиентов:

```bash
#!/bin/bash
while true; do
  clear
  echo "WiFi Clients - $(date)"
  echo "================================"
  /opt/vyatta/bin/vyatta-op-cmd-wrapper show interfaces wireless wlan0 station
  sleep 5
done
```

## Безопасность

### Рекомендации

1. **Используйте WPA3** если все клиенты поддерживают
2. **WPA2-Enterprise** для корпоративных сетей
3. **Изолируйте Guest WiFi** от основной сети
4. **Отключите WPS** (не поддерживается в VyOS)
5. **Скрывайте SSID** для дополнительной безопасности
6. **MAC фильтрация** как дополнительный уровень
7. **Регулярно меняйте пароли**
8. **Включите Management Frame Protection**
9. **Ограничивайте максимальное количество клиентов**
10. **Мониторьте подключенные устройства**

### Изоляция Guest сети

```
# Guest WiFi
set interfaces wireless wlan0 type access-point
set interfaces wireless wlan0 ssid 'Guest'
set interfaces wireless wlan0 address 172.16.99.1/24
set interfaces wireless wlan0 isolate-stations

# Firewall - только Internet
set firewall ipv4 name GUEST-TO-LAN default-action drop
set firewall zone guest from local firewall name GUEST-TO-LAN
set firewall zone guest interface wlan0

# NAT для Internet
set nat source rule 200 outbound-interface name eth0
set nat source rule 200 source address 172.16.99.0/24
set nat source rule 200 translation address masquerade

commit
```

## Производительность

### Оптимизация для высокой нагрузки

```
set interfaces wireless wlan0 wmm
set interfaces wireless wlan0 max-stations 100
set interfaces wireless wlan0 beacon-interval 100
set interfaces wireless wlan0 dtim-period 1

# Для 802.11ac/ax
set interfaces wireless wlan0 mode ac
set interfaces wireless wlan0 channel-width 80

commit
```

### Мониторинг производительности

```
show interfaces wireless wlan0 statistics
show interfaces wireless wlan0 station
```

## Лучшие практики

1. **Планирование каналов**
   - Используйте 1, 6, 11 для 2.4 GHz
   - Избегайте перекрытия с соседними сетями
   - 5 GHz предпочтительнее для высокой производительности

2. **Безопасность**
   - WPA2 минимум, WPA3 предпочтительно
   - Enterprise (RADIUS) для бизнеса
   - Изоляция guest сетей

3. **Производительность**
   - 5 GHz для высокой скорости
   - 80/160 MHz каналы для 802.11ac/ax
   - WMM для QoS
   - Ограничение количества клиентов

4. **Надежность**
   - Резервные RADIUS серверы
   - Мониторинг подключенных клиентов
   - Логирование событий

5. **Документация**
   - Описание всех SSID
   - Карта покрытия
   - Список MAC адресов (если используется фильтрация)

6. **Regulatory compliance**
   - Правильный country code
   - Соблюдение мощности передатчика
   - DFS для 5 GHz каналов

## Ограничения

- Производительность зависит от WiFi адаптера
- Не все адаптеры поддерживают AP mode
- WPA3 требует современное оборудование
- DFS каналы могут переключаться при обнаружении радара
- Количество одновременных SSID ограничено оборудованием
- Monitor mode может не поддерживаться всеми адаптерами

## Проверка совместимости оборудования

Список поддерживаемых адаптеров:

```
show interfaces wireless
```

Проверка возможностей:

```
show interfaces wireless wlan0 capabilities
```

Драйвера Linux с хорошей поддержкой AP mode:
- ath9k (Atheros)
- ath10k (Atheros)
- iwlwifi (Intel)
- rt2800 (Ralink)
- rtl8xxxu (Realtek)

## Следующие шаги

- [Firewall](/docs/vyos/firewall/) - защита беспроводной сети
- [DHCP Server](/docs/vyos/services/vyos-dhcp/) - автоматическая настройка клиентов
- [NAT](/docs/vyos/nat/) - предоставление доступа в Internet
- [QoS](/docs/vyos/qos/) - приоритизация трафика
- [VPN](/docs/vyos/vpn/) - безопасный удаленный доступ

