Packages

Оглавление

Network configuration management

The central network configuration is handled by the uci network subsystem, and stored in the file .
This uci susbsystem is responsible for defining switch VLANs, interface configurations and network routes.

After any network configuration change (through uci or otherwise) you need to reload the network configuration in the netifd daemon by writing:

service network reload

If your install does not supply the command, a reload can be accomplished with:

etcinit.dnetwork reload

Thanks to netifd (Network Interface Daemon), the changed interfaces will be restarted automatically to apply the changes live.
Rebooting the router is not necessary, but is also another way that will force a configuration reload.

Individual interfaces can be brought up with or down with where name corresponds to the logical interface name of the corresponding section.
An implies a prior so there is no need to invoke both when reloading an interface.

Note that wireless interfaces are managed externally and may break the relation to existing bridges.
In such a case it is required to run after in order to re-establish the bridge connection.

To see a list of interfaces write the following:

ubus list network.interface.*

To view all info about a particular interface (the UCI name not the physical interface), write:

ifstatus lan

See also:

sysupgrade SSH / Процедура обновления терминала

https://wiki.openwrt.org/doc/techref/sysupgrade

Используйте следующую команду для обновления:

sysupgrade -v tmpfilename-of-downloaded-sysupgrade.bin

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

Saving config files...
etc/config/dhcp
etc/config/dropbear
etc/config/firewall
etc/config/luci
etc/config/network
etc/config/snmpd
etc/config/system
etc/config/ubootenv
etc/config/ucitrack
etc/config/uhttpd
etc/config/wireless
etc/dropbear/authorized_keys
etc/dropbear/dropbear_dss_host_key
etc/dropbear/dropbear_rsa_host_key
etc/firewall.user
etc/group
etc/hosts
etc/inittab
etc/passwd
etc/profile
etc/rc.local
etc/shadow
etc/shells
etc/sudoers
etc/sudoers.d/custom
etc/sysctl.conf
etc/sysupgrade.conf
killall: watchdog: no process killed
Sending TERM to remaining processes ... ubusd askfirst logd logread netifd odhcpd snmpd uhttpd ntpd dnsmasq
Sending KILL to remaining processes ... askfirst
Switching to ramdisk...
Performing system upgrade...
Unlocking firmware ...

Writing from <stdin> to firmware ...  
Appending jffs2 data from /tmp/sysupgrade.tgz to firmware...TRX header not found
Error fixing up TRX header
Upgrade completed
Rebooting system...

Примечание: «заголовок TRX не найден» и «фиксации ошибок на заголовок TRX» ошибки не проблема, так как на OpenWRT пост разработчик Джоу по адресу: https://dev.openwrt.org/ticket/8623

  • Подождите, пока маршрутизатор не вернется онлайн
  • После автоматической перезагрузки, система должна придумать те же параметры конфигурации, как и раньше: IP-адрес в одной сети, то же SSH пароль etc.
  • Перейдите к «Дополнительным настройкам после обновления OpenWRT» раздел ниже

Устранение неисправностей

В случае, если это не так, попробуйте cold reset (= прерывание электрического тока к устройству, подождите пару секунд, а затем подключить его снова).

Будьте осторожны /etc/opkg.conf, как описано здесь: https://dev.openwrt.org/ticket/13309

По неизвестным причинам, холодный сброс часто сообщается необходимо после sysupgrade. Это очень и очень плохо в случае, если вы выполнили это удаленно!

Setup with CLI

Before doing any actual configuration, the Wi-Fi interface must be enabled in order to be able to scan for networks in the vicinity:

if you have more than one Wi-Fi radio in your device, then you can use the others in this tutorial instead by substituting their number. For example to enable the second Wi-Fi radio (usually a 5Ghz radio) you would need to uci set wireless.@wifi-device.disabled=0 and then use wlan1 instead of wlan0 in the command below.

Now we can list networks in range using iw dev wlan0 scan , substituting your actual wireless interface for wlan0 if different ( ifconfig lists all available interfaces to find how your wlan is called)

iw dev wlan0 scan output example:

In the example, there are two networks, a Wi-Fi g one called Violetta and a Wi-Fi n one called GOinternet_EB20FB. The device was configured to connect to the one called Violetta.

These are the uci values that were added or changed by the configuration procedure. For SSID, BSSID, and encryption you must use the info you got from the Wi-Fi scan above. For an explanation of why these values were changed, please read the luci tutorial above.

Альтернативные процедуры обновления ОС до Luci или sysupgrade

