Jump to content

Как правильно использовать netfilter в opkg


Recommended Posts

По какой причине в netfilter.d может не отрабатывать условие [ "$table" != "nat" ] ? Правила для NAT - таблицы при нём тупо не иницируются, будто NAT - таблица не обрабатывается вовсе. С таблицами mangle и filter таких проблем нет.

Link to comment
Share on other sites

Собственно, так и оказалось. NAT таблица никак не задействуется в моём случае (хз по каким причинам), что показывает такой скрипт

[ ! -x "$0" ] && exit 0

echo "type $type" >> /opt/Data/netfilter.d.log
echo "table $table" >> /opt/Data/netfilter.d.log
echo '###' >> /opt/Data/netfilter.d.log

и его выхлоп :

type iptables
table filter
###
type iptables
table mangle
###
type ip6tables
table filter
###
type ip6tables
table mangle

пришлось использовать таблицу filter и городить костыль с чекенгом NAT-таблицы :

[ ! "$(iptables -nvL POSTROUTING -t nat --line-numbers|grep -E "MASQUERADE.*192.168.1.88.*dpt:3535")" ] && iptables -t nat -I POSTROUTING -s 192.168.1.119 -p tcp --dport 3535 -j MASQUERADE

 

Edited by OmegaTron
Link to comment
Share on other sites

  • 3 weeks later...
В 10.03.2021 в 12:00, OmegaTron сказал:

Собственно, так и оказалось. NAT таблица никак не задействуется в моём случае (хз по каким причинам), что показывает такой скрипт


[ ! -x "$0" ] && exit 0

echo "type $type" >> /opt/Data/netfilter.d.log
echo "table $table" >> /opt/Data/netfilter.d.log
echo '###' >> /opt/Data/netfilter.d.log

и его выхлоп :


type iptables
table filter
###
type iptables
table mangle
###
type ip6tables
table filter
###
type ip6tables
table mangle

пришлось использовать таблицу filter и городить костыль с чекенгом NAT-таблицы :


[ ! "$(iptables -nvL POSTROUTING -t nat --line-numbers|grep -E "MASQUERADE.*192.168.1.88.*dpt:3535")" ] && iptables -t nat -I POSTROUTING -s 192.168.1.119 -p tcp --dport 3535 -j MASQUERADE

 

 Проще так в init.d

#!/bin/sh

[ "$1" != "start" ] && exit 0

type=iptables table=raw /opt/etc/ndm/netfilter.d/101-notrack.sh
type=ip6tables table=raw /opt/etc/ndm/netfilter.d/101-notrack6.sh

 

  • Upvote 2
Link to comment
Share on other sites

3 часа назад, avn сказал:

Проще так в init.d

NAT-таблица как минимум при реконнекте перезапишется, тут нужен скрипт в wan.d. Ваше предложение будет работать до первой (авто) перезаписи таблицы. Меж тем, старый вариант после перезагрузки тогда снова заработал. Видать в процессе работы где-то что-то отваливается и лезет сбой. Ну да бог с ним. С тем костылём тоже всё вполне работает.

Link to comment
Share on other sites

9 часов назад, OmegaTron сказал:

NAT-таблица как минимум при реконнекте перезапишется, тут нужен скрипт в wan.d. Ваше предложение будет работать до первой (авто) перезаписи таблицы. Меж тем, старый вариант после перезагрузки тогда снова заработал. Видать в процессе работы где-то что-то отваливается и лезет сбой. Ну да бог с ним. С тем костылём тоже всё вполне работает.

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

  • Upvote 1
Link to comment
Share on other sites

1 час назад, avn сказал:

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

Да, проглядел. ОК. попробую. Спасибо.

Link to comment
Share on other sites

  • 2 years later...

После обновления  KeeneticOS до версии 4.0.2 перестали выполняться скрипты в /opt/etc/ndm/netfilter.d/
Хотлось бы узнать - в чём может быть причина и можно ли это как-то восстановить?

Link to comment
Share on other sites

14 минуты назад, kroleg сказал:

Хотлось бы узнать

Хотелось бы, чтобы пользователи не только писали, но и искали решение самостоятельно, читали форум  - 

 

Link to comment
Share on other sites

39 минут назад, zyxmon сказал:

Хотелось бы, чтобы пользователи не только писали, но и искали решение самостоятельно, читали форум  - 

 

Это ответ на вопрос "почему скрипты в netfilter.d не выполняются"?

Link to comment
Share on other sites

  

25 минут назад, kroleg сказал:

Это ответ на вопрос "почему скрипты в netfilter.d не выполняются"?

Подозреваю, это был жирный намёк, куда идти. Я не поленился и вбил в поиск "ndmslin" (с настройкой "искать везде") и сразу вышел на указанный выше тред, где разбирается проблема.

з.ы. Совершенно не в теме по причине того что не до роутеров сейчас, но т.к. висела подписка на эту тему, заглянул на огонёк, дабы поискать для вас по форуму 😂 Заняло минуту ...

 

Link to comment
Share on other sites

3 минуты назад, OmegaTron сказал:

где разбирается проблема.

Проблема - чего?

Незапуска скриптов в netfilter.d?

А где там про это? Я, что-то не увидел.

 

Link to comment
Share on other sites

11 минуту назад, kroleg сказал:

Проблема - чего?

Незапуска скриптов в netfilter.d?

А где там про это? Я, что-то не увидел.

 

Да вроде не по диагонали читал ... Проверяйте syslog на наличие подобных ошибок и если они там проскакивают, обновляйте iptables. Я оч. сильно сомневаюсь, что проблема в чём-то ином, раз на данный тред сослался zyxmon.

Link to comment
Share on other sites

5 минут назад, OmegaTron сказал:

Да вроде не по диагонали читал ... Проверяйте syslog на наличие подобных ошибок и если они там проскакивают, обновляйте iptables. Я оч. сильно сомневаюсь, что проблема в чём-то ином, раз на данный тред сослался zyxmon.

в сислоге ошибок нет

opkg update && opkg upgrade - сделал сразу же, после обновления

спасибо за ответ.

предполагаю, что проблема в кривой прошивке.

ЗЫ. Да и iptables тут вообще ни при чём - пишу же совсем о другом.

Edited by kroleg
Link to comment
Share on other sites

  • 3 weeks later...
В 06.08.2023 в 10:38, kroleg сказал:

После обновления  KeeneticOS до версии 4.0.2 перестали выполняться скрипты в /opt/etc/ndm/netfilter.d/
Хотлось бы узнать - в чём может быть причина и можно ли это как-то восстановить?

Также после обновления до 4.0.2 перестали добавляться правила вида:

~ # iptables -t mangle -A _NDM_IPSEC_PREROUTING -j NDMMARK --set-xndmmark 0x0/0x0
iptables: Protocol wrong type for socket.

Версия iptables

opkg list-installed
...
iptables - 1.4.21-3a
...

Обновление прошивки до 4.0.4 ничего не изменило

Edited by Виталий Шадрин
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...