Jump to content
  • 0

4.2 Beta2 Разный порядок применения правил ndm\netfilter.d для ipv6 и ipv4


avn

Question

Добрый день!

Замечено, что правила 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

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

 

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

Edited by avn
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

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

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

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
Answer this question...

×   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...