Jump to content
Калькуляторы

BGP входящий трафик

Добрый день.

Имеются 2 провайдера, BGP по дефолту подняты.

Route прописан 0.0.0.0/0 через оба адреса провайдеров. Исходящий трафик делится.

 

Как можно сделать что бы и входящий трафик принимался через обоих провайдеров?

Оба канала одинаковы на 200 мб, но весь входящий идет только через одного провайдера, через другого килобиты прилетают.

Share this post


Link to post
Share on other sites

 Читать букварь по бгп:) Особенно про то, как ответчик определяет лучший маршрут до вас.. Рулить стандартным бгп входящим трафиком - это как ломом расписываться.

Share this post


Link to post
Share on other sites

В 10.10.2022 в 17:06, proftp666 сказал:

Добрый день.

Имеются 2 провайдера, BGP по дефолту подняты.

Route прописан 0.0.0.0/0 через оба адреса провайдеров. Исходящий трафик делится.

 

Как можно сделать что бы и входящий трафик принимался через обоих провайдеров?

Оба канала одинаковы на 200 мб, но весь входящий идет только через одного провайдера, через другого килобиты прилетают.

Разбейте подсеть на две более мелкие. Анонсируете большую и одну из маленьких на обоих линках.

Share this post


Link to post
Share on other sites

В 10.10.2022 в 19:54, VolanD666 сказал:

Разбейте подсеть на две более мелкие. Анонсируете большую и одну из маленьких на обоих линках.

 Хороший совет :) Просто full view уже так велика, что засирать ее себе дороже, да и уже у всех стоит фильтр не пропускать меньше /24

 

По нормальному ищите у соседей комьюнити и способы порулить им, ну и конечно если мокротик пережует несколько фуллвью. а два дефолта - это пошло.... :)

Share this post


Link to post
Share on other sites

Proftp666, здравствуйте.

 

В 10.10.2022 в 17:06, proftp666 сказал:

Как можно сделать что бы и входящий трафик принимался через обоих провайдеров?

Если у Вас одна сеть x.x.x.x/24 (с маской 24), можно попробовать пожонглировать атрибутом «AS-Path Prepend» в сторону обоих Upstream, чтобы условно-равномерно удлинить анонс сети.

 

Дополнительно см. - https://linkmeup.gitbook.io/sdsm/8.-bgp-i-ip-sla/2.-bgp/4.-balansirovka-nagruzki

Share this post


Link to post
Share on other sites

В 11.10.2022 в 13:13, SUrov_IBM сказал:

можно попробовать пожонглировать атрибутом

Или попробовать рулить через community.

Например, у ТТК расписано - https://bgp.he.net/AS20485#_whois

...
remarks:        +--------------------------------------------------------------+
remarks:        COMMUNITIES for PREFIX CONTROL
remarks:        +--------------------------------------------------------------+
remarks:        | !!!ATTENTION!!! |
remarks:        The using of this communities may cause connectivity
remarks:        problems and you must clearly understand what you
remarks:        are doing. TransTeleCom does not bear any responsibility
remarks:        if there will be such troubles.
remarks:        +--------------------------------------------------------------+
remarks:
remarks:        Customers with Global Internet Access may control
remarks:        prefixes that they announce to TTK by eBGP.
remarks:        You can use communities that prepend prefix path
remarks:        with additional AS hops or deny it announcement to
remarks:        any peer. The first digit of the second part of
remarks:        control community (number after 20485:)
remarks:        is 5 (five). Next four digits are:
remarks:
remarks:
remarks:        - To prepend or deny prefix use 20485:5RSSA, where:
remarks:
remarks:        R - Geographical region code:
remarks:
remarks:        1 - Russia
remarks:        2 - Europe
remarks:        3 - Asia
remarks:        4 - America
remarks:
remarks:
remarks:        SS - peer number:
remarks:
remarks:        Russia
remarks:        01         -         Megafon                                  -         AS31133
remarks:        03         -         Vimpelcom                               -         AS3216
remarks:        04         -         MTS                                  -         AS8359
remarks:        10         -         Vkontakte                          -             AS47541
remarks:        11         -         Rostelecom                          -         AS12389
remarks:        12         -         Mailru & Odnoklassniki                  -    AS47764
...
remarks:        A - action:
remarks:
remarks:        0 - don't announce prefix
remarks:        1 - announce with one prepend
remarks:        2 - announce with two times prepend
remarks:        3 - announce with three times prepend
...

