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

Вопрос

Опубликовано (изменено)

Добрый день!

Замечено, что правила ndm\netfilter.d для ipv6 и ipv4 обрабатываются в разном порядке.

Например, есть два скрипта 10m-vpn.sh 10m-ray.sh, которые симметрично задают правила для v6 и v4. В итоге получаю правила в таком порядке:

Скрытый текст
 ~  # iptables -t mangle -nvL PREROUTING && ip6tables -t mangle -nvL PREROUTING 
Chain PREROUTING (policy ACCEPT 1471 packets, 246K bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 CONNMARK   all  --  br0    *       0.0.0.0/0            0.0.0.0/0            match-set redir4-vpn dst ! match-set localnet4 dst ctstate NEW CONNMARK set 0xffffaaa
    0     0 CONNMARK   all  --  *      *       0.0.0.0/0            0.0.0.0/0            connmark match  0xffffaaa CONNMARK restore
    0     0 TPROXY     tcp  --  br0    *       0.0.0.0/0            0.0.0.0/0            multiport dports 80,443 match-set redir4-ssp dst ! match-set localnet4 dst mark match ! 0xea TPROXY redirect 127.0.0.1:9172 mark 0xe9/0xe9
    0     0 TPROXY     udp  --  br0    *       0.0.0.0/0            0.0.0.0/0            multiport dports 80,443 match-set redir4-ssp dst ! match-set localnet4 dst mark match ! 0xea TPROXY redirect 127.0.0.1:9172 mark 0xe9/0xe9
Chain PREROUTING (policy ACCEPT 41631 packets, 10M bytes)
    0     0 TPROXY     tcp      br0    *       ::/0                 ::/0                 multiport dports 80,443 match-set redir6-ssp dst ! match-set localnet6 dst mark match ! 0xea TPROXY redirect ::1:9172 mark 0xe9/0xe9
    0     0 TPROXY     udp      br0    *       ::/0                 ::/0                 multiport dports 80,443 match-set redir6-ssp dst ! match-set localnet6 dst mark match ! 0xea TPROXY redirect ::1:9172 mark 0xe9/0xe9
    0     0 CONNMARK   all      br0    *       ::/0                 ::/0                 match-set redir6-vpn dst ! match-set localnet6 dst ctstate NEW CONNMARK set 0xffffaaa
    0     0 CONNMARK   all      *      *       ::/0                 ::/0                 connmark match  0xffffaaa CONNMARK restore

 

Т.е. для 4 версии порядок вызова правил - 10m-vpn.sh 10m-ray.sh, а для 6й - 10m-ray.sh 10m-vpn.sh

Посмотрите, пожалуйста.

 

Актуально и для более ранних версий.

Изменено пользователем avn

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

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

Нельзя полагаться на порядок вызовов или на их количество, это ведет к race-condition. Opkg не дает и не может дать никаких гарантий.

Сделайте свои скрипты идемпотентными: то есть чтобы любой их порядок и количество вызовов не изменяло работу. Только в рассчете на это проектируются вызовы скриптов.

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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

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