И так, есть два прова, Первый пров надет 2 линка - один с Украиной, второй с миром. Есть свой блок адресов и автономка. Надо это всё связать под управление указанной выше ОС - Freebsd 10. По Украине надо получить все подсети, а из мира только default. Второй пров сугубо резервный, дает лишь default, на случай если упадёт первый пров.
Для начала надо поставить пакет quagga
Когда всё установилось переходим в директорию
re0 - интерфейс который смотрит во внутреннюю сеть, на нём же и висит блок белых адресов нашей АС - 1.1.1.0/24
re1 - интерфейс который смотрит на провайдера по которому приходит трафик Украины, наш ип 2.2.2.1, прова 2.2.2.2
re2 - интерфейс того же прова, но с миром, наш ип 3.3.3.1, прова - 3.3.3.2.
re3 - интерфейс второго прова, с deafult, наш ип 4.4.4.1. прова - 4.4.4.2
В целом маршрутизация и настройка очень идентична оборудованию Ciscoи здравой логике)
Теперь надо создать файл bgpd.conf и в нём описать все параметры.
Отдельный вопрос касательно set metric +150, мне оба прова давали deafult с нулевой метрикой и система отказывалась вставлять его в роуты, метрика резервного прова должна быть выше. Так же фишка, если роут был вставлен в таблицу, а потом появился роут с лучшей метрикой, лучший не будет вставлен пока не будут очищены пиры. Все эти моменты замечательно покрываются в курсе CCNP...
А пока, вернемся к фряхе
Пишем в /etc/rc.conf:
Чтобы посмотреть состояние bgp-сессия подключаемся на 127.0.0.1 2605:
Для начала надо поставить пакет quagga
cd /usr/ports/net/quagga/Опции по вкусу)
make install clean
Когда всё установилось переходим в директорию
/usr/local/etc/quaggaТут надо создать файл zebra.conf следующего содержания:
hostname zebrapassword 123enable password 123log file /usr/local/etc/quagga/zebra.log!interface re0ip address 1.1.1.1/24!interface re1ip address 2.2.2.1/30
!
interface re2
ip address 3.3.3.1/30
!
interface re3
ip address 4.4.4.1/30
!
Небольшие пояснения:interface lo0!!ip forwarding!!line vtyexec-timeout 0 0!
re0 - интерфейс который смотрит во внутреннюю сеть, на нём же и висит блок белых адресов нашей АС - 1.1.1.0/24
re1 - интерфейс который смотрит на провайдера по которому приходит трафик Украины, наш ип 2.2.2.1, прова 2.2.2.2
re2 - интерфейс того же прова, но с миром, наш ип 3.3.3.1, прова - 3.3.3.2.
re3 - интерфейс второго прова, с deafult, наш ип 4.4.4.1. прова - 4.4.4.2
В целом маршрутизация и настройка очень идентична оборудованию Cisco
Теперь надо создать файл bgpd.conf и в нём описать все параметры.
Тут все просто, особенно для тех кто знаком с route-map'ами Cisco. Создается несколько префикс-листов, чтобы разграничить обновления от разных пиров, в принципе входящие роут-мапы (котороые к примеру neighbor 2.2.2.2 route-map ISP-In-Default in) можно и создавать, оставит всё на совесть провайдера, равно как и исходящие. BGP совершенно не сложная вещь, работает просто и из коробки, но оооочень гибкая, за её гибкость её и ценят)hostname AS10000password 123enable password 123log file /usr/local/etc/quagga/bgpd.log!router bgp 10000bgp router-id 1.1.1.1bgp log-neighbor-changesnetwork 1.1.1.0/24neighbor 4.4.4.2 remote-as 4444neighbor 4.4.4.2 description BackupISPneighbor 4.4.4.2 shutdownneighbor 4.4.4.2 route-map ISP-In-Default-Backup inneighbor 4.4.4.2 route-map ISP-Out outneighbor 3.3.3.2 remote-as 3333neighbor 3.3.3.2 description FirstISP-UA-IXneighbor 3.3.3.2 route-map ISP-In-Full-View inneighbor 3.3.3.2 route-map ISP-Out outneighbor 2.2.2.2 remote-as 15772neighbor 2.2.2.2 description 2ndISP-Worldneighbor 2.2.2.2 route-map ISP-In-Default inneighbor 2.2.2.2 route-map ISP-Out out!ip prefix-list FullView seq 10 permit 0.0.0.0/0 le 32ip prefix-list default description default routeip prefix-list default seq 10 permit 0.0.0.0/0ip prefix-list our-blocks seq 5 permit 194.44.146.0/24!route-map ISP-In-Default permit 100match ip address prefix-list defaultset metric +100!route-map ISP-In-Full-View permit 100match ip address prefix-list FullView!route-map ISP-Out permit 100match ip address prefix-list out-blocks!route-map empty deny 100!route-map ISP-In-Default-Backup permit 100match ip address prefix-list defaultset metric +150!line vty!
Отдельный вопрос касательно set metric +150, мне оба прова давали deafult с нулевой метрикой и система отказывалась вставлять его в роуты, метрика резервного прова должна быть выше. Так же фишка, если роут был вставлен в таблицу, а потом появился роут с лучшей метрикой, лучший не будет вставлен пока не будут очищены пиры. Все эти моменты замечательно покрываются в курсе CCNP...
А пока, вернемся к фряхе
Пишем в /etc/rc.conf:
quagga_enable="YES"Запускаем:
quagga_daemons="zebra bgpd"
quagga_flags="-d -A 127.0.0.1"
/usr/local/etc/rc.d/quagga startЕсли что-то не запустилось, смотрим логи. Бывает проблема с создание pid, надо на каталог /var/run/quagga дать больше прав и поменять собственника. Конфигурировать зебру и bgp можно так же из под демона, для того чтобы попасть в зебру надо подключиться телнетом на адрес 127.0.0.1 2601, а в настройку bgp - 127.0.0.1 2605, там всё опять-таки очень похоже на циску.
Чтобы посмотреть состояние bgp-сессия подключаемся на 127.0.0.1 2605:
команда sh ip bgp sum - выводит информацию о текущих сессиях, одна из частых проблем закрытые порты в фаэрволе, bgp помимо 179 порта использует ещё много других, (см. RFC).
команда sh ip bgp - показывает список роутов, которые были импортированы в таблицу роутов bgp, там же показывается какой роут лучший, метрика и прочие параметры. Не всегда, если роут будет в таблице маршрутизации bgp, он будет помещен в основную таблицу(!), не следует про это забывать.В целом сложного ничего нету.
Комментариев нет:
Отправить комментарий