Соответственно по описанию можно формировать коммьюнити и не анонсить в какого-то из апликнов свою сетку для части трафика, например не принимать трафик от ВК, РТ, Мегафон через ТТК:

set community 20485:51100 20485:51110 20485:51010 additive

 

 

Share this post


Link to post
Share on other sites

Нашел на просторах интернета. Такая схема не будет работать?

 

[admin@Astana] /ip firewall nat> print
Flags: X - disabled, I - invalid, D - dynamic
 0   ;;; test
     chain=srcnat action=masquerade out-interface=vlan1737_eth8_UPLink_KazTEL

 1   ;;; test
     chain=srcnat action=masquerade out-interface=vlan1738_eth7_UPLink_SmartNet

 2   ;;; rabochiy
     chain=srcnat action=src-nat to-addresses=46.8.109.34 src-address=10.60.4.0/22 out-interface=vlan1737_eth8_UPLink_KazTEL

 3   ;;; rabochiy
     chain=srcnat action=src-nat to-addresses=46.8.109.62 src-address=10.2.64.0/18

 

[admin@Astana] /ip firewall mangle> print
Flags: X - disabled, I - invalid, D - dynamic
 0   chain=input action=mark-connection new-connection-mark=wlan1_conn passthrough=yes in-interface=vlan1737_eth8_UPLink_KazTEL

 1   chain=input action=mark-connection new-connection-mark=wlan2_conn passthrough=yes in-interface=vlan1738_eth7_UPLink_SmartNet

 2   chain=output action=mark-routing new-routing-mark=to_wlan1 passthrough=no connection-mark=wlan1_conn

 3   chain=output action=mark-routing new-routing-mark=to_wlan2 passthrough=no connection-mark=wlan2_conn

 4   chain=prerouting action=mark-routing new-routing-mark=mixed passthrough=yes src-address=10.2.64.0/18

 

/ip route
add check-gateway=ping comment=test disabled=no distance=1 dst-address=0.0.0.0/0 gateway=95.59.125.5 routing-mark=to_wlan1 scope=30 target-scope=10
add check-gateway=ping comment=test disabled=no distance=1 dst-address=0.0.0.0/0 gateway=151.236.193.161 routing-mark=to_wlan2 scope=30 target-scope=10
add check-gateway=ping comment=test disabled=no distance=1 dst-address=0.0.0.0/0 gateway=151.236.193.161,95.59.125.5 routing-mark=mixed scope=30 target-scope=10

 

Share this post


Link to post
Share on other sites

Proftp666, здравствуйте.

 

Если речь о входящем трафике (из глобального Интернет) в сторону маршрутизатора и вы говорите:

В 10.10.2022 в 17:06, proftp666 сказал:

но весь входящий идет только через одного провайдера, через другого килобиты прилетают.

Определяете эти «килобиты» на интерфейсе маршрутизатора, подключенного к оператору?

Тогда правильно, на маршрутизатор от оператора входящий не поступает и Вы пытаетесь регулировать то, чего нет (в точке, в которую трафик не попадает).

 

Регулировка входящего трафика осуществляется за счёт атрибутов, которые средствами протокола BGP передаются соседям (операторам) это - анонс Ваших сетей.

Проверка анонса, осуществляется за счёт сервисов Looking Glass оператора с которым Вы соседи, либо за счёт публичных.

 

 

P.S. Буду честным - Вам сначала нужно разобраться в работе протокола BGP, лучше сделать тестовую среду для понимания. Не зависимо от железа, на котором реализован маршрутизатор. Затем уже приступать к конфигурации действующего (с публичным Интернет) BGP стыка. Иначе, боюсь «наломаете дров».

Share this post


Link to post
Share on other sites

Здравствуйте.

Я в микротиках не очень. Достался по наследству.

Читал в интернете многое и везде по разному, с Cisco или Eltex намного проще, мне кажется.

Самое  простое пишут:

1. Создается 2 BGP, с одинаковыми фильтрами

2. В route прописывается к примеру

add check-gateway=ping comment=test disabled=no distance=1 dst-address=0.0.0.0/0 gateway=151.236.193.161,95.59.125.5 routing-mark=mixed scope=30 target-scope=10

с адресами BGP

