Hub-and-Spoke на Huawei или как подружить между собой площадки с разными IGP

от автора

Недавно на простороах интернета попались гайды по настройке Huawei. В основном для начинающих, но поскольку давно было желание поработать с этим вендоров, то почему бы не попробовать, но для того чтобы это было более увлекательно решил немного усложнить и собрать свою лабу. Если интересно, что из этого вышло, добро пожаловать под кат.

Начнем с постановки задачи: у нас есть головной офис, два филиала и наша задача «подружить» их друг с другом. Т.е. сделать так чтобы филиалы увидели друг друга, через головной офис. Построить hub and spoke топологию.

В каждом филиале крутится свой IGP. В одном филиале IS-IS, в другом и головном офисах OSPF.

Строить будем в eve-ng, в качестве border-роутера будет образ Huawei AR1000v, роль L3 коммутатора агрегации будет отведена образу Huawei Cloud Engine 6800.

Решение будет следующим:

  1. Настраиваем IGP в филиалах и головном офисе

  2. Строим туннели между филиалами и офисом

  3. Поднимаем BGP сессии на туннельных интерфейсах

  4. Редистрибутируем IGP в BGP

  5. Фильтруем полученные префиксы

  6. Проверяем связанность

Ниже представлена L3 схема с адресацией

L3 схема стенда

L3 схема стенда

1. Настроим адресацию и сконфигурируем IGP

Адресация на внешних интерфейсах вымышленная и взята для удобства отображения.

Border01-HQ01

display current-configuration
# sysname Border01-HQ01 # acl number 2000  rule 5 permit source 192.168.110.0 0.0.0.255  rule 10 permit source 192.168.120.0 0.0.0.255  rule 15 permit source 192.168.130.0 0.0.0.255  rule 20 deny  # interface GigabitEthernet0/0/0  ip address 14.1.2.1 255.255.255.252  nat outbound 2000 # interface GigabitEthernet0/0/1  ip address 10.0.0.0 255.255.255.254  ospf network-type p2p  ospf enable 1 area 0.0.0.0 # interface LoopBack0  ip address 1.1.1.1 255.255.255.255  ospf enable 1 area 0.0.0.0 # ospf 1 router-id 1.1.1.1  default-route-advertise always  area 0.0.0.0 # ip route-static 0.0.0.0 0.0.0.0 14.1.2.2 # return

На внешнем интерфейсе настроено NAT правило для внутренних клиентов, позже будем проверять доступность до ресурса в «интернете», роль которого выполняет loopback интерфейс роутера ISP. Также в сторону агрегации анонсируется маршрут по умолчанию.

Agg-SW01-HQ01

display current-configuration
# sysname Agg-SW01-HQ01 # vlan batch 110 120 130 # interface Vlanif110  ip address 192.168.110.254 255.255.255.0  ospf enable 1 area 0.0.0.0  dhcp select relay  dhcp relay binding server ip 192.168.140.100 # interface Vlanif120  ip address 192.168.120.254 255.255.255.0  ospf enable 1 area 0.0.0.0  dhcp select relay  dhcp relay binding server ip 192.168.140.100 # interface Vlanif130  ip address 192.168.130.254 255.255.255.0  ospf enable 1 area 0.0.0.0  dhcp select relay  dhcp relay binding server ip 192.168.140.100 # interface GE1/0/0  undo portswitch  undo shutdown  ip address 10.0.0.1 255.255.255.254  ospf network-type p2p  ospf enable 1 area 0.0.0.0 # interface GE1/0/1  undo shutdown  port default vlan 110 # interface GE1/0/2  undo shutdown  port default vlan 120 # interface GE1/0/3  undo shutdown  port default vlan 130 # interface LoopBack0  ip address 1.1.1.10 255.255.255.255  ospf enable 1 area 0.0.0.0 # ospf 1 router-id 1.1.1.10  area 0.0.0.0 # return