В OS параметры обновления гораздо более ручной, чем при использовании либо LuCI или sysupgrade. Они нужны только в необычных обстоятельствах.

mtd

  1. Если sysupgrade не поддерживается для встроенного устройства,вы должны использовать вместо:

    mtd -r write /tmp/openwrt-ar71xx-generic-wzr-hp-ag300h-squashfs-sysupgrade.bin firmware

Netcat

Прямой метод

Netcat можно было бы использовать, если вы не можете свободно достаточно оперативной памяти. См netcat. Netcat должен быть установлен первым.

Этот метод НЕ рекомендуется!
  1. На компьютере Linux запустите:

    nc -q0 192.168.1.1 1234 < openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin
  2. На маршрутизаторе выполните:

    nc -l -p 1234 | mtd write - firmware

Косвенный метод

Этот метод намного безопаснее, если у вас достаточно оперативной памяти.

Этот метод отлично подходит для самостоятельной сборки firmwares.

Вы должны проверить, сколько оперативной памяти у вас есть в настоящее время.(В случае, если у вас нет достаточно осталось, обратитесь бесплатно оперативную память.)

free

Передача файла изображения во временную папку

На вашем GNU/Linux PC запустите run:cat .bin | pv -b | nc -l -p 3333

На маршрутизаторе выполните:run:nc 192.168.1.111 3333 > /tmp/.bin

Порт 3333 адрес 192.168.1.111 IP только примеры. Команда «’pv -b’» является обязательным для отслеживания прогресса, но возможно вы должны установить рv к вашей системе ранее.

Напишите это для вспышки

  sysupgrade:<code>sysupgrade -v /tmp/.bin </code>

ИЛИ

  mtd:<code>mtd -r write /tmp/.bin firmware</code>

Я тестировал под Ubuntu 11.10.

Некоторые полезные ссылки для Netcat

  • http://www.g-loaded.eu/2006/11/06/netcat-a-couple-of-useful-examples/

  • http://www.screenage.de/blog/2007/12/30/using-netcat-and-tar-for-network-file-transfer/

  • https://help.ubuntu.com/community/BackupYourSystem/TAR

  • http://www.aboutdebian.com/tar-backup.htm

scp

Убедитесь, что маршрутизатор имеет достаточно памяти.

root@OpenWrt:/# free

Убедитесь, что вы установили пароль для маршрутизатора (для включения SSH необходимо установить пароль для маршрутизатора). См. First Login для получения более подробной информации.

Скопируйте прошивку на маршрутизаторе

На вашем компьютере Linux запустите:

linux$ scp openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin root@192.168.1.1:/tmp

Ввод «да» estabilish подлинность,а затем введите пароль вашего маршрутизатора. Подождите scp команда завершена.Теперь вы можете видеть прошивку в /tmp каталог.

Написать прошивку вашего маршрутизатора

root@OpenWrt:/# sysupgrade -v /tmp/.bin 

Заметка

192.168.1.1 является IP — адрес (можно назвать GateWay) вашего маршрутизатора. Проверка бегом:
run:

linux$ ip r 

или вы можете проверить файл /etc/config/network file, 127.0.0.1 является петлевой IP адрес, другой является IP адрес вашего маршрутизатора.

root@OpenWrt:/# grep ipaddr /etc/config/network 

Example network configuration

Here an example network uci subsystem with default settings for a TL-WR1043ND:

# uci show network
network.loopback=interface
network.loopback.ifname='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.globals=globals
network.globals.ula_prefix='fd27:70fa:5c1d::/48'
network.lan=interface
network.lan.type='bridge'
network.lan.ifname='eth0.1'
network.lan.proto='static'
network.lan.netmask='255.255.255.0'
network.lan.ip6assign='60'
network.lan.ipaddr='192.168.1.1'
network.wan=interface
network.wan.ifname='eth0.2'
network.wan.proto='dhcp'
network.wan6=interface
network.wan6.ifname='eth0.2'
network.wan6.proto='dhcpv6'
network.@switch=switch
network.@switch.name='switch0'
network.@switch.reset='1'
network.@switch.enable_vlan='1'
network.@switch_vlan=switch_vlan
network.@switch_vlan.device='switch0'
network.@switch_vlan.vlan='1'
network.@switch_vlan.ports='1 2 3 4 5t'
network.@switch_vlan1=switch_vlan
network.@switch_vlan1.device='switch0'
network.@switch_vlan1.vlan='2'
network.@switch_vlan1.ports='0 5t'

and here the same settings as written in

