# WWAN (Wireless WAN)

> Полное руководство по настройке интерфейсов WWAN (беспроводные модемы) в VyOS для сотовых сетей 2G/3G/4G/LTE/5G с примерами для российских операторов

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


## WWAN (Wireless Wide-Area-Network) Interfaces

## Обзор

WWAN интерфейсы в VyOS обеспечивают подключение к сети через беспроводные сотовые модемы. Эта технология позволяет использовать мобильные сети операторов связи (2G/3G/4G/LTE/5G) для доступа к интернету и построения отказоустойчивых решений.

## Основные возможности

- Поддержка сотовых модемов 2G/3G/4G/LTE/5G
- Интеграция с мобильными сетями российских и международных операторов
- Автоматическое получение IP-адресов через DHCP
- IPv4 и IPv6 поддержка
- Интеграция с VRF (Virtual Routing and Forwarding)
- Мониторинг уровня сигнала и качества соединения
- Поддержка обновления прошивки модемов
- Использование в качестве резервного канала (failover)

## Поддерживаемое оборудование

VyOS поддерживает широкий спектр сотовых модемов, подключаемых через интерфейсы miniPCIe, M.2, USB:

### Sierra Wireless AirPrime Series

- **MC7304** - LTE Cat 3 (до 100 Мбит/с)
- **MC7430** - LTE Cat 6 (до 300 Мбит/с)
- **MC7455** - LTE Cat 6 (до 300 Мбит/с)
- **MC7710** - LTE Cat 3 (до 100 Мбит/с)
- **EM7455** - LTE Cat 6 (до 300 Мбит/с)

### Huawei Modems

- **ME909u-521** - LTE Cat 4 (до 150 Мбит/с)
- **ME909s-120** - LTE Cat 4 (до 150 Мбит/с)
- **ME906s** - LTE Cat 4 (до 150 Мбит/с)

### HP/Intel Modems

- **HP LT4120** - Snapdragon X5 LTE (до 150 Мбит/с)
- **Intel XMM 7160** - LTE Cat 4

### Quectel Modems

- **EC25** - LTE Cat 4 (до 150 Мбит/с)
- **EP06** - LTE Cat 6 (до 300 Мбит/с)
- **RM500Q** - 5G (до 2.5 Гбит/с)

### USB Модемы

- Huawei E3372
- ZTE MF823
- Yota LTE модемы

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

### Настройка APN

APN (Access Point Name) - это имя точки доступа оператора связи, необходимое для подключения к интернету.

```bash
set interfaces wwan wwan0 apn 'internet.mts.ru'
```

### Получение IP-адреса через DHCP

```bash
set interfaces wwan wwan0 address dhcp
```

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

Некоторые операторы предоставляют статические IP-адреса:

```bash
set interfaces wwan wwan0 address '10.123.45.67/32'
```

### Описание интерфейса

```bash
set interfaces wwan wwan0 description 'MTS LTE Backup Connection'
```

### MTU

Настройка Maximum Transmission Unit:

```bash
set interfaces wwan wwan0 mtu 1430
```

## Конфигурация для российских операторов

### МТС (MTS)

```bash
set interfaces wwan wwan0 apn 'internet.mts.ru'
set interfaces wwan wwan0 address dhcp
set interfaces wwan wwan0 description 'MTS LTE Connection'
```

Альтернативные APN для МТС:
- `internet.mts.ru` - стандартный интернет
- `internet.mts` - альтернативный вариант
- `mts` - упрощенный вариант

### Билайн (Beeline)

```bash
set interfaces wwan wwan0 apn 'internet.beeline.ru'
set interfaces wwan wwan0 address dhcp
set interfaces wwan wwan0 description 'Beeline LTE Connection'
```

Альтернативные APN для Билайн:
- `internet.beeline.ru` - стандартный интернет
- `beeline` - упрощенный вариант

### МегаФон (MegaFon)

```bash
set interfaces wwan wwan0 apn 'internet'
set interfaces wwan wwan0 address dhcp
set interfaces wwan wwan0 description 'MegaFon LTE Connection'
```

Альтернативные APN для МегаФон:
- `internet` - стандартный интернет
- `internet.mc` - для модемов

### Теле2 (Tele2)

```bash
set interfaces wwan wwan0 apn 'internet.tele2.ru'
set interfaces wwan wwan0 address dhcp
set interfaces wwan wwan0 description 'Tele2 LTE Connection'
```