На интерфейсах настроен dhcp relay, но на стенде корректно это не заработало. Т.е. запрос приходил на dhcp server, тот выдавал адрес но клиент никак не мог получить ACK. Несмотря на, что dhcp server уже фиксировал аренду для этого клиента. Возможно это особенности образа, возможно самой eve-ng. Скорее всего на реальном оборудование это сработает, но это не точно))). Забегая вперед, на клиентах адреса будут статические.

Проверим OSPF связанность

display ip routing-table protocol ospf
<Border01-HQ01>display ip routing-table protocol ospf Route Flags: R - relay, D - download to fib, T - to vpn-instance ------------------------------------------------------------------------------ Public routing table : OSPF         Destinations : 4        Routes : 4  OSPF routing table status : <Active>         Destinations : 4        Routes : 4  Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface      1.1.1.10/32  OSPF    10   1           D   10.0.0.1        GigabitEthernet0/0/1 192.168.110.0/24  OSPF    10   2           D   10.0.0.1        GigabitEthernet0/0/1 192.168.120.0/24  OSPF    10   2           D   10.0.0.1        GigabitEthernet0/0/1 192.168.130.0/24  OSPF    10   2           D   10.0.0.1        GigabitEthernet0/0/1  OSPF routing table status : <Inactive>         Destinations : 0        Routes : 0

Как видим маршруты от агрегации приходят.

Теперь посмотрим, что приходит на агрегацию от бордера.

display ip routing-table protocol ospf
<Agg-SW01-HQ01>display ip routing-table protocol ospf Proto: Protocol        Pre: Preference Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route ------------------------------------------------------------------------------ _public_ Routing Table : OSPF         Destinations : 7        Routes : 7  OSPF routing table status : <Active>         Destinations : 2        Routes : 2  Destination/Mask    Proto   Pre  Cost        Flags NextHop         Interface          0.0.0.0/0   O_ASE   150  1             D   10.0.0.0        GE1/0/0         1.1.1.1/32  OSPF    10   1             D   10.0.0.0        GE1/0/0  OSPF routing table status : <Inactive>         Destinations : 5        Routes : 5  Destination/Mask    Proto   Pre  Cost        Flags NextHop         Interface      1.1.1.10/32  OSPF    10   0                 1.1.1.10        LoopBack0     10.0.0.0/31  OSPF    10   1                 10.0.0.1        GE1/0/0 192.168.110.0/24  OSPF    10   1                 192.168.110.254 Vlanif110 192.168.120.0/24  OSPF    10   1                 192.168.120.254 Vlanif120 192.168.130.0/24  OSPF    10   1                 192.168.130.254 Vlanif130

Видим, что приходит маршрут по умолчанию и loopback от бордера.

Проверим «выход в мир»

ping 8.8.8.8 -c 3
NAME        : VPCS[1] IP/MASK     : 192.168.110.10/24 GATEWAY     : 192.168.110.254 DNS         : 192.168.110.254 MAC         : 00:50:79:66:68:23 LPORT       : 20000 RHOST:PORT  : 127.0.0.1:30000 MTU         : 1500  VPCS> ping 8.8.8.8 -c 3  84 bytes from 8.8.8.8 icmp_seq=1 ttl=253 time=3.327 ms 84 bytes from 8.8.8.8 icmp_seq=2 ttl=253 time=2.987 ms 84 bytes from 8.8.8.8 icmp_seq=3 ttl=253 time=2.106 ms

Для остальных устройств настройки аналогичные, приведу только настройку IS-IS для Branch-02.

Border01-BR02

display current-configuration
# sysname Border01-BR02 # acl number 2000  rule 5 permit source 192.168.10.0 0.0.0.255  rule 10 permit source 192.168.20.0 0.0.0.255  rule 15 permit source 192.168.30.0 0.0.0.255  rule 20 deny # isis 1  network-entity 49.0001.0000.0000.0001.00  default-route-advertise always # interface GigabitEthernet0/0/0  ip address 195.147.98.1 255.255.255.252  nat outbound 2000 # interface GigabitEthernet0/0/1  ip address 10.0.2.3 255.255.255.254  isis enable 1  isis circuit-type p2p # interface GigabitEthernet0/0/2  ip address 10.0.2.1 255.255.255.254  isis enable 1  isis circuit-type p2p # interface LoopBack0  ip address 3.3.3.3 255.255.255.255  isis enable 1 # ip route-static 0.0.0.0 0.0.0.0 195.147.98.2 # return

В сторону агрегации специально «смотрят» два линка, для того чтобы получить балансировку, при условии равной стоимости.

Agg-SW01-BR02

display current-configuration
# sysname Agg-SW01-BR02 # vlan batch 10 20 30 # isis 1  network-entity 49.0001.0000.0000.0002.00 # interface Vlanif10  ip address 192.168.10.254 255.255.255.0  isis enable 1  isis circuit-type p2p # interface Vlanif20  ip address 192.168.20.254 255.255.255.0  isis enable 1  isis circuit-type p2p # interface GE1/0/0  undo portswitch  undo shutdown  ip address 10.0.2.2 255.255.255.254  isis enable 1  isis circuit-type p2p # interface GE1/0/1  undo portswitch  undo shutdown  ip address 10.0.2.0 255.255.255.254  isis enable 1  isis circuit-type p2p # interface GE1/0/2  undo shutdown  port default vlan 20 # interface GE1/0/3  undo shutdown  port default vlan 10 # interface LoopBack0  ip address 3.3.3.10 255.255.255.255  isis enable 1 # return

Проверим IS-IS связанность

display ip routing-table protocol isis
<Border01-BR02>display ip routing-table protocol isis Route Flags: R - relay, D - download to fib, T - to vpn-instance ------------------------------------------------------------------------------ Public routing table : ISIS         Destinations : 3        Routes : 6  ISIS routing table status : <Active>         Destinations : 3        Routes : 6  Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface      3.3.3.10/32  ISIS-L1 15   10          D   10.0.2.2        GigabitEthernet0/0/1                  ISIS-L1 15   10          D   10.0.2.0        GigabitEthernet0/0/2 192.168.10.0/24  ISIS-L1 15   20          D   10.0.2.2        GigabitEthernet0/0/1                  ISIS-L1 15   20          D   10.0.2.0        GigabitEthernet0/0/2 192.168.20.0/24  ISIS-L1 15   20          D   10.0.2.2        GigabitEthernet0/0/1                  ISIS-L1 15   20          D   10.0.2.0        GigabitEthernet0/0/2  ISIS routing table status : <Inactive>         Destinations : 0        Routes : 0

Маршруты от агрегации приходят и они доступны через два интерфейса, что и дает балансировку. По умолчанию IS-IS сконфигурирован в режиме L1-L2 (внутри региона/вне региона). В нашем случае это L1 т.к. все внутри одного региона (area) отвечает за это network-entity 49.0001.xxxx.xxxx.xxxx.xx должен быть одинаковым на устройствах одного региона.

display isis peer
<Agg-SW01-BR02>display isis peer  Peer Information for ISIS(1) --------------------------------------------------------------------------------  System ID     Interface       Circuit ID        State HoldTime(s) Type     PRI -------------------------------------------------------------------------------- 0000.0000.0001  GE1/0/0         0000000001         Up            24 L1L2      -- 0000.0000.0001  GE1/0/1         0000000002         Up            24 L1L2      --  Total Peer(s): 2
display ip routing-table protocol isis
<Agg-SW01-BR02>display ip routing-table protocol isis Proto: Protocol        Pre: Preference Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route ------------------------------------------------------------------------------ _public_ Routing Table : IS-IS         Destinations : 7        Routes : 9  IS-IS routing table status : <Active>         Destinations : 2        Routes : 4  Destination/Mask    Proto   Pre  Cost        Flags NextHop         Interface          0.0.0.0/0   ISIS-L2 15   10            D   10.0.2.3        GE1/0/0                     ISIS-L2 15   10            D   10.0.2.1        GE1/0/1         3.3.3.3/32  ISIS-L1 15   10            D   10.0.2.3        GE1/0/0                     ISIS-L1 15   10            D   10.0.2.1        GE1/0/1  IS-IS routing table status : <Inactive>         Destinations : 5        Routes : 5  Destination/Mask    Proto   Pre  Cost        Flags NextHop         Interface      3.3.3.10/32  ISIS-L1 15   0                 3.3.3.10        LoopBack0     10.0.2.0/31  ISIS-L1 15   0                 10.0.2.0        GE1/0/1     10.0.2.2/31  ISIS-L1 15   0                 10.0.2.2        GE1/0/0 192.168.10.0/24  ISIS-L1 15   0                 192.168.10.254  Vlanif10 192.168.20.0/24  ISIS-L1 15   0                 192.168.20.254  Vlanif20

Видим,что на агрегацию приходит маршрут по умолчанию и loopback от бордера. Поскольку по умолчанию IS-IS сконфигурирован в L1-L2 мы можем принимать внешние маршруты, которым является 0.0.0.0/0 (считай редистрибуция) ISIS-L2.

Проверим «выход в мир»

ping 8.8.8.8 -c 3
NAME        : VPCS[1] IP/MASK     : 192.168.10.10/24 GATEWAY     : 192.168.10.254 DNS         : MAC         : 00:50:79:66:68:2d LPORT       : 20000 RHOST:PORT  : 127.0.0.1:30000 MTU         : 1500  VPCS> ping 8.8.8.8 -c 3  84 bytes from 8.8.8.8 icmp_seq=1 ttl=253 time=2.745 ms 84 bytes from 8.8.8.8 icmp_seq=2 ttl=253 time=2.001 ms 84 bytes from 8.8.8.8 icmp_seq=3 ttl=253 time=1.977 ms

2. Настроим туннели между филиалами и офисом

Будет приведена настройка только для головного офиса, т.к. настройки в филиалах зеркальны. А также не будем вдаваться в подробности настройки IPSEC, т.к. это заслуживает отдельной статьи.

display current-configuration
# sysname Border01-HQ01 # ipsec proposal 10  esp authentication-algorithm sha2-512  esp encryption-algorithm aes-256 # ike proposal default  encryption-algorithm aes-256 aes-192 aes-128  dh group14  authentication-algorithm sha2-512 sha2-384 sha2-256  authentication-method pre-share  integrity-algorithm hmac-sha2-256  prf hmac-sha2-256 ike proposal 10  encryption-algorithm aes-256  dh group14  authentication-algorithm sha2-256  authentication-method pre-share  integrity-algorithm hmac-sha2-256  prf hmac-sha2-256 # ike peer BRANCH-01  pre-shared-key cipher "your_secret_key"  ike-proposal 10  local-address 14.1.2.1  remote-address 2.58.17.1  rsa encryption-padding oaep  rsa signature-padding pss  ikev2 authentication sign-hash sha2-256 ike peer BRANCH-02  pre-shared-key cipher "your_secret_key"  ike-proposal 10  local-address 14.1.2.1  remote-address 195.147.98.1  rsa encryption-padding oaep  rsa signature-padding pss  ikev2 authentication sign-hash sha2-256 # ipsec profile BR-01-PROF  ike-peer BRANCH-01  proposal 10 ipsec profile BR-02-PROF  ike-peer BRANCH-02  proposal 10 # interface Tunnel0/0/1  ip address 172.16.10.1 255.255.255.252  tunnel-protocol gre  source 14.1.2.1  destination 2.58.17.1  ipsec profile BR-01-PROF # interface Tunnel0/0/2  ip address 172.16.20.1 255.255.255.252  tunnel-protocol gre  source 14.1.2.1  destination 195.147.98.1  ipsec profile BR-02-PROF # return

Проверим статистику по Security Association

display ipsec sa b
<Border01-HQ01>display ipsec sa b  IPSec SA information: Src address                             Dst address                             SPI VPN                                     Protocol                                Algorithm -------------------------------------------------------------------------------------------------------------------------- 14.1.2.1                                195.147.98.1                            11898564                                         ESP                                     E:AES-256 A:SHA2_512_256 195.147.98.1                            14.1.2.1                                2909459                                         ESP                                     E:AES-256 A:SHA2_512_256 14.1.2.1                                2.58.17.1                               240680                                         ESP                                     E:AES-256 A:SHA2_512_256 2.58.17.1                               14.1.2.1                                14985427                                         ESP                                     E:AES-256 A:SHA2_512_256  Number of IPSec SA : 4 --------------------------------------------------------------------------------------------------------------------------
display ike sa
<Border01-HQ01>display ike sa Conn-ID    Peer                                          VPN              Flag(s)               Phase  RemoteType  RemoteID ------------------------------------------------------------------------------------------------------------------------------------ 16         2.58.17.1/500                                                  RD|A                  v2:2   IP          2.58.17.1 4          2.58.17.1/500                                                  RD|A                  v2:1   IP          2.58.17.1 17         195.147.98.1/500                                               RD|ST|A               v2:2   IP          195.147.98.1 6          195.147.98.1/500                                               RD|ST|A               v2:1   IP          195.147.98.1  Number of IKE SA : 4 ------------------------------------------------------------------------------------------------------------------------------------  Flag Description: RD--READY   ST--STAYALIVE   RL--REPLACED   FD--FADING   TO--TIMEOUT HRT--HEARTBEAT   LKG--LAST KNOWN GOOD SEQ NO.   BCK--BACKED UP M--ACTIVE   S--STANDBY   A--ALONE  NEG--NEGOTIATING

Есть созданные security association, а это говорит о том что туннели построились и есть шифрование. Инкапсуляция выполняется через GRE-IPSEC.

3. Поднимем BGP сессии и отфильтруем их

Каждый филиал и головной офис имеют свой номер автономной системы, для офиса это AS65100, филиалы AS65200, AS65300 соответственно.
Поскольку будем производить редистрибуцию из IGP в BGP, то в BGP попадут все прификсы, в том числе loopback-и и линковые сети. Нам они не нужны поэтому напишем prefix-list, по которому будем принимать только нужные нам префиксы, а именно сети клиентов, т.е. 192.168.0.0/16 и все что помещается в это диапазон с большей маской.

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

Border01-HQ01

display current-configuration
# sysname Border01-HQ01 # ip ip-prefix PL_ALLOWED_PREFIXES index 10 permit 192.168.0.0 16 greater-equal 16 less-equal 32 # bgp 65100  peer 172.16.10.2 as-number 65200  peer 172.16.10.2 connect-interface Tunnel0/0/1  peer 172.16.20.2 as-number 65300  peer 172.16.20.2 connect-interface Tunnel0/0/2  #  ipv4-family unicast   undo synchronization   import-route ospf 1   peer 172.16.10.2 enable   peer 172.16.10.2 ip-prefix PL_ALLOWED_PREFIXES import   peer 172.16.20.2 enable   peer 172.16.20.2 ip-prefix PL_ALLOWED_PREFIXES import # return
display bgp peer
<Border01-HQ01>display bgp peer  Status codes: * - Dynamic  BGP local router ID : 14.1.2.1 Local AS number : 65100 Total number of peers : 2                Peers in established state : 2 Total number of dynamic peers : 0  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State PrefRcv  172.16.10.2     4       65200      194      197     0 03:08:36 Established       3 172.16.20.2     4       65300      194      196     0 03:07:48 Established       2
display ip routing-table protocol bgp
<Border01-HQ01>display ip routing-table protocol bgp Route Flags: R - relay, D - download to fib, T - to vpn-instance ------------------------------------------------------------------------------ Public routing table : BGP         Destinations : 5        Routes : 5  BGP routing table status : <Active>         Destinations : 5        Routes : 5  Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface  192.168.10.0/24  EBGP    255  20         RD   172.16.20.2     Tunnel0/0/2 192.168.20.0/24  EBGP    255  20         RD   172.16.20.2     Tunnel0/0/2 192.168.210.0/24  EBGP    255  2          RD   172.16.10.2     Tunnel0/0/1 192.168.220.0/24  EBGP    255  2          RD   172.16.10.2     Tunnel0/0/1 192.168.230.0/24  EBGP    255  2          RD   172.16.10.2     Tunnel0/0/1  BGP routing table status : <Inactive>         Destinations : 0        Routes : 0

Как видим нужные нам маршруты появились в таблице маршрутизации.

4. Настало время проверок

Проверим IGP в филиалах и головном офисе

HQ

ping
NAME        : VPCS[1] IP/MASK     : 192.168.130.30/24 GATEWAY     : 192.168.130.254 DNS         : MAC         : 00:50:79:66:68:28 LPORT       : 20000 RHOST:PORT  : 127.0.0.1:30000 MTU         : 1500  VPCS> ping 192.168.110.10 -c 3  84 bytes from 192.168.110.10 icmp_seq=1 ttl=63 time=4.012 ms 84 bytes from 192.168.110.10 icmp_seq=2 ttl=63 time=1.190 ms 84 bytes from 192.168.110.10 icmp_seq=3 ttl=63 time=1.310 ms  VPCS> ping 192.168.120.20 -c 3  84 bytes from 192.168.120.20 icmp_seq=1 ttl=63 time=3.428 ms 84 bytes from 192.168.120.20 icmp_seq=2 ttl=63 time=1.287 ms 84 bytes from 192.168.120.20 icmp_seq=3 ttl=63 time=1.607 ms  VPCS> ping 1.1.1.1 -c 3  84 bytes from 1.1.1.1 icmp_seq=1 ttl=254 time=2.239 ms 84 bytes from 1.1.1.1 icmp_seq=2 ttl=254 time=2.288 ms 84 bytes from 1.1.1.1 icmp_seq=3 ttl=254 time=1.588 ms  VPCS> ping 1.1.1.10 -c 3  84 bytes from 1.1.1.10 icmp_seq=1 ttl=255 time=19.684 ms 84 bytes from 1.1.1.10 icmp_seq=2 ttl=255 time=1.571 ms 84 bytes from 1.1.1.10 icmp_seq=3 ttl=255 time=1.198 ms

Branch-01

ping
NAME        : VPCS[1] IP/MASK     : 192.168.210.10/24 GATEWAY     : 192.168.210.254 DNS         : MAC         : 00:50:79:66:68:26 LPORT       : 20000 RHOST:PORT  : 127.0.0.1:30000 MTU         : 1500   VPCS> ping 192.168.220.20 -c 3  84 bytes from 192.168.220.20 icmp_seq=1 ttl=63 time=1.330 ms 84 bytes from 192.168.220.20 icmp_seq=2 ttl=63 time=1.194 ms 84 bytes from 192.168.220.20 icmp_seq=3 ttl=63 time=1.540 ms  VPCS> ping 192.168.230.30 -c 3  84 bytes from 192.168.230.30 icmp_seq=1 ttl=63 time=1.552 ms 84 bytes from 192.168.230.30 icmp_seq=2 ttl=63 time=1.240 ms 84 bytes from 192.168.230.30 icmp_seq=3 ttl=63 time=1.522 ms  VPCS> ping 2.2.2.2 -c 3  84 bytes from 2.2.2.2 icmp_seq=1 ttl=254 time=2.045 ms 84 bytes from 2.2.2.2 icmp_seq=2 ttl=254 time=1.508 ms 84 bytes from 2.2.2.2 icmp_seq=3 ttl=254 time=1.838 ms  VPCS> ping 2.2.2.10 -c 3  84 bytes from 2.2.2.10 icmp_seq=1 ttl=255 time=15.846 ms 84 bytes from 2.2.2.10 icmp_seq=2 ttl=255 time=1.115 ms 84 bytes from 2.2.2.10 icmp_seq=3 ttl=255 time=1.663 ms

Branch-02

ping
NAME        : VPCS[1] IP/MASK     : 192.168.10.10/24 GATEWAY     : 192.168.10.254 DNS         : MAC         : 00:50:79:66:68:2d LPORT       : 20000 RHOST:PORT  : 127.0.0.1:30000 MTU         : 1500  VPCS> ping 192.168.20.20 -c 3  84 bytes from 192.168.20.20 icmp_seq=1 ttl=63 time=6.022 ms 84 bytes from 192.168.20.20 icmp_seq=2 ttl=63 time=1.168 ms 84 bytes from 192.168.20.20 icmp_seq=3 ttl=63 time=1.412 ms  VPCS> ping 3.3.3.3 -c 3  84 bytes from 3.3.3.3 icmp_seq=1 ttl=254 time=1.567 ms 84 bytes from 3.3.3.3 icmp_seq=2 ttl=254 time=1.745 ms 84 bytes from 3.3.3.3 icmp_seq=3 ttl=254 time=1.596 ms  VPCS> ping 3.3.3.10 -c 3  84 bytes from 3.3.3.10 icmp_seq=1 ttl=255 time=8.187 ms 84 bytes from 3.3.3.10 icmp_seq=2 ttl=255 time=1.219 ms 84 bytes from 3.3.3.10 icmp_seq=3 ttl=255 time=1.612 ms 

С одной из машин филиалов доступны машины других подсетей, а также loopback’и бордера и агрегации внутри этого филиала.

Проверим доступность удаленных филиалов из головного офиса

HQ to Branch-01

ping
NAME        : VPCS[1] IP/MASK     : 192.168.110.10/24 GATEWAY     : 192.168.110.254 DNS         : 192.168.110.254 MAC         : 00:50:79:66:68:23 LPORT       : 20000 RHOST:PORT  : 127.0.0.1:30000 MTU         : 1500  VPCS> ping 192.168.210.10 -c 3  84 bytes from 192.168.210.10 icmp_seq=1 ttl=60 time=8.976 ms 84 bytes from 192.168.210.10 icmp_seq=2 ttl=60 time=7.053 ms 84 bytes from 192.168.210.10 icmp_seq=3 ttl=60 time=6.672 ms  VPCS> ping 192.168.220.20 -c 3  84 bytes from 192.168.220.20 icmp_seq=1 ttl=60 time=9.236 ms 84 bytes from 192.168.220.20 icmp_seq=2 ttl=60 time=8.123 ms 84 bytes from 192.168.220.20 icmp_seq=3 ttl=60 time=7.247 ms  VPCS> ping 192.168.230.30 -c 3  84 bytes from 192.168.230.30 icmp_seq=1 ttl=60 time=8.117 ms 84 bytes from 192.168.230.30 icmp_seq=2 ttl=60 time=8.451 ms 84 bytes from 192.168.230.30 icmp_seq=3 ttl=60 time=4.663 ms

HQ to Branch-02

ping
NAME        : VPCS[1] IP/MASK     : 192.168.110.10/24 GATEWAY     : 192.168.110.254 DNS         : 192.168.110.254 MAC         : 00:50:79:66:68:23 LPORT       : 20000 RHOST:PORT  : 127.0.0.1:30000 MTU         : 1500  VPCS> ping 192.168.10.10 -c 3  84 bytes from 192.168.10.10 icmp_seq=1 ttl=60 time=13.473 ms 84 bytes from 192.168.10.10 icmp_seq=2 ttl=60 time=7.663 ms 84 bytes from 192.168.10.10 icmp_seq=3 ttl=60 time=6.367 ms  VPCS> ping 192.168.20.20 -c 3  84 bytes from 192.168.20.20 icmp_seq=1 ttl=60 time=10.810 ms 84 bytes from 192.168.20.20 icmp_seq=2 ttl=60 time=6.923 ms 84 bytes from 192.168.20.20 icmp_seq=3 ttl=60 time=7.925 ms

Проверим доступность филиалов между собой

Branch-01 to Branch-02

ping
NAME        : VPCS[1] IP/MASK     : 192.168.220.20/24 GATEWAY     : 192.168.220.254 DNS         : MAC         : 00:50:79:66:68:27 LPORT       : 20000 RHOST:PORT  : 127.0.0.1:30000 MTU         : 1500  VPCS> ping 192.168.10.10 -c 3  84 bytes from 192.168.10.10 icmp_seq=1 ttl=59 time=12.489 ms 84 bytes from 192.168.10.10 icmp_seq=2 ttl=59 time=10.401 ms 84 bytes from 192.168.10.10 icmp_seq=3 ttl=59 time=14.660 ms  VPCS> ping 192.168.20.20 -c 3  84 bytes from 192.168.20.20 icmp_seq=1 ttl=59 time=13.374 ms 84 bytes from 192.168.20.20 icmp_seq=2 ttl=59 time=10.889 ms 84 bytes from 192.168.20.20 icmp_seq=3 ttl=59 time=13.471 ms

И немного трассировок

Tracert from Branch 01

trace
NAME        : VPCS[1] IP/MASK     : 192.168.220.20/24 GATEWAY     : 192.168.220.254 DNS         : MAC         : 00:50:79:66:68:27 LPORT       : 20000 RHOST:PORT  : 127.0.0.1:30000 MTU         : 1500   VPCS> trace 192.168.10.10 -P 1 trace to 192.168.10.10, 8 hops max (ICMP), press Ctrl+C to stop 1   192.168.220.254   4.274 ms  1.026 ms  0.825 ms 2   10.0.1.0   6.317 ms  8.018 ms  5.600 ms 3   172.16.10.1   8.656 ms  12.895 ms  8.293 ms 4   172.16.20.2   13.364 ms  13.165 ms  14.289 ms 5   10.0.2.2   13.012 ms  10.468 ms  10.961 ms 6   192.168.10.10   11.924 ms  11.986 ms  9.160 ms  VPCS> trace 192.168.20.20 -P 1 trace to 192.168.20.20, 8 hops max (ICMP), press Ctrl+C to stop 1   192.168.220.254   5.000 ms  1.036 ms  0.825 ms 2   10.0.1.0   5.701 ms  4.666 ms  3.809 ms 3   172.16.10.1   7.985 ms  9.941 ms  13.568 ms 4   172.16.20.2   13.479 ms  12.973 ms  14.480 ms 5   10.0.2.2   15.023 ms  9.474 ms  8.189 ms 6   192.168.20.20   15.522 ms  10.690 ms  10.563 ms

Tracert from Branch 02

trace
NAME        : VPCS[1] IP/MASK     : 192.168.20.20/24 GATEWAY     : 192.168.20.254 DNS         : MAC         : 00:50:79:66:68:2e LPORT       : 20000 RHOST:PORT  : 127.0.0.1:30000 MTU         : 1500  VPCS> trace 192.168.110.10 -P 1 trace to 192.168.110.10, 8 hops max (ICMP), press Ctrl+C to stop 1   192.168.20.254   4.494 ms  0.963 ms  0.806 ms 2   10.0.2.1   5.014 ms  3.441 ms  5.638 ms 3   172.16.20.1   9.150 ms  8.669 ms  12.742 ms 4   10.0.0.1   22.344 ms  8.755 ms  6.997 ms 5   192.168.110.10   6.610 ms  6.782 ms  7.380 ms  VPCS> trace 192.168.230.30 -P 1 trace to 192.168.230.30, 8 hops max (ICMP), press Ctrl+C to stop 1   192.168.20.254   3.454 ms  1.295 ms  1.181 ms 2   10.0.2.1   5.356 ms  7.253 ms  3.723 ms 3   172.16.20.1   9.490 ms  9.953 ms  11.376 ms 4   172.16.10.2   13.284 ms  14.037 ms  15.375 ms 5   10.0.1.1   14.616 ms  10.290 ms  11.622 ms 6   192.168.230.30   14.632 ms  10.351 ms  12.057 ms

5. Выводы

Целью данного стенда было показать некое универсальное решение для той задачи, когда необходимо объеденить между собой площадки с разными IGP и когда нет возможности построить DMVPN. И на мой субъективный взгляд, редистрибуция в BGP подходит как нельзя лучше.
Безусловно это не единственное решение.

Что можно ещё добавить или улучшить?
Можно было пушить дефолт в филиалы через BGP и тем самым заставить их ходить в мир через головной офис, это бывает нужно из соображений безопасности.
Можно на каждую площадку завести ещё одного провайдера и поставить ещё один бордер для отказоустойчивости.
Возможно это будет в следующих итерациях.

Полные версии всех конфигов можно найти вотздесь


ссылка на оригинал статьи https://habr.com/ru/articles/927384/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *