Перейти к содержимому
Калькуляторы

linux + bird = туплю

Есть линк p2p с аплинком:

ip addr add 92.X.Y.1/32 peer 92.X.Y.2/32 dev $ETH

Поднимаю с ним бгп мультихоп сессию
 

function check_import() {
        if net.ip = 0.0.0.0 then { return false; }
        if net ~ [ 169.254.0.0/16+, 172.16.0.0/12+, 192.168.0.0/16+, 10.0.0.0/8+, 192.0.2.0/24+, 192.42.172.0/24+, 198.18.0.0/15+, 192.88.99.0/24+,
                   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} ]
        then {
                print "Reject: bogon net: ", net, " ", bgp_path;
                return false;
        }
        if net.len > 24 then {
                print "Reject: long prefix: ", net, " ", bgp_path;
                return false;
        }
        return true;
}

protocol bgp peer_ololo {
        table master;
        router id 92.X.Y.1;
        description "111!!";
        local as 12345;
        neighbor 95.A.B.C as 54321;
        multihop;
        next hop self;
        source address 92.X.Y.1;
        hold time 90;
        keepalive time 30;      # defaults to hold time / 3
        import filter {
          if ( source = RTS_BGP ) then {
            if check_import() then {
              accept;
            }
          }
          reject;
        };
        export filter {
          if net ~ красивый_префикс/24 then accept;
          reject;
        };
}

Чтобы достучаться до нейбора есть маршрут

ip ro add 95.A.B.C/32 via 92.X.Y.2 dev $ETH

В результате, все полученные маршруты - unreachable. На сколько я понял такое бывает, если птиц не может найти next hop

Попробовал во вх. фильтр явно навесить его

        import filter {
          if ( source = RTS_BGP ) then {
            if check_import() then {
              gw=92.X.Y.2;
              accept;
            }
          }
          reject;
        };

Ничего не изменилось. В логах из подозрительного только это

Цитата

<WARN> Next hop address 95.A.B.C resolvable through recursive route for 95.A.0.0/14
<WARN> Next hop address 95.A.B.C resolvable through recursive route for 95.A.0.0/16

Коллеги, куда копать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Будет ли птица продолжать ругаться, если маршрут до 95.A.B.C прописать в protocol static что-то типа:

 

protocol static {

    95.A.B.C/32 via 92.X.Y.2;

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще такой момент: у вас производится импорт в bird маршрутов из ядра? Что прописано в protocol kernel?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вельми понеже, статик роут помог.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всё ясно, птицу плевать что там в майне, ему нужен свой роут. И если он(роут) не импортится, то ссзб.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

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

  Разрешено не более 75 смайлов.

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

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

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