Настройка модема Openwrt hilink 4g

Обновлено: 04.07.2024

В одном из своих последних экспериментов я заменил свой дрянной 4G-модем/точку доступа T-Mobile (теперь Magenta) дешевым дорожным маршрутизатором на базе OpenWRT и модемом 4G USB LTE. Это удвоило мою скорость по беспроводной (WLAN) сети, но настройка была ограничена устаревшим и маломощным дорожным рутером. Поэтому я купил себе дешевый Raspberry Pi 3b+ и создал минималистичный 4G-маршрутизатор/точку доступа на базе Linux. Моя основная цель состояла в том, чтобы создать минимально возможную конфигурацию, чтобы у меня была хорошая отправная точка для будущих экспериментов с IoT/VPN/SmartHome. Думаю, мне это удалось.

Оборудование, которое я использовал:

Чего я хотел добиться?

Я хотел иметь минимально возможную настройку, а это значит:

  • Raspberry Pi получает собственный статический IP-адрес (в этом сообщении в блоге это будет 192.168.66.1)
  • беспроводной (WLAN) и кабельный (Ethernet) интерфейсы соединены мостом — не имеет значения, подключаетесь ли вы по кабелю или по беспроводной сети.
  • беспроводная сеть (WLAN) должна использовать WPA2 со статическим паролем. Будет использоваться стандарт 802.11n, так как этот диапазон беспроводных сетей менее загружен, чем диапазон 802.11b в этой области.
  • сервер DHCP/DNS будет предлагать IP-адреса как проводным, так и беспроводным клиентам.
  • связь с Интернетом будет осуществляться через модем USB LTE. Поскольку это эмулирует сетевое устройство, должно быть достаточно простого правила NAT в сочетании с переадресацией IP.

Это привело к следующим простым шагам настройки:

Начальная настройка Raspberry Pi

Моей точке доступа не нужен был графический пользовательский интерфейс, поэтому она основывалась на образе Raspbian Stretch Lite. После того, как я загрузил и извлек образ, я извлек его и перенес на карту MicroSDHC (устройство чтения SD-карт в моем ноутбуке определяет карту как /dev/sda , чтобы предотвратить несчастные случаи, я буду называть устройство /dev/sdX в следующем ):

Подготовив карту, я подключил ее к Raspberry Pi, а также подключил дисплей и клавиатуру. Несмотря на то, что можно выполнить полностью автоматическую настройку, это была скорее ознакомительная настройка... и работа с сетевым подключением при подключении к одному и тому же соединению в лучшем случае привередлива.

После того, как Pi был включен, я вошел в систему, используя учетные данные по умолчанию ( pi:raspberry ), и сразу же увеличил файловую систему, чтобы она содержала всю SD-карту:

После перезагрузки я изменил пароль по умолчанию, включил SSHd для удаленного входа в систему и выполнил обновление системы (включая новое ядро ​​версии 4.19.42-v7+)

Теперь Pi готов к базовой настройке сети.

Настройка беспроводного/проводного моста

Начнем с базовой настройки сети, которая будет мостом. Мост содержит несколько сетевых интерфейсов, трафик будет распределяться между этими сетевыми интерфейсами (в нашем случае это будет eth0 для проводной сети и wlan0 для интерфейса беспроводной сети).

Сначала установите необходимые инструменты:

Сетевые интерфейсы настраиваются через /etc/network/interfaces , вы можете создать этот файл, если он не существует:

Обратите внимание, что IP-конфигурация для Pi вводится в разделе моста. Мы даем Pi фиксированный статический IP-адрес 192.168.66.1. Другим вариантом может быть использование конфигурации DHCP для автоматического получения IP-адреса, например. через проводной сетевой интерфейс и таким образом создать проводной/беспроводной мост. Поскольку мы хотим использовать Pi в качестве единственного DHCP-сервера, статический IP-адрес лучше подходит.

С помощью этой настройки вы теперь можете подключить другой компьютер через проводной сетевой интерфейс, статически настроить компьютер с IP-адресом, например 192.168.66.2 , и подключиться к Pi по SSH, используя измененные учетные данные.

