NDMS V1+ Entware-ng

Используем пакеты, расширяющие возможности оборудования
Yura270972
Сообщения: 58
Зарегистрирован: 29 сен 2015, 16:21

Сообщение Yura270972 » 02 дек 2015, 20:44

Правила iptables тоже не стартуют после перезагрузки ус-ва, по-этому тоже добавляем задержку в system/bin/ext_firewall.sh

Код: Выделить всё

#!/bin/sh

FWD="/opt/etc/firewall.d"
sleep 40
export PATH=/opt/bin:/opt/sbin:/sbin:/usr/sbin:/bin:/usr/bin

Т.к присутствует затроение правил (причину не искал) файл /opt/etc/firewall.d/ваш файл
должен быть к примеру

Код: Выделить всё

#!/bin/sh
iptables -D INPUT
iptables -I INPUT

т.е сначала удаляем, если есть , а потом создаем.

Аватара пользователя
Александр Рыжов
Сообщения: 447
Зарегистрирован: 12 авг 2015, 14:14
Откуда: Смоленск

Сообщение Александр Рыжов » 02 дек 2015, 22:07

Yura270972 писал(а):Источник цитаты Т.к присутствует затроение правил (причину не искал) файл /opt/etc/firewall.d/ваш файл
должен быть к примеру

Код: Выделить всё

#!/bin/sh
iptables -D INPUT
iptables -I INPUT

т.е сначала удаляем, если есть , а потом создаем.
Из трёх правил "-D" удалит только одно. Просто проверяйте наличие правила перед добавлением и всё будет в порядке.

Yura270972
Сообщения: 58
Зарегистрирован: 29 сен 2015, 16:21

Сообщение Yura270972 » 02 дек 2015, 22:20

Знаний в Linux нет от слова совсем, а готовых скриптов проверки не нашел. Но и мною указанный вариант работает , т.к затроение происходит из-за тройного вызова скрипта из system/bin/ext_firewall.sh, а соответственно трижды отрабатывает /opt/etc/firewall.d/ваш файл.

Код: Выделить всё

2 дек 23:19:44	root	ext_firewall: waiting for opt to mount
2 дек 23:19:49	root	ext_firewall: waiting for opt to mount
2 дек 23:19:51	root	ext_firewall: waiting for opt to mount

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 02 дек 2015, 22:24

Yura270972, а перевести текст не пробовали? Там о другом.

Yura270972
Сообщения: 58
Зарегистрирован: 29 сен 2015, 16:21

Сообщение Yura270972 » 02 дек 2015, 22:33

Переводил. Если не добавлять задержку запуск правил не происходит вывод в лог

Код: Выделить всё

"Waiting /opt/etc/firewall.d failed. Exiting
, если добавить задержку правила присутствуют трижды.
вот ваш же скрипт

Код: Выделить всё

FIREWALLD="/opt/etc/firewall.d"
whait_for_opt_mount() {
	logger "ext_firewall: waiting for opt to mount"
	COUNT=20
	while [ true ]; do
		if [ ! -d $FIREWALLD ]; then
			sleep 1
			COUNT=$((COUNT-1))
			if [ $COUNT = 0 ]; then
				logger "Waiting for $FIREWALLD failed. Exiting"
				exit 1
			fi
		else
			break
		fi
	done

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 02 дек 2015, 23:05

Yura270972, скрипт ждет, пока будет смонтирован /opt - потом выполняется 1 раз. Если вставить вначале задержку - не ждет.

Yura270972
Сообщения: 58
Зарегистрирован: 29 сен 2015, 16:21

Сообщение Yura270972 » 02 дек 2015, 23:24

Я это понял, но ждет он не бесконечно, а 20 секунд видимо и не дождавшись монтирования выдает ошибку. Происходит это три раза. Вот лог без задержки, лишние строки убрал.

Код: Выделить всё

18 июл 00:00:26	root	ext_firewall: waiting for opt to mount

18 июл 00:00:31	root	ext_firewall: waiting for opt to mount

18 июл 00:00:33	root	ext_firewall: waiting for opt to mount

18 июл 00:00:46	root	Waiting for /opt/etc/firewall.d failed. Exiting

3 дек 02:13:31	        root	Waiting for /opt/etc/firewall.d failed. Exiting
3 дек 02:13:32	        root	Waiting for /opt/etc/firewall.d failed. Exiting

правильно понимаю нужно изменить значение

Код: Выделить всё

	COUNT=20

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 02 дек 2015, 23:28

Yura270972 писал(а):Источник цитаты правильно понимаю нужно изменить значение


Я не знаю, что Вы хотите. Почитайте статьи про shell скрипты и разберитесь, как работает.

Yura270972
Сообщения: 58
Зарегистрирован: 29 сен 2015, 16:21

Сообщение Yura270972 » 03 дек 2015, 00:01

Изменение COUNT=20 помогло, тройной запуск остался.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 03 дек 2015, 00:14

Yura270972 писал(а):Источник цитаты тройной запуск остался.

Если он и есть, то не там, где Вы ищите. Изучайте скрипты, начиная с "заводских" в /bin (без /opt). Три строки об ожидании это нормально. Подождали, сказали, что ждем. Еще подождали, сказали. И еще. А на четвертый раз выполнили.


Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»

Кто сейчас на конференции

Всего 6 посетителей :: 0 зарегистрированных, 0 скрытых и 6 гостей (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей