Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

После перезагрузки роутера не сработали скрипты из /opt/etc/ndm/netfilter.d. 

И, как мне показалось, они не запускаются в процессе работы когда система пересоздаёт таблицы. 

Добавил logger в скрипт, но пока в журнале пусто. И правила пока на месте. Но ночью правила сбросились и не создались.

Опубликовано

создадим в /opt/etc/ndm/netfilter.d  скрипт start.sh

#!/bin/sh
date >> /opt/tmp/table_forward;
echo "tables = $table" >> /opt/tmp/table_forward;

в итоге

Скрытый текст

Sun Dec 24 10:32:53 MSK 2017
track --- tables = filter
Sun Dec 24 10:32:53 MSK 2017
tables = filter
Sun Dec 24 10:32:53 MSK 2017
track --- tables = filter
Sun Dec 24 10:33:06 MSK 2017
tables = filter
Sun Dec 24 10:33:06 MSK 2017
track --- tables = filter
Sun Dec 24 10:33:06 MSK 2017
tables = filter
Sun Dec 24 10:33:06 MSK 2017
track --- tables = filter
Sun Dec 24 10:35:23 MSK 2017
tables = filter
Sun Dec 24 10:35:23 MSK 2017
track --- tables = filter
Sun Dec 24 10:35:23 MSK 2017
tables = filter
Sun Dec 24 10:35:23 MSK 2017
track --- tables = filter
Sun Dec 24 10:38:22 MSK 2017
tables = filter
Sun Dec 24 10:38:22 MSK 2017
track --- tables = filter
Sun Dec 24 10:38:22 MSK 2017
tables = filter
Sun Dec 24 10:38:22 MSK 2017
track --- tables = filter
Sun Dec 24 10:40:24 MSK 2017
tables = filter
Sun Dec 24 10:40:24 MSK 2017
track --- tables = filter
Sun Dec 24 10:40:24 MSK 2017
tables = filter
Sun Dec 24 10:40:24 MSK 2017
track --- tables = filter
Sun Dec 24 10:42:05 MSK 2017
tables = filter
Sun Dec 24 10:42:05 MSK 2017
track --- tables = filter
Sun Dec 24 10:42:05 MSK 2017
tables = filter
Sun Dec 24 10:42:05 MSK 2017
track --- tables = filter
Sun Dec 24 10:44:24 MSK 2017
tables = filter
Sun Dec 24 10:44:24 MSK 2017
track --- tables = filter
Sun Dec 24 10:44:24 MSK 2017
tables = filter
Sun Dec 24 10:44:24 MSK 2017
track --- tables = filter
Sun Dec 24 10:50:43 MSK 2017
tables = filter
Sun Dec 24 10:50:43 MSK 2017
track --- tables = filter
Sun Dec 24 10:50:43 MSK 2017
tables = filter
Sun Dec 24 10:50:43 MSK 2017
track --- tables = filter
Sun Dec 24 10:59:00 MSK 2017
tables = filter
Sun Dec 24 10:59:00 MSK 2017
track --- tables = filter
Sun Dec 24 10:59:00 MSK 2017
tables = nat
Sun Dec 24 10:59:00 MSK 2017
track --- tables = nat
Sun Dec 24 10:59:00 MSK 2017
tables = filter
Sun Dec 24 10:59:00 MSK 2017
track --- tables = filter
Sun Dec 24 10:59:00 MSK 2017
tables = nat
Sun Dec 24 10:59:00 MSK 2017
track --- tables = nat
Sun Dec 24 11:00:07 MSK 2017
tables = filter
Sun Dec 24 11:00:07 MSK 2017
track --- tables = filter
Sun Dec 24 11:00:07 MSK 2017
tables = filter
Sun Dec 24 11:00:07 MSK 2017
track --- tables = filter
Sun Dec 24 11:01:57 MSK 2017
tables = filter
Sun Dec 24 11:01:57 MSK 2017
track --- tables = filter
Sun Dec 24 11:01:57 MSK 2017
tables = filter
Sun Dec 24 11:01:57 MSK 2017
track --- tables = filter
Sun Dec 24 11:06:28 MSK 2017
tables = filter
Sun Dec 24 11:06:28 MSK 2017
track --- tables = filter
Sun Dec 24 11:06:28 MSK 2017
tables = filter
Sun Dec 24 11:06:28 MSK 2017
track --- tables = filter
Sun Dec 24 11:28:40 MSK 2017
tables = filter
Sun Dec 24 11:28:40 MSK 2017
track --- tables = filter
Sun Dec 24 11:28:40 MSK 2017
tables = filter
Sun Dec 24 11:28:40 MSK 2017
track --- tables = filter
Sun Dec 24 11:30:32 MSK 2017
tables = filter
Sun Dec 24 11:30:32 MSK 2017
track --- tables = filter
Sun Dec 24 11:30:32 MSK 2017
tables = filter
Sun Dec 24 11:30:32 MSK 2017
track --- tables = filter
Sun Dec 24 12:01:07 MSK 2017
tables = filter
Sun Dec 24 12:01:07 MSK 2017
track --- tables = filter
Sun Dec 24 12:01:07 MSK 2017
tables = filter
Sun Dec 24 12:01:07 MSK 2017
track --- tables = filter
Sun Dec 24 12:01:13 MSK 2017
tables = filter
Sun Dec 24 12:01:13 MSK 2017
track --- tables = filter
Sun Dec 24 12:01:13 MSK 2017
tables = filter
Sun Dec 24 12:01:13 MSK 2017
track --- tables = filter
Sun Dec 24 12:07:38 MSK 2017
tables = filter
Sun Dec 24 12:07:38 MSK 2017
track --- tables = filter
Sun Dec 24 12:07:38 MSK 2017
tables = filter
Sun Dec 24 12:07:38 MSK 2017
track --- tables = filter
Sun Dec 24 12:07:58 MSK 2017
tables = filter
Sun Dec 24 12:07:58 MSK 2017
track --- tables = filter
Sun Dec 24 12:07:58 MSK 2017
tables = filter
Sun Dec 24 12:07:58 MSK 2017
track --- tables = filter
Sun Dec 24 12:15:09 MSK 2017
tables = filter
Sun Dec 24 12:15:09 MSK 2017
track --- tables = filter
Sun Dec 24 12:15:09 MSK 2017
tables = filter
Sun Dec 24 12:15:09 MSK 2017
track --- tables = filter
Sun Dec 24 12:44:29 MSK 2017
tables = filter
Sun Dec 24 12:44:29 MSK 2017
track --- tables = filter
Sun Dec 24 12:44:29 MSK 2017
tables = filter
Sun Dec 24 12:44:29 MSK 2017
track --- tables = filter

 

Опубликовано
2 минуты назад, slava.trifonov сказал:

это да, но у меня фильтр на таблицу nat

Цитата

Sun Dec 24 10:59:00 MSK 2017
track --- tables = filter
Sun Dec 24 10:59:00 MSK 2017
tables = nat
Sun Dec 24 10:59:00 MSK 2017
track --- tables = nat
Sun Dec 24 11:00:07 MSK 2017
tables = filter

 

Опубликовано
2 часа назад, vasek00 сказал:

в итоге

Я не уверен, но кажется у меня уже был похожий случай. Если нет ipsec и pingcheck, инет по IPoE, то первоначально скрипт кажется не вызывался, или еще нечто подобное.

Опубликовано
1 час назад, KorDen сказал:

Я не уверен, но кажется у меня уже был похожий случай. Если нет ipsec и pingcheck, инет по IPoE, то первоначально скрипт кажется не вызывался, или еще нечто подобное.

Но ведь

Цитата

/opt/etc/ndm/netfilter.d scripts are executed when the system rewrites a netfilter table. The netfilter.d hooks can modify the table using iptables

netfilter table, such as filter, nat or mangle

Т.е. имеет место быть отсутствие перезаписи таблицы netfilter ладно (что сомнительно) но со стороны клиента та уж что-то должно быть типа

Цитата

Dec 23 11:47:07 ndm: UPnP::Manager: a new nat rule appended.

...
Dec 23 11:47:07 ndm: UPnP::Manager: a new filter rule appended.

 

Опубликовано (изменено)
46 минут назад, vasek00 сказал:

но со стороны клиента та уж что-то должно быть типа

Если UPnP отключен или не запускались приложения, его использующие - не будет

46 минут назад, vasek00 сказал:

имеет место быть отсутствие перезаписи таблицы netfilter

Именно! И если мне не изменяет память, при определенных условиях (как минимум отсутствие ipsec, ping-check и, возможно, upnp) при холодной загрузке какие-то из таблиц ни разу не переписываются с момента старта opkg, пока чего-нибудь не дернется. Как минимум речь о mangle, и возможно nat

Изменено пользователем KorDen
Опубликовано

Теперь другая беда.

Допустим меняю что-то на странице #security.statics. Скрипт запускается, но правила в таблице не очищаются и, соответственно, дублируются. 

Подскажите как избежать дублирования правил в iptables?

Опубликовано

Вставлете правила с уникальным комментарием, например -m comment --comment unic_marker

Потом в начале скрипта

/opt/sbin/iptables -L -n -t filter | grep -q "unic_marker" && exit 0

 

  • 2 недели спустя...
Опубликовано

Это все немного костыльно и "попахивает".

Правильно - заводить свою цепочку в нужное место, ее флашить при каждом запуске скрипта и перезаполнять.

Опубликовано

отличная идея, но:

1) как мы определим, что наша цепочка уже создана?

2) плюём на пункт 1 и бьём в лоб: iptables -t nat -N _OPKG_NAT

3) очищаем (вдруг она уже существовала): iptables -t nat -F _OPKG_NAT

4) пишем туда свои правила

5) заводим куда надо: iptables -t nat -A PREROUTING -j _OPKG_NAT

6) через какое-то время получаем:
iptables -t nat -S PREROUTING
......
-A PREROUTING -j _OPKG_NAT
-A PREROUTING -j _OPKG_NAT
-A PREROUTING -j _OPKG_NAT
-A PREROUTING -j _OPKG_NAT

Те же костыли, только с паровым двигателем.

Опубликовано
В 1/11/2018 в 22:31, slava.trifonov сказал:

отличная идея, но:

1) как мы определим, что наша цепочка уже создана?

2) плюём на пункт 1 и бьём в лоб: iptables -t nat -N _OPKG_NAT

3) очищаем (вдруг она уже существовала): iptables -t nat -F _OPKG_NAT

4) пишем туда свои правила

5) заводим куда надо: iptables -t nat -A PREROUTING -j _OPKG_NAT

6) через какое-то время получаем:
iptables -t nat -S PREROUTING
......
-A PREROUTING -j _OPKG_NAT
-A PREROUTING -j _OPKG_NAT
-A PREROUTING -j _OPKG_NAT
-A PREROUTING -j _OPKG_NAT

Те же костыли, только с паровым двигателем.

Так "нулевым пунктом" можно сделать ее удаление.

А так, начиная с 2.11 добавился IPv6, потому теперь нужна проверка не только таблицы, но и версии протокола IP: 

 

Опубликовано
8 часов назад, Le ecureuil сказал:

Так "нулевым пунктом" можно сделать ее удаление.

А так, начиная с 2.11...

 

Нельзя удалить цепочку если она используется.

У меня пока 2.10

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

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