Устанавливается два туннеля - основной и запасной. BGP сессии устанавливаются «на концах» туннелей и могут быть как с аутентификацией, так и без. Сервис CyberFilter использует автономную систему из приватного диапазона - 64512. В сторону клиента анонсируются префиксы длинной /32. Со стороны клиента CyberFilter получает префиксы сетей, абоненты которых будут перенаправляться на фильтрующий сервер (фильтрация по URL). При этом CyberFilter отфильтровывает все префиксы с origin не равным номеру автономной системы клиента.
Обозначения:
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 со вашей стороны
Туннели:
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
BGP:
# Префикс лист со всеми вашими сетями ip prefix-list CYBERFILTER-OUT seq 5 permit <prefix1> ip prefix-list CYBERFILTER-OUT seq 10 permit <prefix2> # настройки BGP router bgp <<asn>> neighbor CYBERFILTER peer-group neighbor CYBERFILTER remote-as 64512 neighbor CYBERFILTER password <<password>> neighbor CYBERFILTER version 4 neighbor 198.51.100.A peer-group CYBERFILTER neighbor 198.51.100.C peer-group CYBERFILTER neighbor CYBERFILTER send-community both neighbor CYBERFILTER next-hop-self neighbor CYBERFILTER soft-reconfiguration inbound neighbor CYBERFILTER prefix-list CYBERFILTER-OUT out neighbor 198.51.100.A activate neighbor 198.51.100.C activate
Туннели:
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
BGP:
# Префикс лист со всеми вашими сетями 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
Туннели:
/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
BGP:
# Для каждого префикса желательно создать маршрут 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
Туннели:
/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
BGP:
# Настройка 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
Настройки BGP для варианта «Proxy у оператора» осуществляются аналогично облачному варианту, с небольшими дополнениями, т.к. значение next_hop устанавливается со стороны CyberFilter.
Значение next_hop, для префиксов передаваемых со стороны CyberFilter можно установить в Личном Кабинете (раздел «Настройки»). Обычно next_hop == адресу proxy.
# настройки BGP router bgp <<asn>> neighbor CYBERFILTER ebgp-multihop 2
router bgp <<asn>> remote-as 64512 ebgp-multihop 2
/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
/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