# cat /etc/config/network
 
config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'
 
config globals 'globals'
        option ula_prefix 'fd27:70fa:5c1d::/48'
 
config interface 'lan'
        option type 'bridge'
        option ifname 'eth0.1'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipaddr '192.168.1.1'
 
config interface 'wan'
        option ifname 'eth0.2'
        option proto 'dhcp'
 
config interface 'wan6'
        option ifname 'eth0.2'
        option proto 'dhcpv6'
 
config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'
 
config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '1 2 3 4 5t'
 
config switch_vlan
        option device 'switch0'
        option vlan '2'
        option ports '0 5t'

Подключение через telnet

BusyBox v1.17.3 (2011-02-22 23:42:42 CET) built-in shell (ash)
Enter 'help' for a list of built-in commands.
  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 ATTITUDE ADJUSTMENT (bleeding edge, r26290) ----------
  * 1/4 oz Vodka      Pour all ingredents into mixing
  * 1/4 oz Gin        tin with ice, strain into glass.
  * 1/4 oz Amaretto
  * 1/4 oz Triple sec
  * 1/4 oz Peach schnapps
  * 1/4 oz Sour mix
  * 1 splash Cranberry juice
 -----------------------------------------------------
root@openwrt:~$

наберите passwd в строке ввода. Вам будет предложено создать новый пароль для пользователя root:

root@openwrt:~$ passwd
Changing password for root
New password:
Retype password:
Password for root changed by root
root@openwrt:~$
  • пожалуйста, используйте надежный пароль.
  • после того как вы установили пароль telnet daemon будет отключен, наберите в командной строке
  • SSH уже доступен без перезагрузки; подключайтесь через HTTPS, если Web-интерфейс (LuCI) уже установлен TLS-модули
  • подключитесь опять с помощью команды или используйте dropbear.public-key.auth

  • продолжайте с базовой конфигурацией

Шаг 2. Настройка VPN WireGuard

Для того, чтобы обходить блокировки по IP-адресам, придётся настроить VPN —
другого способа нет. VPN «спрячёт» от провайдера ваши IP-пакеты так, что он
не будет знать куда именно они направляются и что в себе содержат.
В качестве протокола предлагаю использовать WireGuard — легковесный VPN-протокол,
который к тому же довольно легко настраивать.

Всё описанное дальше вдохновлено и по сути является пересказом вот
этой замечательной статьи
на Хабре с некоторыми (минимальными) дополнениями от меня.

В последнее время появляется очень много VPN-сервисов, которые работают по
протоколу WireGuard — это нынче горячая тема. Недавно
поддержка WireGuard была добавлена в основной состав ядра Linux.
Погуглите, выбор сервисов действительно есть. Сейчас я пользуюсь
RedShieldVPN, и меня пока
что всё устраивает.

Бонус для читателей: при регистрации
по этой ссылке вам подарят
месяц бесплатного VPN.

Дальше буду описывать процесс для RedShieldVPN, но, думаю, для других подобных
сервисов процесс должен быть похожим.

  1. Переходим в раздел WireGuard,
    авторизуемся, выбираем страну и скачиваем конфиг. Я обычно выбираю какую-нибудь
    европейскую страну, чтобы пинг был приемлемым. В этот раз возьму Финляндию.

    Вот примерно такой файл конфигурации скачался (ключи я заменил):

  2. Переключимся на роутер и установим там нужную зависимость:

  3. Дальше нужно настроить сеть. Это происходит в файле .
    Открываем его при помощи (если не умеете пользоваться этим редактором, то
    лучше предварительно
    почитайте что-нибудь
    для подготовки психики) и дописываем в конец две секции вот такого содержания:

    Приватный и публичный ключи замените соответствующими значениями из конфига.
    Поле заполняется IPv4-адресом из строчки в конфиге,
    а IPv6 адрес мы просто игнорируем — позже станет понятно почему.
    Поле из конфига WireGuard распадается, соответственно,
    в поля и в конфиге OpenWRT.
    Остальные поля статичные.

  4. Перезапустим сеть на роутере:

  5. Проверим VPN:

    Если команда выводит что-то подобное, то всё идёт хорошо.

Пояснения

Что такое Image File?

Image file (файл образа) — это побайтовая копия всех данных, используемых в файловой системе. Если вы установите GNU/Linux простым способом на один или несколько разделов вашего жесткого диска, а потом скопируете все содержимое байт за байтом с вашего жесткого диска в один файл:

dd if=devsda of=mediasdb3backup-sda.dd