Альтернативные APN для Теле2:
- `internet.tele2.ru` - стандартный интернет
- `internet.tele2` - альтернативный вариант

### Yota

```bash
set interfaces wwan wwan0 apn 'internet.yota'
set interfaces wwan wwan0 address dhcp
set interfaces wwan wwan0 description 'Yota LTE Connection'
```

## IPv6 конфигурация

### DHCPv6

```bash
set interfaces wwan wwan0 address dhcpv6
```

### DHCPv6 Prefix Delegation

Получение IPv6 префикса для делегирования в локальные сети:

```bash
set interfaces wwan wwan0 dhcpv6-options prefix-delegation interface eth1 sla-id 0
set interfaces wwan wwan0 dhcpv6-options prefix-delegation length 56
```

## Интеграция с VRF

Назначение WWAN интерфейса в определенный VRF:

```bash
set interfaces wwan wwan0 vrf RED
set interfaces wwan wwan0 apn 'internet.mts.ru'
set interfaces wwan wwan0 address dhcp
```

## Настройка резервного канала (Failover)

### Использование WWAN как резервного соединения

Конфигурация с основным проводным и резервным WWAN соединением:

```bash
# Основной интерфейс (Ethernet)
set interfaces ethernet eth0 address dhcp
set interfaces ethernet eth0 description 'Primary ISP'

# Резервный интерфейс (WWAN)
set interfaces wwan wwan0 apn 'internet.mts.ru'
set interfaces wwan wwan0 address dhcp
set interfaces wwan wwan0 description 'Backup LTE Connection'

# Маршрутизация с использованием metric
set protocols static route 0.0.0.0/0 next-hop <primary-gateway> distance 10
set protocols static route 0.0.0.0/0 interface wwan0 distance 20

# Мониторинг доступности основного канала
set service monitoring interface eth0 address <primary-gateway>
set service monitoring interface eth0 policy 'LTE-Failover'
```

### Policy-based Routing для Failover

```bash
# Создание маршрутной таблицы для WWAN
set protocols static table 10 route 0.0.0.0/0 interface wwan0

# Policy-based routing
set policy route PBR rule 10 destination address 0.0.0.0/0
set policy route PBR rule 10 set table 10

# Применение политики
set interfaces ethernet eth1 policy route PBR
```

## Load Balancing

Балансировка нагрузки между проводным и WWAN соединением:

```bash
# Настройка балансировки нагрузки
set load-balancing wan interface-health eth0 nexthop <eth0-gateway>
set load-balancing wan interface-health eth0 test 10 type ping
set load-balancing wan interface-health eth0 test 10 target 8.8.8.8

set load-balancing wan interface-health wwan0 nexthop dhcp
set load-balancing wan interface-health wwan0 test 10 type ping
set load-balancing wan interface-health wwan0 test 10 target 8.8.4.4

# Правила балансировки
set load-balancing wan rule 1 inbound-interface eth1
set load-balancing wan rule 1 interface eth0 weight 70
set load-balancing wan rule 1 interface wwan0 weight 30
set load-balancing wan rule 1 protocol all
```

## NAT для WWAN интерфейса

### Source NAT (Masquerade)

```bash
set nat source rule 100 outbound-interface name 'wwan0'
set nat source rule 100 source address '192.168.1.0/24'
set nat source rule 100 translation address masquerade
```

### Исключение локального трафика

```bash
set nat source rule 90 outbound-interface name 'wwan0'
set nat source rule 90 source address '192.168.1.0/24'
set nat source rule 90 destination address '192.168.0.0/16'
set nat source rule 90 translation address masquerade
set nat source rule 90 exclude
```

## Firewall правила для WWAN

### Базовая защита WAN интерфейса

```bash
# Создание зоны для WWAN
set firewall zone WWAN interface wwan0
set firewall zone WWAN default-action drop

# Разрешение установленных соединений
set firewall ipv4 name WWAN-LOCAL default-action drop
set firewall ipv4 name WWAN-LOCAL rule 10 action accept
set firewall ipv4 name WWAN-LOCAL rule 10 state established
set firewall ipv4 name WWAN-LOCAL rule 10 state related

# Блокировка некорректных пакетов
set firewall ipv4 name WWAN-LOCAL rule 20 action drop
set firewall ipv4 name WWAN-LOCAL rule 20 state invalid

# Разрешение ICMP
set firewall ipv4 name WWAN-LOCAL rule 30 action accept
set firewall ipv4 name WWAN-LOCAL rule 30 protocol icmp

# Применение правил
set firewall zone WWAN from LAN firewall name LAN-WWAN
set firewall zone WWAN to local firewall name WWAN-LOCAL
```

### Ограничение доступа к управлению

```bash
# Блокировка SSH с WWAN интерфейса
set firewall ipv4 name WWAN-LOCAL rule 100 action drop
set firewall ipv4 name WWAN-LOCAL rule 100 destination port 22
set firewall ipv4 name WWAN-LOCAL rule 100 protocol tcp
```

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

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

```bash
show interfaces wwan wwan0
```

Пример вывода:
```
wwan0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 state UP
    link/ether 0e:3e:7d:98:a2:b4
    inet 10.123.45.67/32 scope global wwan0
    RX:  bytes    packets  errors  dropped  overrun       mcast
         15467284   12456       0        0        0           0
    TX:  bytes    packets  errors  dropped  carrier  collisions
          3456789    8234       0        0        0           0
```

### Проверка уровня сигнала

```bash
show interfaces wwan wwan0 signal
```

Пример вывода:
```
Signal Quality: 85%
RSSI: -65 dBm
RSRQ: -9 dB
RSRP: -85 dBm
SNR: 15 dB
Technology: LTE
Band: B7 (2600 MHz)
```

### Информация о модеме

```bash
show interfaces wwan wwan0 capabilities
```

Пример вывода:
```
Manufacturer: Sierra Wireless
Model: MC7455
Firmware: SWI9X30C_02.24.05.06
IMEI: 123456789012345
Supported modes: 2G, 3G, LTE
Max bandwidth: Cat 6 (300 Mbps DL / 50 Mbps UL)
```

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

```bash
show interfaces wwan wwan0 network
```

Пример вывода:
```
Operator: MTS RUS (25001)
Registration: Registered (home network)
Technology: LTE
Band: B7 (2600 MHz)
Channel: 2850
Cell ID: 12345678
```

### Информация о прошивке

```bash
show interfaces wwan wwan0 firmware
```

### Статистика интерфейса

```bash
show interfaces wwan wwan0 statistics
```

### Просмотр QMI информации

Для модемов с поддержкой QMI (Qualcomm MSM Interface):

```bash
sudo qmicli -d /dev/cdc-wdm0 --wds-get-packet-service-status
sudo qmicli -d /dev/cdc-wdm0 --nas-get-signal-strength
sudo qmicli -d /dev/cdc-wdm0 --nas-get-serving-system
```

## Расширенная конфигурация

### Настройка параметров модема

#### Принудительный режим сети

Некоторые модемы позволяют принудительно выбрать режим сети (2G/3G/4G):

```bash
# Только LTE
sudo qmicli -d /dev/cdc-wdm0 --nas-set-system-selection-preference=lte

# Автоматический режим
sudo qmicli -d /dev/cdc-wdm0 --nas-set-system-selection-preference=auto
```

#### Блокировка диапазона частот

Принудительная работа в определенном диапазоне:

```bash
# Работа только в диапазоне B7 (2600 MHz) - основной LTE диапазон в России
sudo qmicli -d /dev/cdc-wdm0 --nas-set-system-selection-preference=lte,band-7
```

### Настройка таймаутов DHCP

```bash
set interfaces wwan wwan0 dhcp-options default-route-distance 20
set interfaces wwan wwan0 dhcp-options no-default-route
```

### Отключение интерфейса

```bash
set interfaces wwan wwan0 disable
```

## Обновление прошивки модема

### Sierra Wireless модемы

```bash
# Загрузка прошивки с сайта производителя
# Обновление через qmi-firmware-update
sudo qmi-firmware-update -d /dev/cdc-wdm0 -u <firmware-file.cwe>
```

### Проверка версии прошивки

```bash
sudo qmicli -d /dev/cdc-wdm0 --dms-get-software-version
```

## Практические сценарии

### Сценарий 1: Удаленный офис с LTE подключением

Небольшой офис с единственным каналом связи через LTE:

```bash
# WWAN интерфейс
set interfaces wwan wwan0 apn 'internet.mts.ru'
set interfaces wwan wwan0 address dhcp
set interfaces wwan wwan0 description 'MTS LTE - Primary Connection'

# Локальная сеть
set interfaces ethernet eth1 address '192.168.1.1/24'
set interfaces ethernet eth1 description 'LAN'

# DHCP сервер для локальной сети
set service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 range 0 start 192.168.1.100
set service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 range 0 stop 192.168.1.200
set service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 default-router 192.168.1.1
set service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 name-server 8.8.8.8
set service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 domain-name 'office.local'

# NAT
set nat source rule 100 outbound-interface name 'wwan0'
set nat source rule 100 source address '192.168.1.0/24'
set nat source rule 100 translation address masquerade

# Firewall
set firewall zone LAN interface eth1
set firewall zone LAN default-action accept

set firewall zone WWAN interface wwan0
set firewall zone WWAN default-action drop

set firewall ipv4 name WWAN-LOCAL default-action drop
set firewall ipv4 name WWAN-LOCAL rule 10 action accept
set firewall ipv4 name WWAN-LOCAL rule 10 state established
set firewall ipv4 name WWAN-LOCAL rule 10 state related

set firewall zone WWAN from LAN firewall name LAN-WWAN
set firewall zone WWAN to local firewall name WWAN-LOCAL
```

### Сценарий 2: Dual WAN с приоритетом проводного подключения

Офис с проводным подключением и LTE резервом:

```bash
# Основной проводной канал
set interfaces ethernet eth0 address dhcp
set interfaces ethernet eth0 description 'Primary ISP - Fiber'

# Резервный LTE канал
set interfaces wwan wwan0 apn 'internet.beeline.ru'
set interfaces wwan wwan0 address dhcp
set interfaces wwan wwan0 description 'Backup ISP - Beeline LTE'

# Локальная сеть
set interfaces ethernet eth1 address '192.168.10.1/24'
set interfaces ethernet eth1 description 'Office LAN'

# Маршрутизация с приоритетом
# eth0 - основной (distance 10)
# wwan0 - резервный (distance 20)
set protocols static route 0.0.0.0/0 dhcp-interface eth0 distance 10
set protocols static route 0.0.0.0/0 interface wwan0 distance 20

# NAT для обоих интерфейсов
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

set nat source rule 110 outbound-interface name 'wwan0'
set nat source rule 110 source address '192.168.10.0/24'
set nat source rule 110 translation address masquerade

# DHCP для локальной сети
set service dhcp-server shared-network-name LAN subnet 192.168.10.0/24 range 0 start 192.168.10.50
set service dhcp-server shared-network-name LAN subnet 192.168.10.0/24 range 0 stop 192.168.10.250
set service dhcp-server shared-network-name LAN subnet 192.168.10.0/24 default-router 192.168.10.1
set service dhcp-server shared-network-name LAN subnet 192.168.10.0/24 name-server 8.8.8.8
set service dhcp-server shared-network-name LAN subnet 192.168.10.0/24 name-server 8.8.4.4
```

### Сценарий 3: IoT устройства через LTE с ограничениями

Подключение IoT устройств с ограничением трафика:

```bash
# WWAN интерфейс
set interfaces wwan wwan0 apn 'internet.tele2.ru'
set interfaces wwan wwan0 address dhcp
set interfaces wwan0 description 'Tele2 LTE for IoT'

# Локальная сеть для IoT
set interfaces ethernet eth1 address '10.0.100.1/24'
set interfaces ethernet eth1 description 'IoT VLAN'

# Traffic shaping для ограничения скорости
set traffic-policy shaper IOT-LIMIT bandwidth '10mbit'
set traffic-policy shaper IOT-LIMIT default bandwidth '10mbit'
set traffic-policy shaper IOT-LIMIT default ceiling '10mbit'
set traffic-policy shaper IOT-LIMIT default queue-type fair-queue

set interfaces wwan wwan0 traffic-policy out IOT-LIMIT

# NAT
set nat source rule 200 outbound-interface name 'wwan0'
set nat source rule 200 source address '10.0.100.0/24'
set nat source rule 200 translation address masquerade

# Firewall - разрешаем только HTTP/HTTPS и MQTT
set firewall ipv4 name IOT-WWAN default-action drop
set firewall ipv4 name IOT-WWAN rule 10 action accept
set firewall ipv4 name IOT-WWAN rule 10 state established
set firewall ipv4 name IOT-WWAN rule 10 state related

set firewall ipv4 name IOT-WWAN rule 20 action accept
set firewall ipv4 name IOT-WWAN rule 20 destination port 80,443
set firewall ipv4 name IOT-WWAN rule 20 protocol tcp

set firewall ipv4 name IOT-WWAN rule 30 action accept
set firewall ipv4 name IOT-WWAN rule 30 destination port 1883,8883
set firewall ipv4 name IOT-WWAN rule 30 protocol tcp
set firewall ipv4 name IOT-WWAN rule 30 description 'MQTT'

set firewall zone IOT interface eth1
set firewall zone WWAN interface wwan0
set firewall zone IOT from WWAN firewall name WWAN-IOT
set firewall zone WWAN from IOT firewall name IOT-WWAN
```

### Сценарий 4: VPN через LTE

Подключение к корпоративной сети через VPN поверх LTE:

```bash
# WWAN интерфейс
set interfaces wwan wwan0 apn 'internet.megafon.ru'
set interfaces wwan wwan0 address dhcp
set interfaces wwan wwan0 description 'MegaFon LTE for VPN'

# WireGuard VPN интерфейс
set interfaces wireguard wg0 address '10.10.10.2/24'
set interfaces wireguard wg0 description 'Corporate VPN'
set interfaces wireguard wg0 peer HQ address 'vpn.company.ru'
set interfaces wireguard wg0 peer HQ allowed-ips '0.0.0.0/0'
set interfaces wireguard wg0 peer HQ port 51820
set interfaces wireguard wg0 peer HQ public-key '<server-public-key>'
set interfaces wireguard wg0 port 51820
set interfaces wireguard wg0 private-key '<client-private-key>'

# Локальная сеть
set interfaces ethernet eth1 address '192.168.20.1/24'
set interfaces ethernet eth1 description 'Local LAN'

# Маршрутизация всего трафика через VPN
set protocols static route 0.0.0.0/0 interface wg0

# NAT для выхода в интернет (если разрешено политикой)
set nat source rule 300 outbound-interface name 'wg0'
set nat source rule 300 source address '192.168.20.0/24'
set nat source rule 300 translation address masquerade

# Firewall правила
set firewall zone LAN interface eth1
set firewall zone VPN interface wg0
set firewall zone WWAN interface wwan0

set firewall zone LAN default-action accept
set firewall zone VPN default-action accept
set firewall zone WWAN default-action drop
```

### Сценарий 5: Multi-WAN с балансировкой для нескольких операторов

Использование двух LTE модемов от разных операторов:

```bash
# Первый модем (МТС)
set interfaces wwan wwan0 apn 'internet.mts.ru'
set interfaces wwan wwan0 address dhcp
set interfaces wwan wwan0 description 'MTS LTE'

# Второй модем (Билайн)
set interfaces wwan wwan1 apn 'internet.beeline.ru'
set interfaces wwan wwan1 address dhcp
set interfaces wwan wwan1 description 'Beeline LTE'

# Локальная сеть
set interfaces ethernet eth1 address '192.168.30.1/24'

# Балансировка нагрузки
set load-balancing wan interface-health wwan0 nexthop dhcp
set load-balancing wan interface-health wwan0 test 10 type ping
set load-balancing wan interface-health wwan0 test 10 target 8.8.8.8

set load-balancing wan interface-health wwan1 nexthop dhcp
set load-balancing wan interface-health wwan1 test 10 type ping
set load-balancing wan interface-health wwan1 test 10 target 8.8.4.4

# Равномерное распределение нагрузки
set load-balancing wan rule 1 inbound-interface eth1
set load-balancing wan rule 1 interface wwan0 weight 50
set load-balancing wan rule 1 interface wwan1 weight 50
set load-balancing wan rule 1 protocol all

# NAT для обоих интерфейсов
set nat source rule 400 outbound-interface name 'wwan0'
set nat source rule 400 source address '192.168.30.0/24'
set nat source rule 400 translation address masquerade

set nat source rule 410 outbound-interface name 'wwan1'
set nat source rule 410 source address '192.168.30.0/24'
set nat source rule 410 translation address masquerade
```

## Troubleshooting

### Проблема: Модем не обнаружен

**Симптомы**: Интерфейс wwan0 не отображается в системе

**Решение**:

1. Проверьте физическое подключение модема
2. Проверьте определение модема в системе:
```bash
lsusb
lspci | grep -i wireless
```

