Jump to content

Локальная маршрутизация средствами Bird


Recommended Posts

Всем доброго времени суток и с наступившим )))

В Linux && Bird новичок, поэтому прошу помощи. Есть текстовый файл с префиксами сетей вида х.х.х.х/32, для примера взял список торрентов из TorrentMonitor и добавил 2ip.ru для проверки. На роутере подняты несколько vpn-интерфейсов. Необходимо  маршрутизировать трафик до этих сетей через все vpn интерфейсы, используя bird и route multipath. Почти всё, что находил в интернете, касалось bgp и других протоколов, про статическую маршрутизацию почти ничего. Сделал тестовую конфигурацию. Если в ней всё прописывать руками (каждый маршрут), то работает. Если попытаться обобщить, используя фильтр и маршрут по умолчанию, соответственно нет. Ошибка и в том, и в другом. Прикладываю неработающую конфигурацию с тестовыми сетями. Прошу наставить на путь истинный))) Если это возможно вообще, требуется импортировать список сетей из файла в конфиг и прописывать маршруты через имена интерфейсов, т.к. ip vpn всегда меняются. Таблица 1000 создана руками и заполняется только при ручном прописывании маршрутов. 

Последняя тестовая конфигурация :

Скрытый текст

protocol direct {
    interface "*";
}

table enemy; 

protocol device {
    scan time 60;
}

function martians ()
{       return net ~ [ 195.201.201.32/32,
                    104.21.234.178/32,
                    104.21.234.179/32,
                    104.21.63.9/32,
                    104.21.84.130/32,
                    172.67.142.12/32,
                    172.67.193.9/32,
                    179.43.141.93/32,
                    196.245.156.22/32,
                    45.132.105.85/32,
                    46.175.146.105/32,
                    46.19.139.195/32,
                    5.45.74.149/32
                 ];
}

protocol static {
    table enemy;

    import filter {
    if martians() then accept;
    reject;
    };
        route 0.0.0.0/0  multipath
         via 10.85.0.1
         via 10.80.0.1
         via 10.84.0.1;
    preference 1;
}

protocol kernel {
        table enemy;
        persist;
        learn;
        scan time 60;
        kernel table 1000;
        export all;
#        debug all;
}
 

 

Link to comment
Share on other sites

  • 1 month later...

На самом деле прошу подсказать по синтаксису, из хелпа по bird непонятно.

Если пишу так

protocol static {
    route 195.201.201.32/32 multipath
     via 10.84.0.28 weight 2
     via 10.80.0.2  weight 1
     ;
}

ошибок нет
Если так

protocol static {
    route 195.201.201.32/32
     via "ovpn_br0" 
     ;
}

тоже ошибок нет

Если так

protocol static {
    route 195.201.201.32/32 multipath
     via "ovpn_br0" 

     via "ovpn_br1" 
     ;
}

то ошибки. Как сделать правильно???

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
Reply to this topic...

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

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...