Регистрация IP адресов
О нас                 Услуги                 Splynx Биллинг                 Полезное                 IPv6                 Контакты


ISP Servis: Статьи и инструкции



Настройка BGP на Mikrotik
Прежде всего хотелось бы сказать, что настройка MikroTik BGP может осуществляться как с помощью CLI так и с помощью WebAdmin. В данной статье будет описываться настройка с помощью CLI.

Допустим наш номер AS - AS12345, IP адрес - 192.168.255.25, в Интернет нами передается префикс в виде 109.205.240.0/21
AS нашего пира ISP1 - AS11111, IP - 192.168.255.29, в этом случае не используется пароль MD-5.
См.рисунок.



Настройка глобального процесса BGP
/routing bgp instance set default as=12345 redistribute-static=yes redistribute-connected=yes router-id=192.168.255.25
/routing bgp network add network=109.205.240.0/21 synchronize=no

Настройка BGP партнера ISP1
/routing bgp peer add remote-address=192.168.255.29 remote-as=11111 instance=default out-filter=AS11111-bgp-out in-filter=AS11111-bgp-in

Фильтры BGP-out - выход разрешен только для нашей сети, если Микротик попытается отправить другие сети, фильтр этого сделать не позволит
/routing filter add action=accept chain=AS11111-bgp-out comment="" disabled=no invert-match=no prefix=109.205.240.0/21 set-bgp-prepend=3
/routing filter add action=discard chain=AS11111-bgp-out comment="" disabled=no invert-match=no

Так как в нашем примере ISP1 является резервным, мы должны настроить специальное правило для фильтра BGP-out. - set-bgp-prepend=3 . Специальное правило мы настроили с целью искусственного продления пути к нашей AS в атрибуте AS-PATH, который передается между BGP роутерами. В итоге весь входящий трафик будет проходить через второго ISP(конечно если подключение к ISP2 будет работать).

Фильтры BGP-in - при входе запретим посылать нам в AS извне не нужные префиксы и нашу собственную сеть.
/routing filter add action=discard chain=AS11111-bgp-in comment="" disabled=no invert-match=no prefix=10.0.0.0/8
/routing filter add action=discard chain=AS11111-bgp-in comment="" disabled=no invert-match=no prefix=169.254.0.0/16
/routing filter add action=discard chain=AS11111-bgp-in comment="" disabled=no invert-match=no prefix=192.168.0.0/16
/routing filter add action=discard chain=AS11111-bgp-in comment="" disabled=no invert-match=no prefix=172.16.0.0/12
/routing filter add action=discard chain=AS11111-bgp-in comment="" disabled=no invert-match=no prefix=224.0.0.0/4
/routing filter add action=discard chain=AS11111-bgp-in comment="" disabled=no invert-match=no prefix=240.0.0.0/4
/routing filter add action=discard chain=AS11111-bgp-in comment="" disabled=no invert-match=no prefix=127.0.0.0/8
/routing filter add action=discard chain=AS11111-bgp-in comment="" disabled=no invert-match=no prefix=109.205.240.0/21
/routing filter add action=accept chain=AS11111-bgp-in comment="" disabled=no invert-match=no

У нас есть соединение с первым ISP, которое мы можем проверить через WinBox.

Настройка BGP партнера ISP2
/routing bgp peer add remote-address=10.10.10.101 remote-as=22222 instance=default out-filter=AS22222-bgp-out in-filter=AS22222-bgp-in

Фильтры BGP-out - выход, как и в случае с ISP1, разрешен только для нашей сети, если Mikrotik будет пытаться отправить другие сети, фильтр этого не допустит. Кроме того, обратите внимание на отсутствие параметра для AS-PARH prepending, это указывает на то, что именно через этого пира будем принимать входящий трафик.
/routing filter add action=accept chain=AS22222-bgp-out comment="" disabled=no invert-match=no prefix=109.205.240.0/21
/routing filter add action=discard chain=AS22222-bgp-out comment="" disabled=no invert-match=no

Фильтры BGP-in - при входе запретим посылать нам в AS извне не нужные префиксы(серые адреса, bogons) и нашу собственную сеть.
/routing filter add action=discard chain=AS22222-bgp-in comment="" disabled=no invert-match=no prefix=10.0.0.0/8
/routing filter add action=discard chain=AS22222-bgp-in comment="" disabled=no invert-match=no prefix=169.254.0.0/16
/routing filter add action=discard chain=AS22222-bgp-in comment="" disabled=no invert-match=no prefix=192.168.0.0/16
/routing filter add action=discard chain=AS22222-bgp-in comment="" disabled=no invert-match=no prefix=172.16.0.0/12
/routing filter add action=discard chain=AS22222-bgp-in comment="" disabled=no invert-match=no prefix=224.0.0.0/4
/routing filter add action=discard chain=AS22222-bgp-in comment="" disabled=no invert-match=no prefix=240.0.0.0/4
/routing filter add action=discard chain=AS22222-bgp-in comment="" disabled=no invert-match=no prefix=127.0.0.0/8
/routing filter add action=discard chain=AS22222-bgp-in comment="" disabled=no invert-match=no prefix=109.205.240.0/21
/routing filter add action=accept chain=AS22222-bgp-in comment="" disabled=no invert-match=no set-bgp-local-pref=200

Последняя строка BGP-in фильтра ISP2 отличается от фильтра для ISP1 в том, что мы настроили Local preference 200 (по-умолчанию 100) для всех входящих путей от ISP2. Этим мы добились того, что весь исходящий трафик с нашей AS будет посылаться через провайдера ISP2.