И на этом больше ничего делать не надо, входящий трафик микротик сам будет распределять, а исходящий есть правило.

но тут встает вопрос что делать с NAT

[admin@Astana] /ip firewall nat> print
Flags: X - disabled, I - invalid, D - dynamic
 0   ;;; MIKROBILL USERS NAT
     chain=srcnat action=masquerade src-address-list=MikroBill_All_Drop

 1   ;;; rabochiy

     chain=srcnat action=src-nat to-addresses=46.8.109.62 src-address=10.2.64.0/18 out-interface=vlan1737_eth8_UPLink_KazTEL

Их можно оставить в таком виде или нужно изменять.

 

 

В других статьях пишут нужно маркировать трафик с интерфейсов, от куда пришел туда и отправлять

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

 

 

Share this post


Link to post
Share on other sites

В 13.10.2022 в 06:14, proftp666 сказал:

И на этом больше ничего делать не надо, входящий трафик микротик сам будет распределять

Как он будет распределять если он уже пришел?

Share this post


Link to post
Share on other sites

Proftp666, здравствуйте.

 

Чтобы было понятно нагляднее, обратитесь к публичному "Looking Glass", например к сервису - https://bgp.he.net/

Для того, чтобы входящий трафик поступал с двух операторов, Ваша автономная система должна стоять на двух "ногах", по ноге в сторону каждого оператора.

Тогда входящий трафик будет поступать по обеим "ногам". А вот анонс "ног" как раз регулируется атрибутами протокола BGP, о которых писали выше.

Share this post


Link to post
Share on other sites

В 13.10.2022 в 12:59, SUrov_IBM сказал:

Proftp666, здравствуйте.

 

Чтобы было понятно нагляднее, обратитесь к публичному "Looking Glass", например к сервису - https://bgp.he.net/

Для того, чтобы входящий трафик поступал с двух операторов, Ваша автономная система должна стоять на двух "ногах", по ноге в сторону каждого оператора.

Тогда входящий трафик будет поступать по обеим "ногам". А вот анонс "ног" как раз регулируется атрибутами протокола BGP, о которых писали выше.

Подскажите пожалуйста. Как понять на двух ногах? Или может ссылочку знаете, где про это можно почитать?

Share this post


Link to post
Share on other sites

В 13.10.2022 в 14:49, proftp666 сказал:

Как понять на двух ногах?

При использовании BGP, в телекоммуникационном сленге «ногой» называют пиринговое соединение Вашей автономной системы с соседом (например, с вышестоящим оператором (Upstream)).

У Вас канал к одному оператору, это первая «нога», второй канал ко второму, соответственно вторая и т.д.

 

Я писал выше, анонс сетей автономной системы, можно проверять за счёт публичных "Looking Glass", например - https://bgp.he.net/

 

Условно ASyyyy  - это Ваша автономная система, ноги к «сосед #1» и «сосед #2».

 

 

 

 

 

Снимок.JPG

 

В 13.10.2022 в 14:49, proftp666 сказал:

Или может ссылочку знаете, где про это можно почитать?

Сложно ответить на Ваш вопрос однозначно, нужно разобраться в основах протокола BGP.

Например - https://habr.com/ru/post/184350/

Share this post


Link to post
Share on other sites

... и потом почитать https://wiki.mikrotik.com/wiki/Manual:Routing/BGP

Готовых конфигов вам тут никто не предложит. Читаете, пробуете настраивать, что-то не работает - спрашиваете.

Share this post


Link to post
Share on other sites

Не получится нормально разбить трафик, даже оперируя весами анонсов. Все равно или по одному каналу будет приходить все, или большая часть, а по второму каналу малая. Поменяете вес на одну единицу как трафик весь пойдет по другому каналу.

Share this post


Link to post
Share on other sites

Saab95, здравствуйте.

 

В 13.10.2022 в 20:52, Saab95 сказал:

Не получится нормально разбить трафик, даже оперируя весами анонсов. Все равно или по одному каналу будет приходить все, или большая часть, а по второму каналу малая.

Пожалуйста не вводите людей в заблуждение, категорично заявляя, что нет возможности балансировать входящий трафик, опираясь на атрибуты BGP. Если, почему-то  не получается у Вас, не значит, что невозможно. Это не телефония с ОКС-7 (да простят меня гуру телефонного мира), где всё жёстко-статично прописано и входящие вызовы поступают в основном по одной ноге.

 

