Недавно на простороах интернета попались гайды по настройке Huawei. В основном для начинающих, но поскольку давно было желание поработать с этим вендоров, то почему бы не попробовать, но для того чтобы это было более увлекательно решил немного усложнить и собрать свою лабу. Если интересно, что из этого вышло, добро пожаловать под кат.
Начнем с постановки задачи: у нас есть головной офис, два филиала и наша задача "подружить" их друг с другом. Т.е. сделать так чтобы филиалы увидели друг друга, через головной офис. Построить hub and spoke топологию.
В каждом филиале крутится свой IGP. В одном филиале IS-IS, в другом и головном офисах OSPF.
Строить будем в eve-ng, в качестве border-роутера будет образ Huawei AR1000v, роль L3 коммутатора агрегации будет отведена образу Huawei Cloud Engine 6800.
Решение будет следующим:
Настраиваем IGP в филиалах и головном офисе
Строим туннели между филиалами и офисом
Поднимаем BGP сессии на туннельных интерфейсах
Редистрибутируем IGP в BGP
Фильтруем полученные префиксы
Проверяем связанность
Ниже представлена 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 и тем самым заставить их ходить в мир через головной офис, это бывает нужно из соображений безопасности.
Можно на каждую площадку завести ещё одного провайдера и поставить ещё один бордер для отказоустойчивости.
Возможно это будет в следующих итерациях.
Полные версии всех конфигов можно найти вотздесь
