Jump to content

Vuursteen

Forum Members
  • Posts

    1
  • Joined

  • Last visited

Posts posted by Vuursteen

  1. В связи с включением Wireguard в прошивку попробовал поднять выборочную маршрутизацию через ipset, список адресов с antifilter_download и iptables по комбинации различных гайдов (типа https://keenetic-gi.ga/2018/01/16/selective-routing.html и https://habr.com/ru/post/440030/). В итоге кое-как это поднялось, но есть одна огромная проблема - очень нестабильная связь. Через определенный промежуток времени, равный вызову keepalive интерфейса wg, просто пропадала связь с сайтом, который ранее был недоступен и заново не восстанавливалась. Обновляешь, он опять открывается и бац, пропадает загрузка и сайт загружен на процентов 50 оказывается. Скрипты под спойлером.

    Содержимое скрипта по пути /opt/etc/ndm/netfilter.d/100-fwmarks.sh

    Spoiler

    #!/bin/sh

    [ "$type" == "ip6tables" ] && exit 0
    [ "$table" != "mangle" ] && exit 0

    [ -z "$(iptables-save | grep vpn_subnets)" ] && \
        iptables -w -A PREROUTING -t mangle -m set --match-set vpn_subnets dst,src -j MARK --set-mark 100
    [ -z "$(iptables-save | grep vpn_ipsum)" ] && \
        iptables -w -A PREROUTING -t mangle -m set --match-set vpn_ipsum dst,src -j MARK --set-mark 100
    exit 0

    Содержимое скрипта /opt/etc/ndm/fs.d/100-create_ipsets_and_routing_tables.sh

    Spoiler
    
    #!/bin/sh
    
    [ "$1" != "start" ] && exit 0
    
    dir=/opt/root
    
    echo "Run download lists"
    curl -z $dir/subnet.lst https://antifilter.download/list/subnet.lst --output $dir/subnet.lst
    
    curl -z $dir/ipsum.lst https://antifilter.download/list/ipsum.lst --output $dir/ipsum.lst
    
    ipset create vpn_subnets hash:net
    ipset create vpn_ipsum hash:net hashsize 100000 maxelem 100000
    ### Create set
    cat $dir/subnet.lst | xargs -n1 ipset add vpn_subnets_tmp
    cat $dir/ipsum.lst | xargs -n1 ipset add vpn_ipsum_tmp
    
    ### Create routing tables for marked packets
    if [ -z "$(ip route list table 100)" ]; then
        ip rule add fwmark 100 table 100
        ip route add default dev nwg0 table 100
    fi
    
    exit0

     

     

×
×
  • Create New...