то полученный файл и будет являться файлом образа (Вашего дискового тома /dev/sda).

Разница с OpenWRT лишь в том, что рабочие OpenWrt-Image-File так не создаются Они создаются специальной программой Image Generator (ранее называвшейся Image Builder). Вы можете прочитать больше:

  • flash.layout

  • headers

  • imagebuilder Если вы хотите узнать больше об Image Generator, вернитесь в раздел downloads и выберите второй путь.

Настройка клиентов на сервер

Создайте клиентский конфигурационный файл OpenVPN, сохраните его с расширением для Windows или для *nix систем и отошлите его вашему клиенту:

Традиционный (TUN) Клиент

dev tun
proto udp

log openvpn.log
verb 3

ca /etc/openvpn/ca.crt
cert /etc/openvpn/my-client.crt
key /etc/openvpn/my-client.key

client
remote-cert-tls server
remote SERVER_IP_ADDRESS 1194

Клиент в режиме моста (TAP)

dev tap
proto udp

log openvpn.log
verb 3

ca /etc/openvpn/ca.crt
cert /etc/openvpn/my-client.crt
key /etc/openvpn/my-client.key

client
remote-cert-tls server
remote SERVER_IP_ADDRESS 1194

Проверьте файл прошивки и запустите прошивку

  1. Подключитесь к устройству через кабель Ethernet (используйте только беспроводную связь, если в устройстве нет параметров подключения Ethernet)
  2. Войдите в графический интерфейс веб-администратора LEDE и в меню Система → Резервное копирование/флэш-прошивка перейдите к разделу “Flash new firmware image” section.
  3. Снимите/флажок “Сохранить настройки”! (больше информации о флажке «Keep settings» это редкие случаи использования).
  4. Убедитесь, что файл прошивки LEDE, который вы собираетесь выполнить, соответствует вашей модели маршрутизатора и называется “….sysupgrade.bin”, так как вы обновите существующую систему LEDE/OpenWrt до новой версии прошивки LEDE.
  5. В разделе “Flash new firmware image” нажмите “Выбрать файл” чтобы выбрать файл изображения, затем нажмите “Flash image…”. Это отображает страницу “Flash Firmware — Verify“ page, содержащую контрольную сумму SHA256 файла изображения, только что загруженного на маршрутизатор.
  6. Убедитесь, что контрольная сумма прошивки, отображаемая в веб-графическом интерфейсе, соответствует контрольной сумме SHA256 со страницы, загруженной LEDE. Если он не соответствует, НЕ продолжайте, поскольку он является поврежденным файлом и, скорее всего, будет блокировать ваше устройство. Примечание. Если вы обновляетесь с OpenWRT 15.05, отображается 32 символа — контрольная сумма MD5, а не SHA256. Перед продолжением проверьте эту контрольную сумму MD5 в своей операционной системе.
  7. Если контрольная сумма совпадает, нажмите “Продолжить”. Это запускает “System — Flashing …” вместе с вращающимся колесом и “Ожидание внесения изменений…”
  8. Это может занять несколько минут, в то время как маршрутизатор загружает изображение прошивки и записывает его в свой флеш-диск и наконец, перезагружается.
  9. Установлена ​​новая прошивка. Перейдите к следующему разделу, чтобы проверить результат.

Исправление проблем:

  • если процесс контрольной суммы не удался, НЕ начинайте мигать, так как загрузка может быть повреждена. Коррумпированный файл прошивки может заблокировать ваше устройство! Вместо этого повторите эту процедуру с другой попыткой загрузки из раздела загрузки.
  • если шаг контрольной суммы неоднократно прерывается, вы можете обратиться за «помощью к форуму LEDE» for help. Обязательно укажите точный бренд, модель и версию вашего устройства.

Дополнительная настройка после обновления OpenWRT

Проверка новой версии ОС

* В Luci, перейдите к положению> Обзор, чтобы подтвердить, что вы запускаете новый релиз OpenWRT
* В SSH баннер входа содержит сведения о выпуске

Проверьте наличие обновляемого пакетов

После первоначального обновления рекомендуется проверить наличие обновленных пакетов, выпущенных после создания базового образа микропрограммы ОС.

Перечислите любые доступные обновляемые пакеты:

opkg update
opkg list-upgradable
  • Обновите все перечисленные пакеты (если они были перечислены) — можно включить несколько пакетов
  • Примечание: на устройстве только с 4МБ NVRAM, эти обновления могут не соответствовать — проверить наличие свободного места на / first with “df -h /” и убедитесь, есть по крайней мере, 600KB или так свободно
  • Примечание: обновления ниже были доступны по состоянию на 12 сентября 2015 года обновления OpenWrt 15.05