В качестве следующего шага мы настроим динамическое назначение IP-адресов для подключенных клиентов.

Настройка DHCP/DNS-сервера

Мы собираемся использовать dnsmasq в качестве комбинированного DHCP/DNS-сервера, поэтому давайте сначала установим его:

А затем создайте минимальную конфигурацию в /etc/dnsmasq.conf:

Вот и все, при этом вы получите динамические IP-адреса в диапазоне 192.168.66.50-150. Теперь вы можете перезагрузить Pi, изменить свой компьютер на использование DHCP и получить динамический IP-адрес.

Следующий шаг: настройте интерфейс беспроводной сети.

Настройка интерфейса беспроводной (WLAN) точки доступа

Мы будем использовать hostapd для предоставления поддельной точки доступа беспроводным клиентам. Прежде всего, установите и включите его:

Кроме того, нам необходимо предоставить минимальную конфигурацию hostapd через /etc/hostapd/hostapd.conf:

Это настраивает новую точку доступа с ESSID LakeOfFire (да, я фанат Nirvana), которая будет использовать наш уже настроенный интерфейс моста br0 . Мы используем диапазон 5 ГГц (поскольку здесь он используется реже) и включаем скорости Ethernet 802.11n. Беспроводная сеть будет защищена через WPA2 с ключом, пожалуйста, измените это. Пожалуйста, измените этот пароль.

Кроме того, нам нужно изменить /etc/default/hostapd, чтобы точка беспроводного доступа автоматически запускалась при запуске системы:

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

Теперь добавьте модем USB LTE.

Добавление модема LTE через модем USB LTE

Модем USB LTE определяется как виртуальное сетевое устройство (в нашем случае eth1). Это делает первоначальную настройку довольно простой, так как нам просто нужно добавить еще одно сетевое устройство в конец /etc/network/interfaces и настроить его на автоматическое получение IP-адресов:

Для маршрутизации нам нужно включить переадресацию IP в файле конфигурации /etc/sysctl.conf, установив:

Кроме того, нам нужны некоторые правила брандмауэра для перенаправления и маскировки трафика с нашего моста ( br0 ) на модем LTE. Мы будем использовать iptables для настройки этих правил и iptables-persistent для восстановления этих правил после перезагрузки (что мы и делаем впоследствии):

При этом точка доступа будет перенаправлять трафик в широкополосный Интернет... на этом наша первоначальная минимальная настройка завершена.

Сравнение производительности

Исходная точка доступа T-Mobile/Magenta 4G обеспечивала следующую производительность (нисходящий/восходящий поток всегда указывается в Мбит/с):

< /tr>
клиент соединение задержка нисходящий восходящий
ноутбук lan 24 мс 66,79 13,70< /td>
ноутбук wlan 27 мс 19,38 13,71
телефон беспроводная сеть 21 мс 16,10 13,70

С предыдущей настройкой OpenWRT я уже смог улучшить производительность (значительно):

< /tr>
клиент соединение задержка нисходящий восходящий
ноутбук lan 21 мс 57,57 13,59< /td>
ноутбук wlan 25 мс 41,72 13,87
телефон wlan 20 мс 36,40 11,90

Новая настройка позволила повысить производительность, но поскольку я заменил свой мобильный телефон (на Xiaomi Mi Mix 2s), а также изменил дистрибутив Linux на своем ноутбуке, их не следует сравнивать напрямую. По крайней мере, они дают вам ощущение изменения производительности (для этого я использовал Ookla Speedtest, не уверен, что использовал для предыдущих измерений):

< /tr>
клиент соединение задержка нисходящий восходящий
рабочий стол lan 15 мс 65,41 13,53< /td>
ноутбук wlan 16 мс 48,33 13,59
телефон беспроводная сеть 14 мс 55,3 М 15,40

Итак, в целом это похоже на улучшение скорости (и задержки). Неплохо в качестве отправной точки для будущих экспериментов.

Выводы и дальнейшие действия

Слабым местом этой настройки, по-видимому, является модем: сетевой режим Huawei E3372 HiLink может быть лучшим для простой настройки, но я действительно хотел бы сравнить его с «традиционной» настройкой модема, например, с назначенный IP-адрес и отсутствие дополнительного NAT, выполняемого модемом (через поддельный сетевой интерфейс). Мы рассмотрим это.

Я считаю, что могу дополнительно оптимизировать настройки беспроводной сети (WLAN), чтобы повысить ее производительность, но она уже достаточно хороша для моих нужд (и почти соответствует пропускной способности, предлагаемой моим оператором мобильной связи), поэтому я не буду тратить время на это.

Установка более энергоемкая, чем исходная установка OpenWRT. Мне действительно нужно было переключиться на более мощное зарядное устройство USB, так как я продолжал получать сообщение «Обнаружено пониженное напряжение!» ошибки на Raspberry Pi. Поэтому мне нужна дополнительная розетка по сравнению со старой установкой. Облом.

В этом пошаговом руководстве показано, как настроить сотовый модем 4G mPCIe и использовать его в качестве основного подключения к Интернету в OpenWRT.

Обратите внимание, что в этой статье предполагается, что у вас уже установлен OpenWRT. Если это не так, начните с установки OpenWRT на свой маршрутизатор.

Оборудование 4G, совместимое с OpenWRT

Первое, что вам нужно сделать, это иметь совместимое оборудование. На рынке есть много модемов 3G, 4G и LTE, но не все из них хорошо работают с OpenWRT. Некоторые модемы несовместимы с некоторыми материнскими платами.

В этом руководстве мы используем модем Quectel EC25-E LTE с материнской платой APU4D4. По нашему опыту, эта комбинация оборудования работает очень хорошо.

Если вы также используете PC Engines APU3 или APU4, обязательно подключите SIM-карту к слоту SIM1, а модем — к среднему слоту mPCIe.Если ваша операционная система установлена ​​на SD-карте или флэш-накопителе USB, вы также можете использовать первый слот mPCIe, который обычно занят SSD-накопителем mSATA. В этом случае вам следует подключить SIM-карту к слоту SIM2.

Для получения дополнительной информации см. изображение ниже.



Скорость 4G LTE

Популярные мобильные модемы, доступные на рынке, относятся к категории 4. Модемы категории 4 могут обеспечить теоретическую максимальную скорость загрузки 150 Мбит/с и скорость загрузки 50 Мбит/с. Обратите внимание, что эти скорости являются теоретическими, и на практике скорость 100 Мбит/с часто является максимально достижимой. Фактическая скорость зависит от множества факторов, таких как расстояние до ближайшей базовой станции, возможности базовой станции, используемые антенны, время суток и даже погодные условия.

Существует много различных проприетарных протоколов сотовой связи, и может быть немного сложно понять, какие из них работают хорошо, какие поддерживаются вашим модемом и как заставить модем работать должным образом. Есть PPP, QMI, MBIM, NCM и некоторые другие. Каждый из них настроен немного по-разному и имеет разный уровень поддержки в OpenWRT. Это беспорядок, достойный отдельной статьи.

В этой статье мы используем модем Quectel, поэтому будем использовать протокол QMI. Этот протокол хорошо поддерживается в OpenWRT и обеспечивает хорошую производительность.

Шаг 1. Установите пакеты программного обеспечения QMI

Перейдите в Программное обеспечение -> Список обновлений -> найдите QMI -> установите следующие пакеты.


Теперь вам нужно перезагрузить маршрутизатор. Если вы не перезагрузите компьютер, следующий шаг не сработает.

Шаг 2. Создайте интерфейс QMI

Перейдите в Сеть => Интерфейсы => нажмите "Добавить новый интерфейс"

Вы можете ввести любое имя. В этом примере я назвал свой интерфейс «4G».

В поле протокола выберите "QMI". Если вы не видите QMI в списке, вы не установили нужные пакеты или не перезагрузили маршрутизатор.


Нажмите "создать интерфейс", чтобы перейти к следующему шагу.

Это основной экран настройки вашего LTE-соединения. Важными полями конфигурации здесь являются «APN» и «Модемное устройство».

Шаг 3. Настройка точки доступа

APN – это имя точки доступа, к которому ваш модем попытается подключиться, чтобы получить доступ к общедоступной сети Интернет. Это похоже на SSID в сетях WiFi. Если вы не знаете, что здесь вводить, поищите в Google «APN + имя вашего провайдера».

Выберите «/dev/cdc-wdm0» в раскрывающемся списке «Модемное устройство». Если вы не видите это устройство в раскрывающемся списке, ваш модем не обнаружен. Перейдите в раздел устранения неполадок.

​​​​​​​Введите другие поля, как показано на скриншоте. Если на вашей SIM-карте есть PIN-код, обязательно введите его.

Через минуту ваши интерфейсы должны выглядеть так, как показано на снимке экрана ниже.

Обратите внимание, что появились два интерфейса. Один называется «4G», а другой — «Виртуальный динамический интерфейс (DHCP-клиент)» — «4G_4».

"_4" означает, что интерфейс имеет IP-адрес IPv4. Это основано на «Типе PDP», выбранном на предыдущем шаге. Если ваш оператор поддерживает IPv6, вы также можете использовать его (не рекомендуется).

Если вы видите действующий адрес IPv4, как на скриншоте, это означает, что ваше соединение успешно установлено, и последнее, что нужно сделать, это настроить интерфейс 4G в качестве WAN по умолчанию.

Если вы видите сообщение "NETWORK_REGISTRATION_FAILED", выключите маршрутизатор, подождите пару секунд и снова включите его. Мягкая перезагрузка может не сработать, сделайте полное выключение. Если это не помогло, перейдите в раздел устранения неполадок.

Шаг 4. Установите интерфейс 4G в качестве WAN по умолчанию

Обратите внимание, что на предыдущем снимке экрана показан проводной интерфейс WAN на eth0. Нам нужно будет удалить этот интерфейс и настроить интерфейс 4G как WAN.

Нажмите кнопку "Удалить" рядом с "WAN" и подтвердите удаление.

Теперь нажмите «Изменить» в интерфейсе 4G => перейдите на вкладку «Настройки брандмауэра» => «Назначить зону брандмауэра» => выберите «WAN» => «Сохранить».

Результат должен выглядеть примерно так, как показано на снимке экрана ниже. На этом этапе у вас должен быть работающий маршрутизатор 4G.


Скорость, которую я видел, сильно зависит от времени суток. С этой конфигурацией я видел скорости от 50 Мбит/с до чуть более 100 Мбит/с. Обычно около 70–80 Мбит/с.

Совет: ознакомьтесь со многими похожими статьями о настройке LTE в нашей базе знаний

TekLager специализируется на продаже оборудования с открытым исходным кодом для создания маршрутизаторов, брандмауэров и других сетевых устройств.

Комплект Quectel EC25-E LTE

Двигатели для ПК APU4D4 — 4 LAN / четырехъядерный ЦП / 4 ГБ ОЗУ

APU4D4: 4x Gigabit LAN, четырехъядерный процессор, 16 ГБ SSD, 4 ГБ RAM

Маршрутизатор/брандмауэр TekLager APU4D4. 4x Gigabit NIC, четырехъядерный процессор, 16 ГБ SSD, 4 ГБ RAM. Совместимость с pfSense, IPFire, OPNSense и другими.

Настроить ключ Huawei E3372 LTE для работы на маршрутизаторе с OpenWRT 15.05 Chaos Calmer очень просто. Для этого потребуются два дополнительных пакета: kmod-usb-net-cdc-ether и usb-modeswitch . Их можно установить либо через веб-интерфейс (Система > Программное обеспечение), либо запустив в командной строке следующее:

Появится новый сетевой интерфейс (в моем случае eth1), который просто нужно добавить в группу wan брандмауэра (Сеть > Интерфейсы > eth1 > Правка > Настройки брандмауэра > Назначить зону брандмауэра). Всё, роутер в сети! Веб-интерфейс остается доступным через браузер по обычному IP-адресу ( 192.168.8.1 ).

Для установки пакетов, очевидно, требуется уже существующее подключение к Интернету. Маршрутизатор можно временно подключить к другой сети Wi-Fi (Сеть > Wi-Fi > Сканировать > Присоединиться к сети), например. точка доступа со смартфона. Не забудьте отключить или удалить эту сеть после завершения (Сеть > Wi-Fi > Отключить/Удалить).

Двойная конфигурация NAT

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

И устройство OpenWRT, и ключ Hi-Link работают в режиме маршрутизатора и отделяют внутреннюю сеть от внешней через NAT, и этот двойной NAT — довольно эффективный способ блокировать входящие соединения. Поскольку NAT нельзя деактивировать на ключе, уродливое и сложное решение часто состоит в том, чтобы отключить OpenWRT NAT и использовать вместо него ключ. Это довольно плохой обходной путь, и есть гораздо лучшее решение для ключей с доступной функцией DMZ (которая зависит от версии прошивки).

В интерфейсе конфигурации ключа ( 192.168.8.1 ) найдите настройки DMZ (Настройки > Безопасность > Настройки DMZ) и включите функцию DMZ с целевым IP-адресом 192.168.8.100 , который должен быть IP-адресом сетевой интерфейс eth1 на маршрутизаторе, к которому подключен ключ (дважды проверьте в OpenWRT в разделе Сеть > Интерфейсы > eth1 > IPv4). Теперь все входящие соединения передаются напрямую в OpenWRT. Функции брандмауэра, SIP и UPnP ключа можно отключить. В отличие от того, что говорится в других руководствах, для параметра NAT можно оставить значение по умолчанию (конус), поскольку он не оказывает никакого влияния на поведение DMZ.

Huawei E5377 является распространенным устройством MiFi в странах Северной Европы и Балтии, таких как Эстония, Финляндия и Литва, Швеция. ROOTer — ​​производная от OpenWrt, специализирующаяся на поддержке мобильных модемов.

Для настройки популярных модемов LTE/4G, таких как E5377 и E3372, теперь используются такие методы, как HiLink и CDC Ethernet Over USB, при этом многие руководства и устройства ожидают, что они будут работать как старые модемы 3G.

Чтобы включить балансировку через ADSL и 4G LTE на маршрутизаторе Linksys E3000 с OpenWrt, необходимо выполнить следующие действия:

  1. Загрузите и установите Rooter Multiweb
  2. Проверьте и установите модем
  3. Настройка балансировки нагрузки

Сама балансировка нагрузки включена по умолчанию в Multiweb и не требует дополнительных действий. Эта функция основана на функции балансировки нагрузки mwan3 OpenWrt.

  • Идентификатор: 12d1:1f02 (поставщик:устройство)
  • Целевой поставщик: 0x12d1 (4817 в десятичном формате)
  • Целевой продукт: 0x14dc (5340 в десятичном формате)
  • Сообщение: 55534243123456780000000000000a110620000000000001000000000000000.
  • Драйвер не загружается: 1

Приведенные выше значения используются для идентификации устройства и отправки параметров на устройство, чтобы переключить его в режим CDC Ethernet. Для многих модемов эти настройки уже есть в конфигурационном файле (/etc/usb-mode.json), но для многих модемов (E5337, E3372) от финских операторов Elisa, DNA и Sonera их нет.

После этого запустите сценарий состояния USB. Некоторые команды, которые вы можете запустить:

  1. Вывести список всех подходящих устройств:
    usbmode -l
  2. Переключение устройств с помощью пользовательского файла конфигурации:
    usbmode -s -v -c /etc/usb-e5337.json

Убедившись, что устройство найдено, запустите сценарий переключения. Чтобы убедиться, что команда работает должным образом, с помощью команды «dmesg» вы можете получить список системных сообщений.Подтверждающее сообщение, которое вы ищете:

[ 1457.250000] cdc_ether 1-1:1.0 eth1: зарегистрируйте 'cdc_ether' на usb-ehci-platform.0-1, Ethernet-устройство CDC, 0c:5b:8f:27:9a:64

Как только это будет найдено, к вашему маршрутизатору будет подключено новое стандартное устройство Ethernet. Перейдите к сетевым интерфейсам и, добавив новый, у вас должен появиться новый выбор:

После этого вы можете перейти к настройке правил с помощью графического интерфейса пользователя ROOter Multiweb или стандартных инструкций из документации.

Читайте также: