Это старая версия документа.


Установка программ, автозапуск программ, правила iptables



Установка программ

Готовые, собранные приложения для ZyXEL Keenetic устанавливаются с помощью системы opkg. Приведем основные команды системы opkg:

1. opkg list - команда выдает список пакетов, которые можно установить в настоящий момент.

opkg list
busybox - 1.17.3-2 - The Swiss Army Knife of embedded Linux. It slices, it dices, it makes Julian Fries.
e2fsprogs - 1.41.12-3 - This package contains essential ext2 filesystem utilities which consists of
e2fsck, mke2fs, debugfs, dumpe2fs, tune2fs, and most of the other core ext2 filesystem utilities.
file - 5.05-1 - utility
gawk - 3.1.8-1 - GNU version of AWK.
glib2 - 2.22.2-1 - The GLib library of C routines
htop - 0.9-1 - Htop is an ncursed-based process viewer similar to top,
but it allows to scroll the list vertically and horizontally to see all 
processes and their full command lines.
...

2. opkg list-installed - команда выдает список уже установленных пакетов

opkg list-installed
busybox - 1.17.3-2
file - 5.05-1
glib2 - 2.22.2-1
htop - 0.9-1
...

3. opkg update - команда скачивает и обновляет список пакетов, которые могут быть установлены. Рекомендуется всегда выполнять эту команду перед установкой пакета и при других «манипуляциях» с пакетами.

4. opkg upgrade - команда обновляет установленные пакеты, если есть обновления. Если обновляется запущенная служба, то следует руками ее перезапустить или перезагрузить маршрутизатор.

5. opkg install <имя пакета> - команда устанавливает пакет включая пакеты, от которых устанавливаемый пакет зависит. Например opkg install mc установит Midnight Commander.

6. opkg remove <имя пакета> - команда удалит установленный ранее пакет.

7. Полный список подкоманд и опций можно получить, запустив opkg без параметров.

Автозапуск программ

Некоторые из собранных для Keenetic пакетов являются сервисами или демонами. Для автоматического запуска сервисов используются скрипты удовлетворяющие маске S??*, расположенные в папке /media/DISK_A1/system/etc/init.d. Эти скрипты запускаются в алфавитном порядке автоматически при монтировании usb носителя или включении роутера. Останавливаются скриппты в обратном порядке при размонтировании usb носителя. После установки, описанной в разделе устанавливаем систему opkg, в этой папке находятся скрипты S01swap, S10dropbear и заготовка K02cron, предназначенная для запуска планировщика cron. Если Вы считаете, что Вам не нужен swap файл, переименуйте файл S01swap в K01swap. При установке некоторых пакетов в папке init.d появятся дополнительные скрипты K??* или S??*.

Не следует относится к этим скриптам, как к окончательным и устоявшимся. Часто их можно и нужно редактировать, дорабатывать под себя. После таких доработок переименуйте окончательный вариант скрипта K??* в S??* для автоматического запуска.

Правила файрвола iptables

Обычно к установленным демонам (сервисам) нужно дать доступ из сети интернет. Для этого потребуется создать дополнительные правила проброса портов, используя установленный в Keenetic файрвол iptables. Правила проброса могут быть расположены непосредственно в скриптах запуска сервисов S??* или в скриптах, расположенных в папке /media/DISK_A1/system/etc/firewall.d.

При разрыве подключения к сети интернет правила iptables сбрасываются и создаются заново при восстановлении подключения. Если правило iptables находится в скрипте S??*, то заново оно не будет создано. Поэтому правила правильнее размещать в скрипте в папке firewall.d. Скрипты из папки firewall.d будут вызваны при восстановлении соединения.

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

iptables -I INPUT -i lo -j ACCEPT

Пример файла /media/DISK_A1/system/etc/firewall.d/fw.sh

#!/bin/sh
# Разрешаем внутрисетевой обмен
iptables -I INPUT -i lo -j ACCEPT
# Разрешаем доступ по ssh из интернет на порт tcp 22
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Файл fw.sh должен иметь атрибут исполнения и заканчиваться символом конец строки.