Situation
Je dois mettre en place une connexion VPN entre deux sites sur le réseau. La salle des serveurs semble avoir eu des passerelles de sécurité C-Terra Gateway version 4.2. Le schéma est simple. Le fournisseur a même publié un script de configuration recommandé. Mais ... le script du fournisseur utilise trois interfaces réseau, et mes passerelles n'en ont que deux.
Je prépare du café, je me souviens de mon CCNA et j'essaie d'utiliser ce que j'ai - des ports libres dans des commutateurs gérés.
Mon réseau
Mon réseau est constitué de deux sites géographiquement séparés dans un domaine de diffusion. Espace d'adressage: 10.10.205.0/24:
Sur les mains de deux passerelles de sécurité C-Terra Gateway version 4.2 avec le package C-Terra L2.
Ă€ propos du
package C-Terra L2 Le package vous permet de basculer une ou plusieurs interfaces de passerelle en mode PROMISC. L'interface PROMISC intercepte les trames de liaison de données et C-Terra L2 les encapsule dans UDP.
Ensuite, les paquets UDP sont cryptés (encapsulés dans ESP). Cela crée une connexion VPN L2 sur L3. C-Terra L2 est préinstallé sur toutes les passerelles de sécurité et est activé avec une licence distincte.
Dans le scénario recommandé, les passerelles de sécurité sont situées à la périphérie du réseau et une interface distincte est allouée pour la gestion:
Pour être plus clair, je décrirai les interfaces:
- Gi0 / 0 - Interfaces PROMISC;
- Gi0 / 1 - Interfaces WAN L3;
- Gi0 / 2 - interfaces de gestion dédiées. Je comprends que je dois gérer la deuxième passerelle de sécurité via le tunnel VPN.
DĂ©cision
La première tasse de café s'est terminée pendant que je lisais sur Habré à propos de 802.1Q - je me suis souvenu de CCNA. Le deuxième mug a refroidi (je vais le chauffer au micro-ondes) tout en commutant l'équipement, comme le montre la figure:
je distingue trois types de trafic:
- Trafic principal entre les appareils R1 et R2. Je vais le désigner comme BULK DATA et le mettre dans le VLAN 205. BULK DATA doit être crypté avant la transmission entre les sites;
- Trafic de gestion de passerelle - MGMT. Je vais l'amener au VLAN 10. Le trafic MGMT vers la passerelle sur le site distant doit être crypté;
- BULK DATA et MGMT après cryptage, je désignerai ESP DATA et le placerai dans le VLAN 100.
Selon mes estimations, la transmission BULK DATA / ESP DATA dans le réseau ressemblera à ceci (les lignes vertes représentent le trafic non chiffré, rouge - le trafic chiffré):
Transmission MGMT pour le contrĂ´le de la passerelle sur le site local:
Transmission MGMT / ESP DATA pour le contrĂ´le de la passerelle sur le site distant:
5 Ă©tapes de configuration
Étape 1. Gestion des données en vrac
Je sélectionne un VLAN 205 distinct pour les données en vrac. Pour cela, je règle l'interface Gi0 / 2 des périphériques SW1 et SW2 en mode d'accès avec le VLAN 205:
sw1(config)#
interface gi0/2
description BULK_TO_R1
switchport access vlan 205
no shutdown
sw2(config)#
interface gi0/2
description BULK_TO_R2
switchport access vlan 205
no shutdown
Je fais des interfaces Gi0 / 0 des passerelles d'interfaces PROMISC GW1 et GW2. Pour transmettre BULK DATA Ă l'interface PROMISC, je configure le trunk vers l'interface PROMISC:
sw1(config)#
interface gi0/0
description LINK_TO_PROMISC_GW1
switchport mode trunk
switchport trunk allowed vlan 205
switchport trunk encapsulation dot1q
no shutdown
sw2(config)#
interface gi0/0
description LINK_TO_PROMISC_GW2
switchport mode trunk
switchport trunk allowed vlan 205
switchport trunk encapsulation dot1q
no shutdown
Étape 2. Traitement du MGMT local
Selon le plan, le trafic MGMT transportant le VLAN 10. Espace d'adresses pour le VLAN 10: 10.76.76.128/28.
Sur le périphérique SW1 et SW2, je crée des interfaces virtuelles vlan10:
sw1(config)#
interface vlan10
ip address 10.76.76.129 255.255.255.240
no shutdown
sw2(config)#
interface vlan10
ip address 10.76.76.142 255.255.255.240
no shutdown
Je crée le VLAN natif du VLAN 10 pour ne pas configurer les interfaces 802.1Q sur la passerelle:
sw1(config)#
interface gi0/1
description LINK_TO_WAN_GW1
switchport mode trunk
switchport trunk allowed vlan 10
switchport trunk native vlan 10
switchport trunk encapsulation dot1q
no shutdown
sw2(config)#
interface gi0/1
description LINK_TO_WAN_GW2
switchport mode trunk
switchport trunk allowed vlan 10
switchport trunk native vlan 10
switchport trunk encapsulation dot1q
no shutdown
Configuration des interfaces Gi0 / 1 des passerelles de sécurité:
GW1(config)#
interface gi0/1
ip address 10.76.76.137 255.255.255.240
no shutdown
GW2(config)#
interface gi0/1
ip address 10.76.76.138 255.255.255.240
no shutdown
Désormais, GW1 est accessible via SSH à partir du périphérique SW1:
sw1#ssh –l root 10.76.76.137
Password:
S-Terra Gate 4.2.18201 (amd64)
root@GW1~#
De mĂŞme, GW2 est accessible via SSH Ă partir de l'appareil SW2:
sw2#ssh –l root 10.76.76.138
Password:
S-Terra Gate 4.2.18201 (amd64)
root@GW2~#
Nice, a versé une autre tasse de café.
Étape 3. Traitement de MGMT vers la passerelle sur le site distant Le
trafic MGMT vers la passerelle sur le site distant doit être chiffré. Pour ce faire, je lancerai le VLAN 10 via le VPN. Tout le trafic intercepté depuis l'interface PROMISC entrera dans le tunnel VPN. J'ajouterai au tronc à l'interface PROMISC VLAN 10:
sw1(config)#
interface gi0/0
description LINK_TO_PROMISC_GW1
switchport trunk allowed vlan 10, 205
sw2(config)#
interface gi0/0
description LINK_TO_PROMISC_GW1
switchport trunk allowed vlan 10, 205
Ne perdez pas une demi-heure à dépanner!
L'interface PROMISC ne doit pas recevoir de données ESP, il est donc important d'exclure le VLAN 100 des jonctions LINK_TO_PROMISC_GW1 et LINK_TO_PROMISC_GW2 dans les options suivantes:
switchport trunk allowed vlan 1-99,101-4096
Étape 4. Je suis arrivé à ESP DATA
Je sélectionne ESP DATA dans le VLAN 100 sur les passerelles GW1 et GW2. Espace d'adressage pour VLAN 100: 192.168.10.0/30
Pour ce faire, sur l'interface WAN Gi0 / 1 des passerelles GW1 et GW2, je crée une interface 802.1Q Gi0 / 1.100.
Le trafic sortant d'une telle interface appartiendra au VLAN 100:
GW1(config)#
interface gi0/1.100
ip address 192.168.10.1 255.255.255.252
no shutdown
GW2(config)#
interface gi0/1.100
ip address 192.168.10.2 255.255.255.252
no shutdown
J'autorise le passage du VLAN 100 vers le tronc LINK_TO_WAN_GW1 et LINK_TO_WAN_GW2:
sw1(config)#
interface gi0/1
description LINK_TO_WAN_GW1
switchport trunk allowed vlan 10,100
sw2(config)#
interface gi0/1
description LINK_TO_WAN_GW2
switchport trunk allowed vlan 10,100
Le lien entre les appareils SW1 et SW2 doit également transmettre le trafic VLAN 100 balisé:
sw1(config)#
interface gi0/3
description LINK_TO_SW2
switchport mode trunk
switchport trunk allowed vlan 100
switchport trunk encapsulation dot1q
no shutdown
sw2(config)#
interface gi0/3
description LINK_TO_SW1
switchport mode trunk
switchport trunk allowed vlan 100
switchport trunk encapsulation dot1q
no shutdown
Étape 5. Configuration de C-Terra L2 et VPN IPsec avec GOST
C-Terra L2 est configuré dans le système d'exploitation à l'aide du fichier de configuration /opt/VPNagent/etc/l2.conf. Pour GW1:
vif tap0
bridge br0
capture eth0
remote 192.168.10.2
mssfix 1400
passtos
oĂą:
capture eth0 - sélectionnez l'interface PROMISC, distant 192.168.10.2 - Adresse IP du pair IPsec (interface Gi0 / 1.100 de la passerelle GW2).
Pour GW2:
vif tap0
bridge br0
capture eth0
remote 192.168.10.1
mssfix 1400
passtos
Configuration des paramètres IKE / IPsec. Pour GW1: les
passerelles utiliseront les noms d'hôte comme identifiants, définissez une clé prédéfinie pour l'authentification (les règles d'utilisation pour l'authentification doivent utiliser des certificats numériques, je les modifierai plus tard):
GW1(config)#
crypto isakmp identity hostname
ip host GW2 192.168.10.2
crypto isakmp key KEY hostname GW2
Configuration des paramètres de détection des homologues morts (DPD):
GW1(config)#
crypto isakmp keepalive 10 2
crypto isakmp keepalive retry-count 5
J'ai défini les paramètres IPsec Phase I:
GW1(config)#
crypto isakmp policy 1
encr gost
hash gost3411-256-tc26
auth pre-share
group vko2
J'ai défini les paramètres IPsec Phase II:
GW1(config)#
crypto ipsec transform-set TSET esp-gost28147-4m-imit
mode tunnel
Les trames interceptées par l'interface PROMISC L2 étant encapsulées dans UDP, la liste d'accès qui détermine le trafic pour le chiffrement:
GW1(config)#
ip access-list extended LIST
permit udp host 192.168.10.1 host 192.168.10.2
Je crée une crypto map et la lie à Gi0 / 1.100:
GW1(config)#
crypto map CMAP 1 ipsec-isakmp
match address LIST
set transform-set TSET
set peer 192.168.10.2
interface gi0/1.100
crypto map CMAP
Je spécifie la route par défaut via l'adresse IP du pair IPsec:
GW1(config)#
ip route 0.0.0.0 0.0.0.0 192.168.10.2
Configuration de la passerelle GW2:
GW2(config)#
crypto isakmp identity hostname
ip host GW1 192.168.10.1
crypto isakmp key KEY hostname GW1
crypto isakmp keepalive 10 2
crypto isakmp keepalive retry-count 5
crypto isakmp policy 1
encr gost
hash gost3411-256-tc26
auth pre-share
group vko2
crypto ipsec transform-set TSET esp-gost28147-4m-imit
mode tunnel
ip access-list extended LIST
permit udp host 192.168.10.2 host 192.168.10.1
crypto map CMAP 1 ipsec-isakmp
match address LIST
set transform-set TSET
set peer 192.168.10.1
interface gi0/1.100
crypto map CMAP
ip route 0.0.0.0 0.0.0.0 192.168.10.1
Arrivé?
Depuis le périphérique R1, je cingle à R2:
R1#ping 10.10.205.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.205.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms</code>
R2 ICMP. ? ARP R1 R2:
<source>R1#show arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.10.205.1 - aabb.cc00.5020 ARPA GigabitEthernet0/2
Internet 10.10.205.2 54 aabb.cc00.6020 ARPA GigabitEthernet0/2
R2#show arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.10.205.1 52 aabb.cc00.5020 ARPA GigabitEthernet0/2
Internet 10.10.205.2 - aabb.cc00.6020 ARPA GigabitEthernet0/2
Les périphériques R1 et R2 supposent qu'ils se trouvent sur le même sous-réseau de diffusion.
Les équipements SW1 et SW2 considèrent qu'ils sont connectés entre eux par deux liaisons:
sw1#show cdp neighbors
Device ID Local Intrfce Holdtme Capability Platform Port ID
sw2 Gi0/0 146 R S I Linux Uni Gi0/0
sw2 Gi0/3 146 R S I Linux Uni Gi0/3
R1 Gi0/2 156 R B Linux Uni Gi0/2
sw2#show cdp neighbors
Device ID Local Intrfce Holdtme Capability Platform Port ID
sw1 Gi0/0 140 R S I Linux Uni Gi0/0
sw1 Gi0/3 140 R S I Linux Uni Gi0/3
R2 Gi0/2 156 R B Linux Uni Gi0/2
Tentative de connexion à GW2 via SSH à partir du périphérique SW1:
sw1#ssh –l root 10.76.76.138
Password:
S-Terra Gate 4.2.18201 (amd64)
root@GW2~#
Conclusion: les sites 1 et 2 sont liés de manière transparente en un seul domaine de diffusion. Je vais vérifier si le canal a un cryptage:
Statistiques du tunnel IPsec sur l'appareil GW1:
root@GW1:~# sa_mgr show
ISAKMP sessions: 0 initiated, 0 responded
ISAKMP connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) State Sent Rcvd
1 2 (192.168.10.1,500)-(192.168.10.2,500) active 31378 31502
IPsec connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) Protocol Action Type Sent Rcvd
1 2 (192.168.10.1,*)-(192.168.10.2,*) 17 ESP tunn 508224 27672
Un tunnel IPsec a été établi entre 192.168.10.1 et 192.168.10.2.
J'ai vérifié que seul le trafic ESP est transmis entre les appareils SW1 et SW2, sans compter STP. Voici un vidage du trafic de l'interface gi0 / 3 de SW1:
Finalement
J'ai bu trois tasses de café - puis je n'ai pas dormi de la nuit, mais je n'ai pas eu à acheter de nouveau matériel et à mettre à jour. Peut-être que cela en valait la peine, dans la version 4.3, le fournisseur a évoqué L2. Je pense prendre la version 4.3 pour les tests.
Ingénieur anonyme
t.me/anonimous_engineer