команда opkg install завершилась с кодом ошибки 255

opkg: return 255 when using Luci and Lighttpd to install software packages #1922

Comments

alzhao commented Nov 6, 2015

When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be «status 255» errors when you install anything from the web UI.

Collected errors: * pkg_run_script: package «socat» postinst script returned status 255. * opkg_configure: socat.postinst returned 255.

There is no problem to install via shell.
Similar problems are found by others: https://forum.openwrt.org/viewtopic.php?id=56953

This was no such issues in BB1407.

The text was updated successfully, but these errors were encountered:

We are unable to convert the task to an issue at this time. Please try again.

The issue was successfully created but we are unable to update the comment at this time.

gstrauss commented Jan 5, 2017

@alzhao is this still an issue for you?

gstrauss commented Jan 5, 2017

I’m willing to look into it if more info can be provided, such as any info in lighttpd error.log or breakage.log, or any other info as to why socat.postinst (or other scripts) are getting errors from ‘something’ and therefore exiting 255. I do not currently have an openwrt environment set up.

alzhao commented Feb 24, 2017

I can send you one router and you play with it. OK?

gstrauss commented Feb 24, 2017

Sure. I am up for that. Please email me privately (email on my github page https://github.com/gstrauss)

The issue might be related to startup scripts restarting lighttpd. See also discussion in pi-hole/pi-hole#945

gstrauss commented Mar 2, 2017 •

I got my hands on some sacrificial hardware and installed openwrt 15.05.1. I was able to reproduce the problem. lighttpd (intentionally) clears the environment when running CGI scripts, including PATH. Therefore PATH is the default in the shell when PATH is not set, usually «/bin:/usr/bin» or something like that, but apparently that not what /bin/opkg expects, and opkg fails to execute some commands.

strace found that opkg tried to execve() «(null)/sh»

This is something that should be fixed in opkg ( «(null)/sh» is obviously wrong). However, since LuCI intends to do root-level things, LuCI itself ought to check for the presence of /usr/sbin:/sbin in PATH, and ought to set a reasonable PATH (for LuCI) if one is not present.

So, both opkg and LuCI ought to get some patches.

In the meantime, https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModCGI section «PATH environment variable» suggests using mod_setenv ( opkg install lighttpd-mod-setenv ) and configuring /etc/lighttpd/conf.d/30-setenv.conf with

(updated example above per @alzhao comment below)

alzhao commented Mar 2, 2017

@gstrauss Thanks. I just tried to add setenv to lighttpd and it works. However the correct syntax is the following:
setenv.add-environment = ( «PATH» => «/sbin:/usr/sbin:/bin:/usr/bin» )
Just cannot believe lighttpd docs just contains such errors.

Will you be able to make the patches for opkg and luci?

gstrauss commented Mar 2, 2017

@alzhao Thx for the correction. FYI: the lighttpd wiki doc contained that error only for a few hours, as I had made the changes earlier today. They have been updated, too.

alzhao commented Mar 2, 2017

@gstrauss sorry I am aware you are lighttpd developer and just modified that. I thought that was a well managed wiki. Thanks very much for your help!

gstrauss commented Mar 2, 2017

See openwrt/luci#1048 for pull request I submitted to openwrt/luci repo.

I do not have further time at the moment to look into a similar fix for opkg, but openwrt/luci#1048 also applies to opkg when LuCI CGI calls opkg

gstrauss commented Mar 2, 2017

Actual source of the problem isolated in opkg. opkg_prep_intercepts() calls getenv(«PATH») and then uses the returned value in string concatenation without checking if getenv(«PATH») returned NULL. Some newer libc *sprintf() implementations replace NULL with the «(null)». (Other implementations may crash dereferencing NULL ptr.)

Later, in opkg_finalize_intercepts(), setenv() is called to set PATH and, again, a NULL value is passed (instead of using unsetenv() if original PATH was NULL). This setenv() might fail (or crash) when copying the value (NULL), though that is implementation-dependent.

execvp() has special behavior if PATH is unset, but after opkg_prep_intercepts(), PATH is no longer unset in the environment, and can be considered undefined behavior.

I’ll submit some patches upstream to the opkg-devel mailing list on googlegroups.com.

hnyman commented Mar 2, 2017

I’ll submit some patches upstream to the opkg-devel mailing list on googlegroups.com.

Not much use, as Openwrt and LEDE use an ancient version of opkg due to size constraints.

Источник

Менеджер пакетов opkg. Offline инсталляция пакетов в образ корневой файловой системы

команда opkg install завершилась с кодом ошибки 255. image loader. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-image loader. картинка команда opkg install завершилась с кодом ошибки 255. картинка image loader. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

Широко известный в узких кругах легковесный менеджер пакетов opkg получил распространение в embedded Linux не случайно. Opkg используется во многих встраиваемых дистрибутивах и проектах, например, в OpenEmbedded, Yocto Project, OpenWRT, Ångström, Arago Project и некоторых других. Менеджер прост в эксплуатации, для полноценной работы вполне достаточно встроенной справки, а на просторах всемирной паутины множество статей о том, как устроен сам пакет ipk (opkg работает с таким форматом): как его создать, как установить и т.д и т.п. Однако подавляющее большинство информации посвящено тому, как работать на уже установленной на целевую платформу (target) системе в online-режиме, но специфика Embedded подразумевает, что образ корневой файловой системы, а также ядро готовятся заранее на некоторой инструментальной платформе (host), отличной от целевой. Иными словами, собираем ядро и файловую систему на рабочем компьютере, упаковываем в образ, образ тиражируем на железо. Эта статья посвящена тому, как с помощью менеджера opkg установить пакеты в подготавливаемый образ rootfs.

Путь граблей и велосипедов

Следующим шагом для меня стало понимание структуры самого покета *.ipk. По сути вещей, пакет ipk является архивом, распаковать который можно легко с помощью команды:

В результате получим:

В архиве data.tar.gz содержатся файлы, которые должны быть помещены в корневую директорию target’а.
В архиве control.tar.gz содержатся служебные файлы: файл с описанием и скрипты. Идея простая: так как ipk – это всего лишь архив со скриптами, то мы можем всегда руками распаковать его в директорию с файловой системой, а потом запустить (если есть в этом необходимость) скрипты. Вот только все зависимости пакета нам придется устанавливать также вручную.
А если зависимости имеют еще зависимости? Возникает идея, может быть написать скрипт для автоматизации процесса? Как это часто бывает в мире linux, если перед тобой возникла задача, то, скорее всего, такая задача возникла не перед тобой одним, и, скорее всего, ты в этом деле не первый.
Далеко ходить не пришлось, на самом деле в сам менеджер пакетов opkg заложен такой режим, когда пакеты устанавливаются в неактивную файловую систему rootfs. При этом, архитектура host-машины (где запускаются утилиты opkg) и target-машины могут быть отличными. Такой режим называется Offline mode. В таком режиме opkg становится мощнейшим инструментом кросс-разработки.

Собираем opkg для host

Для работы в режиме Offline opkg должен запускаться на host’е. С давних пор на моем рабочем компьютере обосновалась Ubuntu (сейчас стоит Ubuntu 14.04 LTS), на ней и будем строить наш инструментарий. Мне не удалось найти репозиторий с opkg для Ubuntu, потому собираем набор утилит из исходников.
Получить исходные коды можно с git репозитория Yocto Project:

На самом деле настройка и компиляция проекта выполняется достаточно стандартным способом, но есть некоторые нюансы, и потому все по порядку.
Запускаем:

Компилируем и устанавливаем opkg:

Краткий курс анатомии

Работа с целевой rootfs

Просматриваем список доступных пакетов, ищем minicom.

Смотрим информацию о пакете:

В файле var/lib/opkg появилась запись:

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

Вместо заключения

Источник

Команда opkg install завершилась с кодом ошибки 255

команда opkg install завершилась с кодом ошибки 255. 13463964. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-13463964. картинка команда opkg install завершилась с кодом ошибки 255. картинка 13463964. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

Последняя версия: OpenWrt 21.02.0
В данной теме необходимо размещать изображения и логи под спойлеромкоманда opkg install завершилась с кодом ошибки 255. . команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-. картинка команда opkg install завершилась с кодом ошибки 255. картинка . When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

OpenWrt — встраиваемая операционная система, основанная на ядре Linux, и предназначенная, в первую очередь, для домашних маршрутизаторов. Основные компоненты включают в себя ядро Linux, util-linux, uClibc или musl и BusyBox. Исходный код открытый. Распространяется под лицензией GNU GPL

Проект LEDE разработан на основе линукса, встраиваемый мета-дистрибутив базирующийся на OpenWRT, ориентирован на широкий спектр беспроводных маршрутизаторов SOHO и не-сетевых устройств. “Linux Embedded Development Environment” (Встраиваемая среда разработки линукс).
LEDE отвернулся от материнского проекта в мае 2016 года, с целью продолжить разрабатывать лучшее программное обеспечение в открытой модели управления и поощрение новых разработчиков внести свой вклад и усилия в области развития.

команда opkg install завершилась с кодом ошибки 255. 13463864. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-13463864. картинка команда opkg install завершилась с кодом ошибки 255. картинка 13463864. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

Настройка TFTP-сервера tftpd-hpa

Установим пакет tftpd-hpa:

содержащий настройки сервера. Приведём его к следующему виду:

В настройках указаны дополнительные опции:
create разрешает серверу создавать новые файлы,
ipv4 предписывает ему ожидать подключений только на адресах IPv4,
umask предписывает сбрасывать бит записи для группы и все биты доступа для остальных пользователей,
permissive предписывает не проводить никаких проверок прав доступа к файлу сверх производимых операционной системой.
Создадим каталог для tftp-сервера, дадим серверу доступ к каталогу:

sudo mkdir /var/tftp

sudo chown tftp:tftp /var/tftp

Можно также поменять домашний каталог пользователя tftp в файле /etc/passwd на /var/tftp.

Теперь просто прописываем нужные нам ip адреса через gnome network manager и все.

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

Где найти прошивку для TP-Link TL-WR941N/ND v3.1

команда opkg install завершилась с кодом ошибки 255. 13488153. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-13488153. картинка команда opkg install завершилась с кодом ошибки 255. картинка 13488153. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

Убедитесь что в /etc/config/igmpproxy

config igmpproxy
option quickleave 1
# option verbose 1

config phyint
option network wan
option zone wan
option direction upstream
list altnet 192.168.0.0/16
list altnet 172.16.0.0/12
list altnet 10.0.0.0/8

config phyint
option network lan
option zone lan
option direction downstream

А в /etc/config/firewall

config rule
option name ‘Allow-IPTV-IGMPPROXY’
option src ‘wan’
option proto ‘udp’
option dest_ip ‘224.0.0.0/4’
option target ‘ACCEPT’
option family ‘ipv4’
option dest ‘lan’

config rule
option name ‘Allow-IGMP’
option src ‘wan’
option proto ‘igmp’
option family ‘ipv4’
option target ‘ACCEPT’

Еще проблема может быть из-из появившейся поддержки IGMP snooping.

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

команда opkg install завершилась с кодом ошибки 255. 13525654. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-13525654. картинка команда opkg install завершилась с кодом ошибки 255. картинка 13525654. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

команда opkg install завершилась с кодом ошибки 255. 13525705. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-13525705. картинка команда opkg install завершилась с кодом ошибки 255. картинка 13525705. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

команда opkg install завершилась с кодом ошибки 255. 13525726. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-13525726. картинка команда opkg install завершилась с кодом ошибки 255. картинка 13525726. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

команда opkg install завершилась с кодом ошибки 255. 13525725. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-13525725. картинка команда opkg install завершилась с кодом ошибки 255. картинка 13525725. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

команда opkg install завершилась с кодом ошибки 255. 13525727. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-13525727. картинка команда opkg install завершилась с кодом ошибки 255. картинка 13525727. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

1) Подготовить USB-флешку. На флешке два раздела. Первый на 1 ГБ с файловой системой ext4. Второй — на всё оставшееся пространство тоже с файловой системой ext4.

2) Воткнуть флешку в роутер. Обновить список пакетов и установить необходимые:

3) В LuCi появится новый пункт меню, связанный с монтированием разделов накопителя (System → Mount Points). Там нужно нажать кнопку Generate Config, которая обнаружит разделы на подключённом накопителе — в Mount Points появятся разделы /dev/sda1 (1024 MB) и /dev/sda2

4) Нажать Edit возле sda1, включить Enable this mount, в качестве Mount point выбрать /overlay. Точно так же включить автомонтирование sda2 в качестве /data
В /data можно закачивать торренты и т. п. Это просто раздел под ваши нужды. У меня туда статистика использования трафика собирается, например.

5) Скопировать содержимое /overlay на флешку. В терминале:

6) Перезагрузить роутер (если всё получилось, то на странице Software должно прибавиться количество свободного места)

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

Для любителей микрооптимизации: во-первых, читать это
Если желание оптимизировать ещё не пропало, можно заменить ext4 на F2FS (соответственно вместо kmod-fs-ext4 ставить kmod-fs-f2fs)
Если к использованию F2FS вы не готовы, а желание сэкономить ресурс флешки сильнее страха приключений на пятую точку, то:
— в п.1 после создания на флешке разделов выполнить в терминале:

Предварительные требования:
— прошита OpenWrt 18.06
— установлен веб-интерфейс LuCi
— роутер имеет доступ в Интернет

1) Обновить список пакетов (System → Software → Update lists), установить OpenVPN:

Впрочем, будет работать и openvpn-openssl. Если вы используете что-то более ранее, чем OpenWrt 18.06, то жизненно необходимо установить openvpn-openssl вместо openvpn-mbedtls.

Отредактировать этот файл, дописав куда-нибудь в его середину строку:

config openvpn antizapret

option enabled 1
option config /etc/openvpn/antizapret-tcp.ovpn

(опять же, способ редактирования конфига оставлен на усмотрение читателя: одному удобно через vi, другому через тот же WinSCP). antizapret-tcp.ovpn — это файл, который вы на прошлом шаге копировали. Если его название изменилось, то, соответственно, исправьте его и тут в конфиге.

4) Включить и запустить VPN (System → Startup). Проверить, что всё запустилось корректно. В Status → System Log будет примерно следующее:

5) Создать новый интерфейс (Network → Interfaces → Add new interface):
Name of the new interface: antizapret
Protocol of the new interface: unmanaged
Cover the following interface: Ethernet Adapter: «tun0»
Advanced settings → Bring up on boot
Firewall Settings → Create: → antizapret
Save and Apply

6) Настроить зону файерволла antizapret (Network → Firewall → antizapret → Edit):
Input: reject
Включить Masquerading и MSS clamping
Allow forward from source zones: lan
Save and Apply