При корректной настройке совокупности атрибутов BGP и взаимодействии с соседями, трафик нормально балансируется, не идеально, но вполне гибко. Да, бывают случаи, за редкими исключениями, когда невозможно добиться балансировки, но обычно это исключение из правил.

 

Вот например AS, вполне половинчато распределяет анонс сети и таких AS пруд пруди:

Снимок.JPG

Share this post


Link to post
Share on other sites

В 13.10.2022 в 12:59, SUrov_IBM сказал:

 

Начал проверять свои AS. И выяснилось. Что номер AS где поднимаем второго провайдера, совпадает с номером AS с другого города, она наша. По лукинглазу посмотрел и там отображается что AS имеет связь только с двумя другими провайдерами у которых другие AS, в другом городе. А связи с новыми AS, где поднимаем второго провайдера - нет т с действующим тоже нет. Может из-за этого у меня не как нужно работает BGP с двумя провайдерами? Нужно получить другую AS, для нормальной работы?

Share this post


Link to post
Share on other sites

В 14.10.2022 в 05:01, proftp666 сказал:

Что номер AS где поднимаем второго провайдера, совпадает с номером AS с другого города, она наша. По лукинглазу посмотрел и там отображается что AS имеет связь только с двумя другими провайдерами у которых другие AS, в другом городе. А связи с новыми AS, где поднимаем второго провайдера - нет т с действующим тоже нет. Может из-за этого у меня не как нужно работает BGP с двумя провайдерами? Нужно получить другую AS, для нормальной работы?

У Вас сумбурное объяснение, если честно, я не понял, каким способом планируется реализовать схему.

 

В классическом варианте, организация имеет один выделенный номер AS (условно, это корзина), от которого анонсируется неограниченное количество сетей (грубо говоря, сети кладутся в корзину), тип сетей PI или PA не имеет значения, это административная функция.

 

При анонсировании сети соседу, значением не меньше /24, сеть "закрывается" номером AS, от которой происходит анонс.

 

Технически, AS может содержать множество сетей. Каждая сеть, может анонсироваться конкретному соседу, грубо говоря AS100 (Ваша AS), сесть 193.x.x.x/24 (Ваша сеть) в городе «А» анонсируется соседу AS400, в городе «Б» AS100 (Ваша AS) и сеть 193.y.y.y/24 (Ваша сеть) анонсируется соседу AS700.

Share this post


Link to post
Share on other sites

В 14.10.2022 в 07:18, proftp666 сказал:

А в микротике не может быть проблема? Версия 5.14

Для протокола BGP не важно, что из себя представляет маршрутизатор (умеет он там что-то делать с трафиком (маркировать и т.п.) или нет), если маршрутизатор поддерживает минимальный функционал BGP, необходимый для установления сессии, в целом это просто пограничный маршрутизатор на "краю" AS, сообщающий об анонсе сети с атрибутами другому маршрутизатору (соседу по eBGP). Это может быть что угодно, хоть QNX с Quagga BGP демоном, если сможете такое собрать. ;)

 

В Вашем случае, маршрутизатор MIKROTIK и нужно смотреть, что он «отдаёт» соседу. На Cisco / Quagga, я бы посмотрел с помочью "show ip bgp neighbors IP_cсоседа advertised-routes", BGP на MIKROTIK я не настраивал, чтобы подсказать точно. Поэтому, как советовал выше форумчанин Andrei, нужно обратиться к документации.

Share this post


Link to post
Share on other sites

В 13.10.2022 в 23:20, SUrov_IBM сказал:

Пожалуйста не вводите людей в заблуждение, категорично заявляя, что нет возможности балансировать входящий трафик, опираясь на атрибуты BGP. Если, почему-то  не получается у Вас, не значит, что невозможно. Это не телефония с ОКС-7 (да простят меня гуру телефонного мира), где всё жёстко-статично прописано и входящие вызовы поступают в основном по одной ноге.

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

 

Когда у первого провайдера до части ресурсов вес (образно) 2, до других ресурсов 3, то третьих - 4. А у второго провайдера до части ресурсов вес 4, до других 1 и до третьих - 2.

 

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

 

Кроме всего у самих провайдеров могут веса меняться время от времени, например при перегрузки прямых каналов часть трафика идет по пути с большим весом.

Share this post


Link to post
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.

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.