Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
setup_bgp [21.11.2013 18:19] phantom |
setup_bgp [21.09.2022 10:48] phantom [Оборудование MikroTik (RouterOS 7.x)] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Настройка туннелей и BGP ====== | + | ====== Облачный вариант ====== |
- | Устанавливается два туннеля - основной и запасной. BGP сессии могут быть как с аутентификацией, так и без. Сервис CyberFilter использует автономную систему из приватного диапазона - 64512. В сторону клиента анонсируются префиксы длинной /32. Со стороны клиента CyberFilter получает префиксы сетей, абоненты которых будут перенаправляться на фильтрующий сервер (фильтрация по URL). При этом CyberFilter отфильтровывает все префиксы с origin не равным номеру автономной системы клиента. | + | Устанавливается два туннеля - основной и запасной. BGP сессии устанавливаются "на концах" туннелей и могут быть как с аутентификацией, так и без. Сервис CyberFilter использует автономную систему из приватного диапазона - 64512. В сторону клиента анонсируются префиксы длинной /32. Со стороны клиента CyberFilter получает префиксы сетей, абоненты которых будут перенаправляться на фильтрующий сервер (фильтрация по URL). При этом CyberFilter отфильтровывает все префиксы с origin не равным номеру автономной системы клиента. |
+ | Обозначения: | ||
- | ===== Оборудование Cisco ===== | + | local-ip - адрес интерфейса, который смотрит в вашу сеть\\ |
+ | CF-remote-1 - адрес терминации туннеля №1 на стороне CyberFilter\\ | ||
+ | CF-remote-2 - адрес терминации туннеля №2 на стороне CyberFilter\\ | ||
+ | |||
+ | asn - номер вашей автономной системы\\ | ||
+ | password - пароль на BGP сессии\\ | ||
+ | prefix1 - ваш префикс (сеть) №1\\ | ||
+ | prefixN - ваш префикс (сеть) №N\\ | ||
+ | |||
+ | 198.51.100.A - адрес на туннеле №1 со стороны CyberFilter\\ | ||
+ | 198.51.100.B - адрес на туннеле №1 со вашей стороны\\ | ||
+ | 198.51.100.С - адрес на туннеле №2 со стороны CyberFilter\\ | ||
+ | 198.51.100.D - адрес на туннеле №2 со вашей стороны\\ | ||
+ | |||
+ | ===== Оборудование Cisco (обычные IOS) ===== | ||
Туннели: | Туннели: | ||
<code> | <code> | ||
- | interface TunnelXXX | + | interface Tunnel0 |
description CyberFilter Primary | description CyberFilter Primary | ||
- | ip address 198.51.100.X 255.255.255.252 | + | ip address 198.51.100.B 255.255.255.252 |
tunnel source Loopback0 | tunnel source Loopback0 | ||
- | tunnel destination A.B.C.D | + | tunnel destination <CF-remote-1> |
tunnel mode ipip | tunnel mode ipip | ||
end | end | ||
- | interface TunnelYYY | + | interface Tunnel1 |
description CyberFilter Secondary | description CyberFilter Secondary | ||
- | ip address 198.51.100.X 255.255.255.252 | + | ip address 198.51.100.D 255.255.255.252 |
tunnel source Loopback0 | tunnel source Loopback0 | ||
- | tunnel destination E.F.G.H | + | tunnel destination <CF-remote-2> |
tunnel mode ipip | tunnel mode ipip | ||
end | end | ||
Строка 30: | Строка 45: | ||
<code> | <code> | ||
# Префикс лист со всеми вашими сетями | # Префикс лист со всеми вашими сетями | ||
- | ip prefix-list CYBERFILTER-OUT seq 5 permit I.J.K.L/X | + | ip prefix-list CYBERFILTER-OUT seq 5 permit <prefix1> |
- | ip prefix-list CYBERFILTER-OUT seq 10 permit M.N.O.P/Y | + | ip prefix-list CYBERFILTER-OUT seq 10 permit <prefix2> |
# настройки BGP | # настройки BGP | ||
router bgp <<asn>> | router bgp <<asn>> | ||
- | neighbor CYBERFILTER peer-group | + | neighbor CYBERFILTER peer-group |
- | neighbor CYBERFILTER remote-as 64512 | + | neighbor CYBERFILTER remote-as 64512 |
- | neighbor CYBERFILTER password <<password>> | + | neighbor CYBERFILTER password <<password>> |
- | neighbor CYBERFILTER version 4 | + | neighbor CYBERFILTER version 4 |
- | neighbor A.B.C.D peer-group CYBERFILTER | + | neighbor 198.51.100.A peer-group CYBERFILTER |
- | neighbor E.F.G.H peer-group CYBERFILTER | + | neighbor 198.51.100.C peer-group CYBERFILTER |
- | neighbor CYBERFILTER send-community both | + | neighbor CYBERFILTER send-community both |
- | neighbor CYBERFILTER next-hop-self | + | neighbor CYBERFILTER next-hop-self |
- | neighbor CYBERFILTER soft-reconfiguration inbound | + | neighbor CYBERFILTER soft-reconfiguration inbound |
- | neighbor CYBERFILTER prefix-list CYBERFILTER-OUT out | + | neighbor CYBERFILTER prefix-list CYBERFILTER-OUT out |
- | neighbor A.B.C.D activate | + | neighbor 198.51.100.A activate |
- | neighbor E.F.G.H activate | + | neighbor 198.51.100.C activate |
</code> | </code> | ||
+ | ===== Оборудование Cisco (IOS XR) ===== | ||
+ | |||
+ | Туннели: | ||
+ | |||
+ | <code> | ||
+ | interface Tunnel0 | ||
+ | description CyberFilter Primary | ||
+ | ip address 198.51.100.B 255.255.255.252 | ||
+ | tunnel source Loopback0 | ||
+ | tunnel destination <CF-remote-1> | ||
+ | tunnel mode ipip | ||
+ | end | ||
+ | |||
+ | interface Tunnel1 | ||
+ | description CyberFilter Secondary | ||
+ | ip address 198.51.100.D 255.255.255.252 | ||
+ | tunnel source Loopback0 | ||
+ | tunnel destination <CF-remote-2> | ||
+ | tunnel mode ipip | ||
+ | end | ||
+ | </code> | ||
+ | |||
+ | BGP: | ||
+ | |||
+ | <code> | ||
+ | # Префикс лист со всеми вашими сетями | ||
+ | prefix-set TO-CYBERFILTER | ||
+ | <<prefix1>>, | ||
+ | <<prefixN>> | ||
+ | end-set | ||
+ | |||
+ | route-policy CYBERFILTER-OUT | ||
+ | if destination in TO-CYBERFILTER then | ||
+ | pass | ||
+ | else | ||
+ | drop | ||
+ | endif | ||
+ | end-policy | ||
+ | |||
+ | |||
+ | router bgp <<asn>> | ||
+ | address-family ipv4 unicast | ||
+ | ! | ||
+ | session-group CF-Group | ||
+ | remote-as 64512 | ||
+ | description CyberFilter | ||
+ | update-source Loopback0 | ||
+ | address-family ipv4 unicast | ||
+ | next-hop-self | ||
+ | soft-reconfiguration inbound | ||
+ | password encrypted <<password>> | ||
+ | send-community-ebgp | ||
+ | route-policy CYBERFILTER-OUT out | ||
+ | ! | ||
+ | neighbor-group CF-Neighbors | ||
+ | use session-group CF-Group | ||
+ | ! | ||
+ | neighbor 198.51.100.A | ||
+ | use neighbor-group CF-Neighbors | ||
+ | neighbor 198.51.100.C | ||
+ | use neighbor-group CF-Neighbors | ||
+ | </code> | ||
+ | |||
+ | ===== Оборудование MikroTik (RouterOS 6.x) ===== | ||
+ | |||
+ | Туннели: | ||
+ | |||
+ | <code> | ||
+ | /interface ipip | ||
+ | add local-address=<local-ip> remote-address=<CF-remote-1> name=CF1 | ||
+ | add local-address=<local-ip> remote-address=<CF-remote-2> name=CF2 | ||
+ | |||
+ | /ip address | ||
+ | add address=198.51.100.B netmask=255.255.255.252 interface=CF1 | ||
+ | add address=198.51.100.D netmask=255.255.255.252 interface=CF2 | ||
+ | </code> | ||
+ | |||
+ | BGP: | ||
+ | |||
+ | <code> | ||
+ | |||
+ | # Для каждого префикса желательно создать маршрут blackhole, | ||
+ | # это позволит избежать зацикливания в трейсах из Интернет на ваши сети | ||
+ | /ip route | ||
+ | add dst-address=<prefix1> type=blackhole | ||
+ | add dst-address=<prefixN> type=blackhole | ||
+ | |||
+ | # Фильтр для анонсов в сторону CyberFilter | ||
+ | /routing filter | ||
+ | add chain=CF-Out prefix=<prefix1> action=accept | ||
+ | add chain=CF-Out prefix=<prefixN> action=accept | ||
+ | add chain=CF-Out action=discard | ||
+ | |||
+ | # Настройка непосредственно AS | ||
+ | # MicroTik по умолчанию уже имеет instance с назвнием default - его и настраиваем | ||
+ | /routing bgp instance | ||
+ | set 0 as=<asn> router-id=<local-ip> | ||
+ | |||
+ | # Настройка ваших сетей для анонсов | ||
+ | # Если маршрутов blackhole нет, то нужно добавить опцию synchronize=no | ||
+ | /routing bgp network | ||
+ | add network=<prefix1> | ||
+ | add network=<prefixN> | ||
+ | |||
+ | # Настройка BGP пиров | ||
+ | /routing bgp peer | ||
+ | add instance=default remote-address=198.51.100.A \ | ||
+ | remote-as=64512 tcp-md5-key=<password> out-filter=CF-Out name=CF1 | ||
+ | add instance=default remote-address=198.51.100.C \ | ||
+ | remote-as=64512 tcp-md5-key=<password> out-filter=CF-Out name=CF2 | ||
+ | </code> | ||
+ | |||
+ | ===== Оборудование MikroTik (RouterOS 7.x) ===== | ||
+ | |||
+ | Туннели: | ||
+ | |||
+ | <code> | ||
+ | /interface ipip | ||
+ | add local-address=<local-ip> remote-address=<CF-remote-1> name=CF1 | ||
+ | add local-address=<local-ip> remote-address=<CF-remote-2> name=CF2 | ||
+ | |||
+ | /ip address | ||
+ | add address=198.51.100.B netmask=255.255.255.252 interface=CF1 | ||
+ | add address=198.51.100.D netmask=255.255.255.252 interface=CF2 | ||
+ | </code> | ||
+ | |||
+ | BGP: | ||
+ | |||
+ | <code> | ||
+ | # Настройка address-list с префиксами, которые будут анонсироваться | ||
+ | /ip firewall address-list | ||
+ | add list=CF-Out address=<prefix1> | ||
+ | add list=CF-Out address=<prefixN> | ||
+ | |||
+ | # Настройка blackhole для префиксов, которые будут анонсироваться | ||
+ | /ip route | ||
+ | add dst-address=<prefix1> blackhole | ||
+ | add dst-address=<prefixN> blackhole | ||
+ | |||
+ | # Настройка BGP пиров | ||
+ | /routing bgp connection | ||
+ | add name=CF1 as=<asn> remote.address=198.51.100.A remote.as=64512 output.network=CF-Out\ | ||
+ | tcp-md5-key=<password> local.role=ebgp-peer | ||
+ | add name=CF2 as=<asn> remote.address=198.51.100.C remote.as=64512 output.network=CF-Out\ | ||
+ | tcp-md5-key=<password> local.role=ebgp-peer | ||
+ | </code> | ||
+ | |||
+ | ====== Вариант "Proxy у оператора" ====== | ||
+ | |||
+ | Настройки BGP для варианта "Proxy у оператора" осуществляются аналогично облачному варианту, с небольшими дополнениями, т.к. значение next_hop устанавливается со стороны CyberFilter. | ||
+ | |||
+ | Значение next_hop, для префиксов передаваемых со стороны CyberFilter можно установить в Личном Кабинете (раздел «Настройки»). Обычно next_hop == адресу proxy. | ||
+ | ===== Оборудование Cisco (обычные IOS) ===== | ||
+ | |||
+ | <code> | ||
+ | # настройки BGP | ||
+ | router bgp <<asn>> | ||
+ | neighbor CYBERFILTER ebgp-multihop 2 | ||
+ | </code> | ||
+ | |||
+ | ===== Оборудование Cisco (IOS XR) ===== | ||
+ | |||
+ | <code> | ||
+ | router bgp <<asn>> | ||
+ | remote-as 64512 | ||
+ | ebgp-multihop 2 | ||
+ | </code> | ||
+ | |||
+ | ===== Оборудование MikroTik (RouterOS 6.x)===== | ||
+ | |||
+ | <code> | ||
+ | /routing bgp peer | ||
+ | add instance=default remote-address=198.51.100.A multihop=yes\ | ||
+ | remote-as=64512 tcp-md5-key=<password> out-filter=CF-Out name=CF1 | ||
+ | add instance=default remote-address=198.51.100.C multihop=yes\ | ||
+ | remote-as=64512 tcp-md5-key=<password> out-filter=CF-Out name=CF2 | ||
+ | </code> | ||
+ | |||
+ | ===== Оборудование MikroTik (RouterOS 7.x)===== | ||
+ | |||
+ | <code> | ||
+ | /routing bgp connection | ||
+ | add name=CF1 as=<asn> remote.address=198.51.100.A remote.as=64512 output.network=CF-Out\ | ||
+ | multihop=yes tcp-md5-key=<password> local.role=ebgp-peer | ||
+ | add name=CF2 as=<asn> remote.address=198.51.100.C remote.as=64512 output.network=CF-Out\ | ||
+ | multihop=yes tcp-md5-key=<password> local.role=ebgp-peer | ||
+ | </code> | ||