opkg upgrade luci-lib-ip luci-theme-bootstrap luci-app-firewall luci-proto-ppp luci-mod-admin-full luci-base luci-proto-ipv6 luci-lib-nixio luci

* Убедитесь,что пакеты больше не могут быть обновлены; команда не должна отображать выходные данные

opkg list-upgradable

Переустановите пакеты, установленные пользователем

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

Например:

opkg update
opkg install snmpd-static

Настройка установленных пользователем пакетов

В новых установках пакета будут установлены новые версии файлов конфигурации пакета по умолчанию. Поскольку существующие конфигурационные файлы уже были созданы, opkg отображал бы предупреждение об этом и сохранял новые версии конфигурационных файлов в разделе …-opkg имена.

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

Программа diffutils полезна для этого.

Например:

# Установить Diffutils
opkg install diffutils
 
# Найти все файлы -opkg
find etc -name *-opkg
 
# сравниваем старые настроенный файл /etc/config и/snmpd будет с новый общий файл /etc/config и/snmpd будет-opkg
diff etcconfigsnmpd etcconfigsnmpd-opkg 
 
# слияние всех необходимых изменений в активной версии файла конфигурации
vi etcconfigsnmpd
# и очистить путем удаления пакета менеджер-версию файла конфигурации
rm etcconfigsnmpd-opkg
 
# Или если новая версия предоставляется сопровождающим пакета следует просто заменить старый конфигурационный файл,то просто поменять его в
mv etcconfigsnmpd-opkg etcconfigsnmpd

Включить и запустить установленные пользователем пакеты

* Наконец, вновь установленные пакеты должны быть включены и запущены (если это необходимо; многие делают)

etcinit.dsnmpd enable
etcinit.dsnmpd start

Выполните пробную перезагрузку

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

reboot

Performance & stability

OpenWrt is designed by network professionals and others who care about the performance of their network.
OpenWrt incorporates many algorithms from recent research that perform far better than vendor-supplied firmware.

  • OpenWrt is stable, and operates reliably for long periods of time.
  • OpenWrt reduces latency/lag and increased network throughput via bufferbloat control algorithms.
  • Wi-Fi improvements support higher data rates and airtime fairness between stations.
  • Older devices are still supported by OpenWrt improvements (as long as RAM/Flash of your device can accommodate new releases) long after the manufacturer stops making updates.

UCI unified standard

UCI currently supports a small number of applications, so the control of these applications will become easier. These third-party applications will have their own configuration files, different syntax, different file locations, such as

Due to the emergence of the UCI unified configuration interface, the configuration of these third-party applications only needs to modify the UCI configuration file, so there is no need to find different directories and write different syntax. Of course, most of the third-party applications you install don’t provide UCI configuration interfaces. It’s probably because these applications don’t need to provide APIs to normal users. The configuration files are for developers. From this perspective. Look, it is better to not provide a UCI interface. Thus, the OpenWrt package maintainer only selects a small number of required programs to implement the UCI configuration interface. There are only a few selected programs which benefit from availability of a centralised configuration have been made UCI-compatible by the OpenWrt package maintainers (see the UCI configuration file list below).

Many third-party programs set the program’s original configuration file according to its own options corresponding to the UCI configuration file under /etc/config, thus implementing the program’s compatibility with the UCI configuration, and then executing the /etc/init.d script. Complete a configuration. Therefore, when you start a UCI-compatible process script for a program, the script should not only modify the corresponding UCI configuration file under /etc/config, but also overwrite the program’s own original configuration file. For example, the Samba/CIFS program has the original configuration file in /etc/samba/smb.conf, and the corresponding UCI file is /etc/config/samba. After the /etc/config/samba file has been modified, it needs to be run once.

The settings in the UCI file will then be updated to the original configuration file.

UCI unified standard method

In addition, the application’s configuration file is often stored in RAM instead of FLASH, because it does not need to write the non-volatile flash memory every time the parameter is modified, but only when the application changes, it will be based on UCI. In addition, the application’s configuration file is often stored in RAM instead of in flash, because it does not need to be stored in non-volatile memory and it is rewritten after every change, based on The UCI file.).

There is an article in the OpenWrt wiki that NotUCI Configuration lists some of the built-in programs that are not compatible with UCI, and other third-party programs, you have to check the program description yourself.

Security

OpenWrt is an open source software.
Many developers from all over the world review the code before it’s released.

  • No hidden backdoors left by hardware vendors.
  • OpenWrt is resistant to common vulnerabilities thanks to its Linux OS which is unaffected by many common attacks.
  • OpenWrt is actively updated so any vulnerabilities are closed shortly after they are discovered.
  • Default OpenWrt configuration is very conservative allowing full internet connectivity without exposing your router or connected devices to attacks.
  • Many of the older devices are supported by OpenWrt and can enjoy security OpenWrt brings, long after vendors stop releasing firmware updates.
  • OpenWrt prolongs the life of your router. While many vendors only provide updates for your router/device until the newer model is released, OpenWrt supports all compatible models for as long as their RAM/Flash can accommodate new releases.

Что такое OpenWrt?

Вместо того, чтобы пытаться создать единую статическую прошивку, OpenWrt предоставляет полностью записываемую файловую систему с дополнительным управлением пакетами. Это освобождает вас от ограничений выбора и конфигурации приложений, предоставляемых поставщиком, и позволяет использовать пакеты для настройки встроенного устройства в соответствии с любым приложением. Для разработчиков OpenWrt предоставляет платформу для создания приложения без необходимости создания полного образа прошивки и распространения по нему. Для пользователей это означает свободу полной настройки, позволяющую использовать встроенное устройство способами, которые поставщик никогда не предполагал.

Методика

1. Делайте все под обычным пользователем (не под суперпользователем, non-root)
2. Выполняйте все команды в каталоге , например
  1. Скачайте исходные коды OpenWrt, либо, если они уже скачаны, обновите исходные коды OpenWrt.
  2. Обновите и установите пакеты из репозитория.
  3. Настройте параметры сборки.
  4. Запустите сборку. Будет произведена автоматическая компиляция набора инструментов (toolchain), кросс-компиляция исходных кодов и пакетов, и в конце будет сгенерирован образ готовый к прошивке.
  5. Приступите к установке OpenWrt

Скачивание исходных кодов

Скачайте исходные коды:
Свежая версия (trunk)

git clone https://github.com/openwrt/openwrt.git

(Последний) релиз Chaos Calmer 15.05.1

git clone https://github.com/openwrt/openwrt.git -b v15.05.1

Последняя версия в ветке Chaos Calmer

git clone https://github.com/openwrt/openwrt.git -b chaos_calmer

Обновление исходных кодов

Обновите исходные коды :

git pull

Исходные коды OpenWrt часто изменяются. Рекомендуется использовать исходные коды последней редакции.

Обновление репозитория

Обновите репозиторий:

./scripts/feeds update -a

“Установите” загруженные пакеты (не обязательно, но требуется, если вы хотите , к примеру, собрать прошивку с LuCI).

Эта процедура создаст символьные ссылки на подкаталоги пакетов в основном “дереве” исходных текстов.

Для установки индивидуальных пакетов:

./scripts/feeds install <PACKAGENAME>

Чтобы собрать всё дерево пакетов:

./scripts/feeds install -a

ПРЕДУПРЕЖДЕНИЕ Это может занять много времени и не требуется, если вы не планируете развертывание репозитория пакетов для своей сборки.

Управление соединениями

Набираем в консоли

Теперь проверяем в протоколе работы маршрутизатора (команда или страничка “System log” в LUCI), что модемное соединение подключено:

pppd 2.4.4 started by root, uid 0
abort on (BUSY)
abort on (ERROR)
report (CONNECT)
timeout set to 12 seconds
send (AT&F^M)
expect (OK)
AT&F^M^M
OK
 -- got it
send (ATE1^M)
expect (OK)
^M
ATE1^M^M
OK
 -- got it
send (AT+CGDCONT=1,"IP","your.apn"^M)
abort on (NO CARRIER)
timeout set to 15 seconds
expect (OK)
^M
AT+CGDCONT=1,"IP","your.apn"^M^M
OK
 -- got it
send (ATD*99***1#^M)
expect (CONNECT)
^M
ATD*99***1#^M^M
CONNECT
 -- got it
send ( ^M)
Serial connection established.
Using interface 3g-wan
Connect: 3g-wan <--> /dev/ttyUSB0
Could not determine remote IP address: defaulting to x.x.x.x
local  IP address x.x.x.x
remote IP address  x.x.x.x
primary   DNS address  x.x.x.x
secondary DNS address  x.x.x.x
adding wan (3g-wan) to firewall zone wan

Вот и все! Вы подключены.

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