3. Проверьте загрузку драйверов:
```bash
lsmod | grep -i qmi
lsmod | grep -i cdc
```

4. Проверьте устройства:
```bash
ls -la /dev/cdc-wdm*
ls -la /dev/ttyUSB*
```

### Проблема: Модем обнаружен, но не подключается

**Симптомы**: Интерфейс присутствует, но не получает IP-адрес

**Решение**:

1. Проверьте правильность APN:
```bash
show interfaces wwan wwan0
```

2. Проверьте уровень сигнала:
```bash
show interfaces wwan wwan0 signal
```

Если уровень сигнала ниже -100 dBm, попробуйте улучшить положение антенны.

3. Проверьте регистрацию в сети:
```bash
show interfaces wwan wwan0 network
```

4. Перезапустите интерфейс:
```bash
sudo ip link set wwan0 down
sudo ip link set wwan0 up
```

5. Проверьте логи:
```bash
show log | match wwan
journalctl -u NetworkManager | grep wwan
```

### Проблема: Низкая скорость соединения

**Симптомы**: Скорость значительно ниже ожидаемой

**Решение**:

1. Проверьте уровень сигнала и качество:
```bash
show interfaces wwan wwan0 signal
```

Оптимальные значения:
- RSSI: выше -70 dBm
- RSRQ: выше -10 dB
- RSRP: выше -80 dBm
- SNR: выше 10 dB

2. Проверьте используемую технологию и диапазон:
```bash
show interfaces wwan wwan0 network
```

3. Проверьте MTU:
```bash
set interfaces wwan wwan0 mtu 1430
commit
```

4. Используйте внешнюю антенну с лучшим коэффициентом усиления

5. Проверьте загрузку сети оператора:
```bash
# Тест скорости
sudo apt install speedtest-cli
speedtest-cli --source wwan0
```

### Проблема: Частые разрывы соединения

**Симптомы**: Соединение периодически пропадает и восстанавливается

**Решение**:

1. Проверьте стабильность сигнала:
```bash
# Мониторинг в реальном времени
watch -n 1 'sudo qmicli -d /dev/cdc-wdm0 --nas-get-signal-strength'
```

2. Проверьте температуру модема (перегрев):
```bash
sensors | grep -i temp
```

3. Добавьте мониторинг и автоматический перезапуск:
```bash
# Скрипт для мониторинга (/config/scripts/wwan-monitor.sh)
#!/bin/bash
if ! ping -I wwan0 -c 3 8.8.8.8 > /dev/null 2>&1; then
    logger "WWAN connection lost, restarting interface"
    ip link set wwan0 down
    sleep 5
    ip link set wwan0 up
fi
```

4. Добавьте в cron:
```bash
set system task-scheduler task wwan-monitor interval 5m
set system task-scheduler task wwan-monitor executable path /config/scripts/wwan-monitor.sh
```

### Проблема: DHCP не получает IP-адрес

**Симптомы**: Интерфейс активен, но без IP-адреса

**Решение**:

1. Проверьте статус DHCP клиента:
```bash
sudo journalctl -u dhclient | grep wwan0
```

2. Попробуйте обновить DHCP lease:
```bash
sudo dhclient -r wwan0
sudo dhclient wwan0
```

3. Проверьте настройки DHCP:
```bash
show interfaces wwan wwan0 dhcp-options
```

4. Используйте статический IP, если оператор предоставляет:
```bash
delete interfaces wwan wwan0 address dhcp
set interfaces wwan wwan0 address '10.xxx.xxx.xxx/32'
commit
```

### Проблема: DNS не работает через WWAN

**Симптомы**: Ping по IP работает, но доменные имена не резолвятся

**Решение**:

1. Проверьте полученные DNS серверы:
```bash
show dns forwarding
cat /etc/resolv.conf
```

2. Настройте статические DNS:
```bash
set system name-server 8.8.8.8
set system name-server 8.8.4.4
commit
```

3. Проверьте DNS через конкретный интерфейс:
```bash
nslookup google.com 8.8.8.8
```

### Проблема: SIM-карта не распознается

**Симптомы**: Модем работает, но не видит SIM-карту

**Решение**:

1. Проверьте статус SIM-карты:
```bash
sudo qmicli -d /dev/cdc-wdm0 --uim-get-card-status
```

2. Проверьте PIN-код (если установлен):
```bash
sudo qmicli -d /dev/cdc-wdm0 --uim-verify-pin=PIN,<pin-code>
```

3. Проверьте физическое состояние SIM-карты (контакты, размер)

4. Попробуйте другую SIM-карту для исключения проблем с модемом

### Проблема: Модем работает только после перезагрузки

**Симптомы**: После активации конфигурации модем не работает, требуется reboot

**Решение**:

1. Добавьте задержку при инициализации:
```bash
# В /config/scripts/vyos-postconfig-bootup.script
sleep 30
```

2. Проверьте порядок загрузки модулей:
```bash
lsmod | grep qmi
sudo modprobe -r qmi_wwan
sudo modprobe qmi_wwan
```

3. Обновите прошивку модема

### Проблема: Высокий ping через LTE

**Симптомы**: Задержка (latency) очень высокая

**Решение**:

1. Проверьте базовый ping до шлюза оператора:
```bash
ping -I wwan0 <operator-gateway>
```

2. LTE имеет естественную задержку 20-50ms, что нормально

3. Проверьте загрузку канала:
```bash
# Мониторинг использования
watch -n 1 'ifstat -i wwan0'
```

4. Используйте QoS для приоритезации трафика:
```bash
set traffic-policy shaper WWAN-QOS bandwidth '50mbit'
set traffic-policy shaper WWAN-QOS class 10 match VOIP ip protocol udp
set traffic-policy shaper WWAN-QOS class 10 match VOIP ip destination port 5060
set traffic-policy shaper WWAN-QOS class 10 bandwidth '10mbit'
set traffic-policy shaper WWAN-QOS class 10 priority 1

set interfaces wwan wwan0 traffic-policy out WWAN-QOS
```

## Мониторинг и логирование

### Настройка syslog для WWAN событий

```bash
set system syslog global facility local7 level debug
set system syslog file wwan facility local7 level debug
```

### Мониторинг использования трафика

```bash
# Просмотр статистики интерфейса
show interfaces wwan wwan0 statistics

# Мониторинг в реальном времени
monitor interfaces wwan wwan0 traffic
```

### SNMP мониторинг

```bash
set service snmp community public authorization ro
set service snmp community public network 192.168.1.0/24
set service snmp listen-address 192.168.1.1
```

Мониторинг WWAN интерфейса через SNMP:
```bash
snmpwalk -v2c -c public 192.168.1.1 IF-MIB::ifDescr
snmpwalk -v2c -c public 192.168.1.1 IF-MIB::ifInOctets
```

## Оптимизация производительности

### TCP оптимизация для высокой задержки

```bash
set system sysctl parameter net.ipv4.tcp_congestion_control value 'bbr'
set system sysctl parameter net.core.rmem_max value '134217728'
set system sysctl parameter net.core.wmem_max value '134217728'
set system sysctl parameter net.ipv4.tcp_rmem value '4096 87380 67108864'
set system sysctl parameter net.ipv4.tcp_wmem value '4096 65536 67108864'
```

### Настройка MTU для LTE

Оптимальный MTU для LTE обычно 1430 байт:

```bash
set interfaces wwan wwan0 mtu 1430
```

### Traffic Shaping

Ограничение исходящего трафика для предотвращения перегрузки:

```bash
set traffic-policy shaper WWAN-OUT bandwidth '40mbit'
set traffic-policy shaper WWAN-OUT default bandwidth '40mbit'
set traffic-policy shaper WWAN-OUT default ceiling '40mbit'
set traffic-policy shaper WWAN-OUT default priority 7

set interfaces wwan wwan0 traffic-policy out WWAN-OUT
```

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

### Рекомендации по безопасности WWAN

1. **Всегда используйте firewall** на WWAN интерфейсе
2. **Отключите ненужные сервисы** на WAN интерфейсе
3. **Используйте VPN** для шифрования трафика
4. **Мониторьте подозрительную активность**
5. **Регулярно обновляйте прошивку модема**
6. **Используйте сильные пароли** для VyOS
7. **Ограничьте доступ к управлению** с WWAN интерфейса

### Отключение управления с WWAN

```bash
set firewall ipv4 name WWAN-LOCAL rule 100 action drop
set firewall ipv4 name WWAN-LOCAL rule 100 destination port 22,80,443
set firewall ipv4 name WWAN-LOCAL rule 100 protocol tcp
set firewall ipv4 name WWAN-LOCAL rule 100 description 'Block management from WWAN'
```

## Интеграция с облачными сервисами

### Yandex Cloud

WWAN интерфейсы могут использоваться в Yandex Cloud для резервных каналов связи между облаком и on-premise инфраструктурой.

```bash
# Конфигурация для VPN туннеля в Yandex Cloud
set interfaces wwan wwan0 apn 'internet.mts.ru'
set interfaces wwan wwan0 address dhcp

# WireGuard VPN к Yandex Cloud
set interfaces wireguard wg0 address '10.128.0.2/24'
set interfaces wireguard wg0 peer YC address '<yandex-cloud-public-ip>'
set interfaces wireguard wg0 peer YC allowed-ips '10.128.0.0/24'
set interfaces wireguard wg0 peer YC port 51820
set interfaces wireguard wg0 peer YC public-key '<cloud-public-key>'

# Маршрутизация в облако через VPN
set protocols static route 10.128.0.0/16 interface wg0
```

## Скрипты автоматизации

### Автоматическое переключение SIM-карт

Скрипт для переключения между SIM-картами при проблемах с соединением:

```bash
#!/bin/vbash
# /config/scripts/sim-switch.sh

source /opt/vyatta/etc/functions/script-template

# Проверка соединения
if ! ping -I wwan0 -c 3 8.8.8.8 > /dev/null 2>&1; then
    logger "WWAN: Primary SIM failed, switching to secondary"

    # Переключение SIM (команда зависит от модема)
    sudo qmicli -d /dev/cdc-wdm0 --uim-switch-slot=2

    sleep 10

    # Перезапуск интерфейса
    ip link set wwan0 down
    sleep 5
    ip link set wwan0 up

    logger "WWAN: Switched to secondary SIM"
fi
```

### Мониторинг лимитов трафика

```bash
#!/bin/vbash
# /config/scripts/data-limit-monitor.sh

source /opt/vyatta/etc/functions/script-template

LIMIT=10737418240  # 10 GB в байтах
CURRENT=$(cat /sys/class/net/wwan0/statistics/rx_bytes)
TX=$(cat /sys/class/net/wwan0/statistics/tx_bytes)
TOTAL=$((CURRENT + TX))

if [ $TOTAL -gt $LIMIT ]; then
    logger "WWAN: Data limit exceeded ($TOTAL bytes), shutting down interface"
    configure
    set interfaces wwan wwan0 disable
    commit
    exit
fi
```

## Дополнительные ресурсы

### Официальная документация

- [VyOS Documentation - WWAN](https://docs.vyos.io/en/latest/configuration/interfaces/wwan.html)
- [ModemManager Documentation](https://www.freedesktop.org/wiki/Software/ModemManager/)
- [QMI Protocol Documentation](https://osmocom.org/projects/quectel-modems/wiki/QMI)

### Полезные команды Linux для отладки

```bash
# ModemManager
mmcli -L                          # Список модемов
mmcli -m 0                        # Информация о модеме
mmcli -m 0 --simple-status        # Простой статус

# Информация о USB устройствах
lsusb -t                          # Дерево USB устройств
lsusb -v -d <vendor>:<product>    # Детальная информация

# Проверка драйверов
dmesg | grep -i usb
dmesg | grep -i qmi
dmesg | grep -i cdc
```

### Тестирование скорости

```bash
# Установка speedtest-cli
sudo apt install speedtest-cli

# Тест скорости через WWAN интерфейс
speedtest-cli --source wwan0

# iPerf тестирование
iperf3 -c <server> -B <wwan0-ip>
```

## Заключение

WWAN интерфейсы в VyOS предоставляют гибкие возможности для построения надежных сетевых решений с использованием сотовых сетей. Правильная конфигурация, мониторинг и обслуживание обеспечивают стабильную работу как в качестве основного, так и резервного канала связи.

Основные преимущества использования WWAN в VyOS:

- Быстрое развертывание без необходимости проводных каналов
- Высокая надежность с поддержкой автоматического failover
- Гибкая интеграция с существующей сетевой инфраструктурой
- Возможность использования множества российских и международных операторов
- Полная интеграция с firewall, VPN, NAT и другими функциями VyOS

При планировании использования WWAN учитывайте:

- Покрытие и качество сигнала в месте установки
- Тарифные планы операторов и лимиты трафика
- Требования к скорости и задержке для ваших приложений
- Необходимость резервирования и failover механизмов
- Вопросы безопасности и шифрования данных

