Jump to content

Mr.Weegley

Forum Members
  • Posts

    16
  • Joined

  • Last visited

Posts posted by Mr.Weegley

  1. После обновления появилась эта же проблема. Туннель 6in4 не создавал шлюз по умолчанию для ipv6.

    Поднял приоритет 6in4 выше основного подключения провайдера - отвалился ipv4 интернет...

    То есть, на данный момент лично у меня только один вариант - оставить приоритет подключения к прову выше туннеля и при старте роутера выполнять ipv6 route default <ipv6 gateway>

    Сделали бы хоть возможность этот маршрут сохранять при перезагрузке... Ну, или без NDM выполянть команды при запуске.

  2. 5 часов назад, Kazantsev сказал:

    Как решить?

    Screenshot_2024-04-06-00-01-01-549_com.keenetic.kn-edit.jpg

    Попробуйте как выше указано:

    1.

    protocol kernel kernel_routes {
        learn;
        scan time 60;
        ipv4 {
    	import none;
    	export all;
    	};
        kernel table 1000; # kernel routing table number
        #device routes yes; #####
    }

    ^^^^^^^^^^^^^ Закоментить или раскомментить device routes (Уже не помню, почему у меня закомментировано)

    2.

    protocol bgp antifilter {
        import filter {
            if martians() then reject;
    	ifname = "wg0";
    	#accept;
    	reject;
    	};
    
        export none;
        local as 64999; # local default as-number
        neighbor 45.154.73.71 as 65432;
        multihop;
        hold time 240;
        preference 250;
    }

    ^^^^^^^^^^^ добавить ifname = "wg0";

    Не знаю, помогает ли чем-то multihop, но у меня работало без ошибок.

    А вообще, если работает, несмотря на эту запись в логе, то отправить лог в null и концы в воду...

  3. В 21.12.2022 в 15:45, Denis P сказал:

    Достаточно убрать keepalive на "сервере"

    Не помогло :(

    Наверное, переведу это дело тоже в Entware... Апстрим до VPS уже через Entware создаётся. Штатный клиент переставал работать через некоторое время. Помогала только смена ttl. Убрал штатный клиент и завёл его через Entware - всё работает, "ни единого разрыва" :)

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

  4. Добрый день!

    А вот эту жесть тоже только отрубив журналирование kernel можно победить?

    kernel: wireguard: Wireguard0: handshake for peer "PEER ID STOLEN BY UFO" (1) (172.16.1.2:0) did not complete after 5 seconds, retrying (try 2)

    У меня всего 2 клиента настроено, но среди спама что Wireguard генерит что то прочесть не реально :(

  5. 4 часа назад, DennoN сказал:

    @Mr.Weegley

    мне тут @_villi_ показал конфиг, который нормально работает, если указать ifname

      Показать содержимое
    .......
    protocol kernel kernel_routes {
        learn;
        scan time 60;
        import none;
        export all;
        kernel table 1000; # kernel routing table number
        device routes yes;
    }
    .......
    protocol bgp antifilter {
        import filter {
            if martians() then reject;
            ifname = "nwg0";
            accept;
        };
        export all;
        local as 64999; # local default as-number
        neighbor 45.154.73.71 as 65432;
        multihop;
        hold time 240;
        preference 250;
    }

     

    изменения только в protocol kernel kernel_routes ну и в bgp antifilter указать ifname. остальное не менять. тогда и ругани нет в логах и все работает

    ключевая строка, которая позволяет всему этому делу работать - device routes yes

    Дай Вам обоим Бог здоровья, добра и пива! Вот была же мысль что просто не докопался до какой то одной волшебной строчки :)

    Зы

    А как тут карму юзеру поднять? :)

    ЗЗы

    Надо это как то в общую инструкцию добавить.

  6. 12 часа назад, rostislavzz сказал:

    НО! На устройствах в сети все так же нет доступа к заблокированным ресурсам (

    Может кто-то сталкивался или может подсказать что еще нужно настроить?

    На трейсы бы глянуть с устройств и с самого кинетика. Только сейчас обратил внимание, что при установке подсети /24 при создании интерфейса через веб-морду, а так же командой ip - маска ставится /32. И только ifconfig смог установить её в /24. Но разницы не вижу. Работает и так и так при условии, что устанавливает BGP-сессию через туннель.

    Как только включил лог - снова спам о "странном" next-hop...

    Где то читал, что bird вообще плохо дружит с P-t-P интерфейсами. Да и по большому счёту он для другого пердназначен, вроде как. Сколько ни читал документации, форумов и мануалов по нему - складывается впечатление, что мы с его помощью из пушки по воробьям лупим :)

  7. Коллеги,

    Столкнулся с тем, что иногда Wireguard на Cloudflare перестаёт работать. Просто в логе куча строк о просроченном рукопожатии или что то такое. Не помню, да и не важно. Ни ребуты, ни пересоздание подключения с нуля не помогают. Через время начинает работать сам. При этом интерфейс остаётся up, и скрипты в ifstatechanged.d не выполняются. С вытекающей невозможностью остановить bird от маршрутизацию через него оттуда. А у меня, например он роутит целыми ASN'ами :) Например, Гугл - весь идёт через Cloudflare. Ибо живу в Крыму, и неработающий Play Market и частые 403 от гугла на всяких сайтах достали.

    Так вот такой вот костыль я для себя накрутил сегодня. Может, кому пригодится.

    Создал скриптик CF-Watchdog.sh вот с таким содержанием:

    Скрытый текст
    
    #!/opt/bin/bash
    
    #logger -t "Antizapret debug" "Running CF-watchdog..."
    
    if /opt/bin/ping -c 1 -4 -I nwg0 engage.cloudflareclient.com > /dev/null #if we have successfull ping via nwg0
        then
            if pgrep bird4 > /dev/null #and bird is running
                then
                    : #then all goes well. do nothing :)
                    #logger -t "Antizapret System" "All going well..."
                    #echo Wg ping is ok, and Bird is running
                else #if we have ping via nwg0 but bird is not running, than we assume that we had no ping during previous checks and stopped it.
                    logger -t "Antizapret System" "Got ping thru Cloudflare!"
                    /opt/usr/bin/tg_say.sh $'<b>Antizapret System</b>\n&#10071; Got ping thru Cloudflare! Starting Bird...'
                    /opt/etc/init.d/S04bird1-ipv4 start
                fi
    else #if we have NO ping via nwg0
            #logger -t "Antizapret debug" "ping command not successfull..."
            if pgrep bird4 >& /dev/null #and bird is running now, then it's better to stop it...
                then
                    logger -t "Antizapret System" "No ping thru Cloudflare! Stopping bird..."
                    /opt/usr/bin/tg_say.sh $'<b>Antizapret System</b>\n&#10071; No ping thru Cloudflare!'
                    /opt/etc/init.d/S04bird1-ipv4 stop
                fi
    fi

     

    Символьную ссылку на него в /opt/etc/cron.1min и имеем проверку работоспособности маршрутизации через Cloudflare каждую минуту, и по необходимости остановку/перезапуск bird

    Сорян, что комменты на буржуйском - мне так почему то удобнее...

  8. 11 час назад, vasek00 сказал:

    Ремарка в сторону Cloudflare. В профиле сидит клиент, а сам профиль Cloudflare.

      Показать содержимое

    718002287_-1.jpg.cb6acfb387cea80e4acf94117f58ece7.jpg

     

    А ведь и правда... Спасибо за пинок:) Нашел в чем дело.

    В /opt/etc/ndm/ifstatechanged.d/010-add_antizapret_route.sh строка, создающая пресловутую 1000-ю таблицу в общем случае не должна быть привязана к интерфейсу. (Ну, или должна, если это реально необходимо)

    Тогда получим и на роутере:

    -bash-5.1# traceroute -n rutracker.org
    traceroute to rutracker.org (195.82.146.214), 30 hops max, 38 byte packets
     1  172.16.0.1  49.299 ms  49.451 ms  49.580 ms
     2  172.68.9.1  50.409 ms  50.080 ms  50.267 ms
    И т.д...

    И на клиенте:

    Трассировка маршрута к rutracker.org [195.82.146.214]
    с максимальным числом прыжков 30:
    
      1    <1 мс    <1 мс    <1 мс  192.168.0.1
      2    49 ms    49 ms    49 ms  172.16.0.1
      3    51 ms    59 ms   145 ms  172.68.9.1
    
    И т.д...

     

  9. Как понимаю, вопрос на данный момент не актуален? Странно. И всё же, поделюсь своим изысканием.

    Поднят Wireguard интерфейс. ВПН в сторону Cloudflare. Довольно скоро я узнал, что они дают только 1Гб трафика (на день? месяц? год? - ещё не понял) Но тут не об этом.

    При настройке Wireguard наш интерфейс имеет адрес 172.16.0.2 и  P-t-P:172.16.0.2

    Почему то, этот адрес не нравится Bird'у и при следовании инструкциям тут и в этой теме я не получал заполнение таблицы маршрутами. Выяснилось, что ошибку вызывает строка

    gw = 172.16.0.2; # override route nexthop

    Гугление дало ещё пару вариантов её замены:

            #bgp_next_hop = 172.16.0.2;
            #ifname = "nwg0";

    Но и они не работают.

    В итоге, появилось неочевидное решение:

    protocol static static_routes {
        import all;
        route 163.172.210.8/32 via 172.16.0.2;
    }

    И каким то образом это даёт желаемый эффект. НО

    При таком раскладе в лог спамится строка вида:

    bird4: KRT: Received route with strange next-hop

    для КАЖДОГО маршрута. И спамится она туда ПОСТОЯННО. При каждом сканировании ядром таблицы, как я понимаю. Вроде бы, этот спам ни на что не влияет, потому можно просто указать scan time 0:

    protocol kernel kernel_routes {
        scan time 0;
        import none;
        export all;
        kernel table 1000; # kernel routing table number
    }

    Пока трафик ещё оставался - вроде работало. По прошествии нескольких дней с момента настройки таблица на месте.

    Может, кому то пригодится.

    А может, кто то сможет это дело понять и подсказать что нужно. Вроде бы где то проскакивало что next-hop должен быть доступен via direct или как то так, и что бы bird и kernel были счастливы нужно указать что этот интерфейс всегда up или что то в этом духе. Прочитал это мельком, не придал значения в тот момент. И как это сделать тоже не знаю.

  10. Ответа так и нет?

    Сейчас тоже столкнулся с этим. Есть Wireguard туннель, но его ip вызывает эту же ошибку.

    bird4.conf:

    Скрытый текст
    log syslog all;
    log stderr all;
    
    router id 31.28.238.119; # current external ip
    
    function martians()
    {
        return net ~ [ 100.64.0.0/10+,
                       169.254.0.0/16+,
                       172.16.0.0/12+,
                       192.168.0.0/16+,
                       10.0.0.0/8+,
                       127.0.0.0/8+,
                       224.0.0.0/4+,
                       240.0.0.0/4+,
                       0.0.0.0/32-,
                       0.0.0.0/0{0,7}
                     ];
    }
    
    protocol device {
        scan time 15;
    }
    
    protocol kernel kernel_routes {
        scan time 60;
        import none;
        export all;
        kernel table 1000; # kernel routing table number
    }
    
    protocol static static_routes {
        import all;
        #route 192.168.X.Y/24 via 192.168.A.B;
    }
    
    protocol bgp antifilter {
        import filter {
            if martians() then reject;
            gw = 172.16.0.2; # override route nexthop //Эта строка вызывает ошибку
            accept;
        };
        export none;
        local as 64999; # local default as-number
        neighbor 163.172.210.8 as 65432;
        multihop;
        hold time 240;
    }

     

    ifconfig nwg0:
     

    Скрытый текст
    -bash-5.1# ifconfig nwg0
    nwg0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
              inet addr:172.16.0.2  P-t-P:172.16.0.2  Mask:255.255.255.255
              UP POINTOPOINT RUNNING NOARP  MTU:1280  Metric:1

     

    Как я понимаю, ему не нравится что адрес один и тот же и у шлюза и у меня.

×
×
  • Create New...