7) Исправить /etc/config/dhcp:
значение

8) Указать DNS-сервер, который будет использоваться, если подключение к VPN-серверу разорвано:
в настройках обоих интерфейсов WAN и WAN6 (Network → Interfaces) отключить Use DNS servers advertised by peer на вкладке Advanced settings
в настройках интерфейса WAN в поле Use custom DNS servers вписать адрес 1.1.1.1
Save and Apply

На сообщения «WARNING: this configuration may cache passwords in memory» в журнале внимания обращать не нужно, это неактуально, потому что паролей у нас нет. Если напрягает, можете добавить в файл конфигурации строчку

Плюсы:
— через VPN идёт лишь трафик до заблокированных доменов, остальной трафик идёт «напрямую» (нет потери скорости, у вас не меняется IP)
— следствие из предыдущего: трафик небольшой и поддержание бесплатного сервиса не бьёт по карману владельца

Предварительные требования:
— прошита OpenWrt 18.06
— установлен веб-интерфейс LuCi
— роутер имеет доступ в Интернет

1) Обновить список пакетов (System → Software → Update lists), установить OpenVPN, собранный с поддержкой mbed TLS:

Впрочем, будет работать и openvpn-openssl. Если вы используете что-то более ранее, чем OpenWrt 18.06, то жизненно необходимо установить openvpn-openssl вместо openvpn-mbedtls.

3) Заменить содержимое /etc/config/openvpn на:

config openvpn zaborona

option enabled 1
option config /etc/openvpn/zaborona-help.ovpn

(опять же, способ редактирования конфига оставлен на усмотрение читателя: одному удобно через vi, другому через тот же WinSCP). zaborona-help.ovpn — это файл, который вы на прошлом шаге копировали. Если его название изменилось, то, соответственно, исправьте его и тут в конфиге.

4) Включить и запустить VPN (System → Startup). Проверить, что всё запустилось корректно. В Status → System Log будет примерно следующее:

5) Создать новый интерфейс (Network → Interfaces → Add new interface):
Name of the new interface: zaborona
Protocol of the new interface: unmanaged
Cover the following interface: Ethernet Adapter: «tun0»
Advanced settings → Bring up on boot
Firewall Settings → Create: → zaborona
Save and Apply

6) Настроить зону файерволла zaborona (Network → Firewall → zaborona → Edit):
Input: reject
Включить Masquerading и MSS clamping
Allow forward from source zones: lan
Save and Apply

7) Если у вас пропал доступ в Интернет после этого пункта, не делайте его. В настройках интерфейса «WAN» (Network → Interfaces) отключить Use DNS servers advertised by peer на вкладке Advanced settings. В Use custom DNS servers вписать адрес 74.82.42.42. Нажать рядом «+», во вторую появившуюся строку вписать адрес 77.88.8.8. Save and Apply.

В настройках интерфейса «WAN6» (Network → Interfaces) отключить Use DNS servers advertised by peer на вкладке Advanced settings. В Use custom DNS servers вписать адрес 2001:4860:4860::8888. Нажать рядом «+», во вторую появившуюся строку вписать адрес 2001:4860:4860::8844. Save and Apply.

На сообщения «WARNING: this configuration may cache passwords in memory» в журнале внимания обращать не нужно, это неактуально, потому что паролей у нас нет. Если напрягает, можете добавить в файл конфигурации строчку

Плюсы:
— через VPN идёт лишь трафик до заблокированных доменов, остальной трафик идёт «напрямую» (нет потери скорости, у вас не меняется IP)
— следствие из предыдущего: трафик небольшой и поддержание бесплатного сервиса не бьёт по карману владельца

а также отключить DNS over HTTPS в сетевых настройках браузера.

Не забудьте перезапустить dnsmasq:

1) задать пароль администратора (через LuCI)

2) в разделе System → Administration включить Dropbear на интерфейсе «lan» (если включить на «wan», то он будет доступен всему интернету (если у вас белый IP), вскоре его начнут подбирать трудолюбивые китайцы. Поэтому, не вешайте на «wan»).

3) с помощью WinSCP подключиться со следующими параметрами:
Host name: 192.168.1.1
Login: root
Password: пароль_который_вы_установили_на_шаге_1

Получаете обычный 2-панельный файловый менеджер, с помощью которого можно перетаскивать файлы с ПК на роутер и обратно, а также править файлы на роутере).

1) задать пароль администратора (через LuCI)

2) в разделе System → Administration включить Dropbear на интерфейсе «lan» (если включить на «wan», то он будет доступен всему интернету (если у вас белый IP), вскоре его начнут подбирать трудолюбивые китайцы. Поэтому, не вешайте на «wan»).

3) с помощью SFTP-плагина для TC/DC (этот плагин, вопреки своему названию, умеет работать и по SCP) подключиться со следующими параметрами:
Connect to: 192.168.1.1
User name: root
Password: пароль_который_вы_установили_на_шаге_1

Если вы создаёте или редактируете файл в Windows, а затем копируете его на роутер, то перед копированием убедитесь, что переносы строк в файле UNIX-овские, а не Windows-овские! Для этого достаточно открыть файл в Notepad++ и в статусной строке внизу справа найти «Unix (LF)». Если там «Windows (CR LF)», то щёлкните правой кнопкой по надписи, выберите «Unix (LF)» и сохраните файл. Всё это нужно повторять после каждого редактирования, поэтому сначала редактируете как душе угодно, а затем уже проверяете переносы и заливаете на роутер.

Источник

Команда opkg install завершилась с кодом ошибки 255

команда opkg install завершилась с кодом ошибки 255. 13463964. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-13463964. картинка команда opkg install завершилась с кодом ошибки 255. картинка 13463964. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

Последняя версия: OpenWrt 21.02.0
В данной теме необходимо размещать изображения и логи под спойлеромкоманда opkg install завершилась с кодом ошибки 255. . команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-. картинка команда opkg install завершилась с кодом ошибки 255. картинка . When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

OpenWrt — встраиваемая операционная система, основанная на ядре Linux, и предназначенная, в первую очередь, для домашних маршрутизаторов. Основные компоненты включают в себя ядро Linux, util-linux, uClibc или musl и BusyBox. Исходный код открытый. Распространяется под лицензией GNU GPL

Проект LEDE разработан на основе линукса, встраиваемый мета-дистрибутив базирующийся на OpenWRT, ориентирован на широкий спектр беспроводных маршрутизаторов SOHO и не-сетевых устройств. “Linux Embedded Development Environment” (Встраиваемая среда разработки линукс).
LEDE отвернулся от материнского проекта в мае 2016 года, с целью продолжить разрабатывать лучшее программное обеспечение в открытой модели управления и поощрение новых разработчиков внести свой вклад и усилия в области развития.

команда opkg install завершилась с кодом ошибки 255. 13463864. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-13463864. картинка команда opkg install завершилась с кодом ошибки 255. картинка 13463864. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

Настройка TFTP-сервера tftpd-hpa

Установим пакет tftpd-hpa:

содержащий настройки сервера. Приведём его к следующему виду:

В настройках указаны дополнительные опции:
create разрешает серверу создавать новые файлы,
ipv4 предписывает ему ожидать подключений только на адресах IPv4,
umask предписывает сбрасывать бит записи для группы и все биты доступа для остальных пользователей,
permissive предписывает не проводить никаких проверок прав доступа к файлу сверх производимых операционной системой.
Создадим каталог для tftp-сервера, дадим серверу доступ к каталогу:

sudo mkdir /var/tftp

sudo chown tftp:tftp /var/tftp

Можно также поменять домашний каталог пользователя tftp в файле /etc/passwd на /var/tftp.

Теперь просто прописываем нужные нам ip адреса через gnome network manager и все.

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

Где найти прошивку для TP-Link TL-WR941N/ND v3.1

команда opkg install завершилась с кодом ошибки 255. 13488153. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-13488153. картинка команда opkg install завершилась с кодом ошибки 255. картинка 13488153. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

Убедитесь что в /etc/config/igmpproxy

config igmpproxy
option quickleave 1
# option verbose 2

config phyint
option network wan
option zone wan
option direction upstream
list altnet 192.168.0.0/16
list altnet 172.16.0.0/12
list altnet 10.0.0.0/8

config phyint
option network lan
option zone lan
option direction downstream

А в /etc/config/firewall

config rule
option name ‘Allow-IPTV-IGMPPROXY’
option src ‘wan’
option proto ‘udp’
option dest_ip ‘224.0.0.0/4’
option target ‘ACCEPT’
option family ‘ipv4’
option dest ‘lan’

config rule
option name ‘Allow-IGMP’
option src ‘wan’
option proto ‘igmp’
option family ‘ipv4’
option target ‘ACCEPT’

Еще проблема может быть из-из появившейся поддержки IGMP snooping.

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

команда opkg install завершилась с кодом ошибки 255. 13525654. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-13525654. картинка команда opkg install завершилась с кодом ошибки 255. картинка 13525654. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

команда opkg install завершилась с кодом ошибки 255. 13525705. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-13525705. картинка команда opkg install завершилась с кодом ошибки 255. картинка 13525705. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

команда opkg install завершилась с кодом ошибки 255. 13525726. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-13525726. картинка команда opkg install завершилась с кодом ошибки 255. картинка 13525726. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

команда opkg install завершилась с кодом ошибки 255. 13525725. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-13525725. картинка команда opkg install завершилась с кодом ошибки 255. картинка 13525725. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

команда opkg install завершилась с кодом ошибки 255. 13525727. команда opkg install завершилась с кодом ошибки 255 фото. команда opkg install завершилась с кодом ошибки 255-13525727. картинка команда opkg install завершилась с кодом ошибки 255. картинка 13525727. When using Luci and uhttpd, it works fine. But when using Lighttpd, there will be "status 255" errors when you install anything from the web UI.

1) Подготовить USB-флешку. На флешке два раздела. Первый на 1 ГБ с файловой системой ext4. Второй — на всё оставшееся пространство тоже с файловой системой ext4.

2) Воткнуть флешку в роутер. Обновить список пакетов и установить необходимые:

3) В LuCi появится новый пункт меню, связанный с монтированием разделов накопителя (System → Mount Points). Там нужно нажать кнопку Generate Config, которая обнаружит разделы на подключённом накопителе — в Mount Points появятся разделы /dev/sda1 (1024 MB) и /dev/sda2

4) Нажать Edit возле sda1, включить Enable this mount, в качестве Mount point выбрать /overlay. Точно так же включить автомонтирование sda2 в качестве /data
В /data можно закачивать торренты и т. п. Это просто раздел под ваши нужды. У меня туда статистика использования трафика собирается, например.

5) Скопировать содержимое /overlay на флешку. В терминале:

6) Перезагрузить роутер (если всё получилось, то на странице Software должно прибавиться количество свободного места)

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

Для любителей микрооптимизации: во-первых, читать это
Если желание оптимизировать ещё не пропало, можно заменить ext4 на F2FS (соответственно вместо kmod-fs-ext4 ставить kmod-fs-f2fs)
Если к использованию F2FS вы не готовы, а желание сэкономить ресурс флешки сильнее страха приключений на пятую точку, то:
— в п.1 после создания на флешке разделов выполнить в терминале:

Предварительные требования:
— прошита OpenWrt 18.06
— установлен веб-интерфейс LuCi
— роутер имеет доступ в Интернет

1) Обновить список пакетов (System → Software → Update lists), установить OpenVPN:

Впрочем, будет работать и openvpn-openssl. Если вы используете что-то более ранее, чем OpenWrt 18.06, то жизненно необходимо установить openvpn-openssl вместо openvpn-mbedtls.

Отредактировать этот файл, дописав куда-нибудь в его середину строку:

config openvpn antizapret

option enabled 1
option config /etc/openvpn/antizapret-tcp.ovpn

(опять же, способ редактирования конфига оставлен на усмотрение читателя: одному удобно через vi, другому через тот же WinSCP). antizapret-tcp.ovpn — это файл, который вы на прошлом шаге копировали. Если его название изменилось, то, соответственно, исправьте его и тут в конфиге.

4) Включить и запустить VPN (System → Startup). Проверить, что всё запустилось корректно. В Status → System Log будет примерно следующее:

5) Создать новый интерфейс (Network → Interfaces → Add new interface):
Name of the new interface: antizapret
Protocol of the new interface: unmanaged
Cover the following interface: Ethernet Adapter: «tun0»
Advanced settings → Bring up on boot
Firewall Settings → Create: → antizapret
Save and Apply

6) Настроить зону файерволла antizapret (Network → Firewall → antizapret → Edit):
Input: reject
Включить Masquerading и MSS clamping
Allow forward from source zones: lan
Save and Apply

7) Исправить /etc/config/dhcp:
значение

8) Указать DNS-сервер, который будет использоваться, если подключение к VPN-серверу разорвано:
в настройках обоих интерфейсов WAN и WAN6 (Network → Interfaces) отключить Use DNS servers advertised by peer на вкладке Advanced settings
в настройках интерфейса WAN в поле Use custom DNS servers вписать адрес 1.1.1.1
Save and Apply

На сообщения «WARNING: this configuration may cache passwords in memory» в журнале внимания обращать не нужно, это неактуально, потому что паролей у нас нет. Если напрягает, можете добавить в файл конфигурации строчку

Плюсы:
— через VPN идёт лишь трафик до заблокированных доменов, остальной трафик идёт «напрямую» (нет потери скорости, у вас не меняется IP)
— следствие из предыдущего: трафик небольшой и поддержание бесплатного сервиса не бьёт по карману владельца

Предварительные требования:
— прошита OpenWrt 18.06
— установлен веб-интерфейс LuCi
— роутер имеет доступ в Интернет

1) Обновить список пакетов (System → Software → Update lists), установить OpenVPN, собранный с поддержкой mbed TLS:

Впрочем, будет работать и openvpn-openssl. Если вы используете что-то более ранее, чем OpenWrt 18.06, то жизненно необходимо установить openvpn-openssl вместо openvpn-mbedtls.

3) Заменить содержимое /etc/config/openvpn на:

config openvpn zaborona

option enabled 1
option config /etc/openvpn/zaborona-help.ovpn

(опять же, способ редактирования конфига оставлен на усмотрение читателя: одному удобно через vi, другому через тот же WinSCP). zaborona-help.ovpn — это файл, который вы на прошлом шаге копировали. Если его название изменилось, то, соответственно, исправьте его и тут в конфиге.

4) Включить и запустить VPN (System → Startup). Проверить, что всё запустилось корректно. В Status → System Log будет примерно следующее:

5) Создать новый интерфейс (Network → Interfaces → Add new interface):
Name of the new interface: zaborona
Protocol of the new interface: unmanaged
Cover the following interface: Ethernet Adapter: «tun0»
Advanced settings → Bring up on boot
Firewall Settings → Create: → zaborona
Save and Apply

6) Настроить зону файерволла zaborona (Network → Firewall → zaborona → Edit):
Input: reject
Включить Masquerading и MSS clamping
Allow forward from source zones: lan
Save and Apply

7) Если у вас пропал доступ в Интернет после этого пункта, не делайте его. В настройках интерфейса «WAN» (Network → Interfaces) отключить Use DNS servers advertised by peer на вкладке Advanced settings. В Use custom DNS servers вписать адрес 74.82.42.42. Нажать рядом «+», во вторую появившуюся строку вписать адрес 77.88.8.8. Save and Apply.

В настройках интерфейса «WAN6» (Network → Interfaces) отключить Use DNS servers advertised by peer на вкладке Advanced settings. В Use custom DNS servers вписать адрес 2001:4860:4860::8888. Нажать рядом «+», во вторую появившуюся строку вписать адрес 2001:4860:4860::8844. Save and Apply.

На сообщения «WARNING: this configuration may cache passwords in memory» в журнале внимания обращать не нужно, это неактуально, потому что паролей у нас нет. Если напрягает, можете добавить в файл конфигурации строчку

Плюсы:
— через VPN идёт лишь трафик до заблокированных доменов, остальной трафик идёт «напрямую» (нет потери скорости, у вас не меняется IP)
— следствие из предыдущего: трафик небольшой и поддержание бесплатного сервиса не бьёт по карману владельца

а также отключить DNS over HTTPS в сетевых настройках браузера.

Не забудьте перезапустить dnsmasq:

1) задать пароль администратора (через LuCI)

2) в разделе System → Administration включить Dropbear на интерфейсе «lan» (если включить на «wan», то он будет доступен всему интернету (если у вас белый IP), вскоре его начнут подбирать трудолюбивые китайцы. Поэтому, не вешайте на «wan»).

3) с помощью WinSCP подключиться со следующими параметрами:
Host name: 192.168.1.1
Login: root
Password: пароль_который_вы_установили_на_шаге_1

Получаете обычный 2-панельный файловый менеджер, с помощью которого можно перетаскивать файлы с ПК на роутер и обратно, а также править файлы на роутере).

1) задать пароль администратора (через LuCI)

2) в разделе System → Administration включить Dropbear на интерфейсе «lan» (если включить на «wan», то он будет доступен всему интернету (если у вас белый IP), вскоре его начнут подбирать трудолюбивые китайцы. Поэтому, не вешайте на «wan»).

3) с помощью SFTP-плагина для TC/DC (этот плагин, вопреки своему названию, умеет работать и по SCP) подключиться со следующими параметрами:
Connect to: 192.168.1.1
User name: root
Password: пароль_который_вы_установили_на_шаге_1

Если вы создаёте или редактируете файл в Windows, а затем копируете его на роутер, то перед копированием убедитесь, что переносы строк в файле UNIX-овские, а не Windows-овские! Для этого достаточно открыть файл в Notepad++ и в статусной строке внизу справа найти «Unix (LF)». Если там «Windows (CR LF)», то щёлкните правой кнопкой по надписи, выберите «Unix (LF)» и сохраните файл. Всё это нужно повторять после каждого редактирования, поэтому сначала редактируете как душе угодно, а затем уже проверяете переносы и заливаете на роутер.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *