Situation
J'ai reçu une version d'essai de trois mois de la version 4.3 de C-Terra VPN. Je veux savoir si ma vie d'ingénieur deviendra plus facile aprÚs la mise à niveau vers la nouvelle version.
Aujourd'hui ce n'est pas difficile, un sachet de café instantané 3 en 1 devrait suffire. Je vais vous dire comment obtenir les démos. J'essaierai de mettre en place des schémas GRE-over-IPsec et IPsec-over-GRE.
Comment obtenir une démo
à partir de la figure ci-dessous, pour obtenir la démo dont vous avez besoin:
- Ăcrivez une lettre Ă presale@s-terra.ru Ă partir de l'adresse de l'entreprise;
- Dans la lettre, indiquez le NIF de votre organisation;
- ĂnumĂ©rez les produits et leurs quantitĂ©s.
Les démos sont valables trois mois. Le fournisseur ne limite pas leurs fonctionnalités.
Agrandir l'image
La démo de Security Gateway est une image de machine virtuelle. J'utilise VMWare Workstation. Une liste complÚte des hyperviseurs et des environnements de virtualisation pris en charge est disponible sur le site Web du fournisseur.
Avant de démarrer l'action, veuillez noter qu'il n'y a pas d'interfaces réseau dans l'image de la machine virtuelle par défaut:
la logique est claire, l'utilisateur doit ajouter autant d'interfaces qu'il en a besoin. J'en ajouterai quatre Ă la fois:
maintenant je démarre la machine virtuelle. Immédiatement aprÚs le démarrage, la passerelle nécessite un nom d'utilisateur et un mot de passe.
C-Terra Gateway dispose de plusieurs consoles avec différents comptes. Je compterai leur nombre dans un article séparé. Jusque là :
Login as: administrator
Password: s-terra
Initialisation de la passerelle. L'initialisation est une séquence d'actions: entrer une licence, mettre en place un générateur de nombres aléatoires biologiques (simulateur de clavier - mon record est de 27 secondes) et créer une carte d'interface réseau.
Carte d'interface de réseau. C'est devenu plus facile
La version 4.2 a accueilli un utilisateur actif avec des messages: Un utilisateur actif (selon un ingĂ©nieur anonyme) est un utilisateur qui peut tout configurer rapidement et sans documentation. Une erreur s'est produite, avant mĂȘme d'essayer de configurer une adresse IP sur l'interface. Tout dĂ©pend de la carte de l'interface rĂ©seau. Il Ă©tait nĂ©cessaire de faire: En consĂ©quence, une carte d'interface rĂ©seau est crĂ©Ă©e, qui contient un mappage des noms des interfaces physiques (0000: 02: 03.0) et de leurs dĂ©signations logiques dans le systĂšme d'exploitation (eth0) et la console de type Cisco (FastEthernet0 / 0): les dĂ©signations logiques des interfaces sont appelĂ©es alias ... Les alias sont stockĂ©s dans le fichier /etc/ifaliases.cf.
Starting IPsec daemonâŠ.. failed
ERROR: Could not establish connection with daemon
/bin/netifcfg enum > /home/map
/bin/netifcfg map /home/map
service networking restart
#Unique ID iface type OS name Cisco-like name
0000:02:03.0 phye eth0 FastEthernet0/0
Dans la version 4.3, la carte d'interface est créée automatiquement lors du premier démarrage de la machine virtuelle. Si vous modifiez le nombre d'interfaces réseau dans la machine virtuelle, veuillez créer à nouveau la carte d'interface:
/bin/netifcfg enum > /home/map
/bin/netifcfg map /home/map
systemctl restart networking
Figure 1: GRE-sur-IPsec
Je déploie deux passerelles virtuelles, je les change comme indiqué dans la figure:
Ătape 1. Configurer les adresses IP et les routes
VG1(config) #
interface fa0/0
ip address 172.16.1.253 255.255.255.0
no shutdown
interface fa0/1
ip address 192.168.1.253 255.255.255.0
no shutdown
ip route 0.0.0.0 0.0.0.0 172.16.1.254
VG2(config) #
interface fa0/0
ip address 172.16.1.254 255.255.255.0
no shutdown
interface fa0/1
ip address 192.168.2.254 255.255.255.0
no shutdown
ip route 0.0.0.0 0.0.0.0 172.16.1.253
Vérification de la connectivité IP:
root@VG1:~# ping 172.16.1.254 -c 4
PING 172.16.1.254 (172.16.1.254) 56(84) bytes of data.
64 bytes from 172.16.1.254: icmp_seq=1 ttl=64 time=0.545 ms
64 bytes from 172.16.1.254: icmp_seq=2 ttl=64 time=0.657 ms
64 bytes from 172.16.1.254: icmp_seq=3 ttl=64 time=0.687 ms
64 bytes from 172.16.1.254: icmp_seq=4 ttl=64 time=0.273 ms
--- 172.16.1.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 0.273/0.540/0.687/0.164 ms
Ătape 2. Configuration de GRE
Un exemple de configuration de GRE est tiré des scripts officiels. Créez le fichier gre1 dans le répertoire /etc/network/interfaces.d avec le contenu.
Pour VG1:
auto gre1
iface gre1 inet static
address 1.1.1.1
netmask 255.255.255.252
pre-up ip tunnel add gre1 mode gre remote 172.16.1.254 local 172.16.1.253 key 1 ttl 64 tos inherit
pre-up ethtool -K gre1 tx off > /dev/null
pre-up ip link set gre1 mtu 1400
post-down ip link del gre1
Pour VG2:
auto gre1
iface gre1 inet static
address 1.1.1.2
netmask 255.255.255.252
pre-up ip tunnel add gre1 mode gre remote 172.16.1.253 local 172.16.1.254 key 1 ttl 64 tos inherit
pre-up ethtool -K gre1 tx off > /dev/null
pre-up ip link set gre1 mtu 1400
post-down ip link del gre1
J'appelle l'interface dans le systĂšme:
root@VG1:~# ifup gre1
root@VG2:~# ifup gre1
Je vérifie:
root@VG1:~# ip address show
8: gre1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1400 qdisc noqueue state UNKNOWN group default qlen 1
link/gre 172.16.1.253 peer 172.16.1.254
inet 1.1.1.1/30 brd 1.1.1.3 scope global gre1
valid_lft forever preferred_lft forever
root@VG1:~# ip tunnel show
gre0: gre/ip remote any local any ttl inherit nopmtudisc
gre1: gre/ip remote 172.16.1.254 local 172.16.1.253 ttl 64 tos inherit key 1
C-Terra Gateway possÚde un renifleur de paquets intégré - tcpdump. Je vais vider le trafic dans un fichier pcap:
root@VG2:~# tcpdump -i eth0 -w /home/dump.pcap
Je cingle entre les interfaces GRE:
root@VG1:~# ping 1.1.1.2 -c 4
PING 1.1.1.2 (1.1.1.2) 56(84) bytes of data.
64 bytes from 1.1.1.2: icmp_seq=1 ttl=64 time=0.918 ms
64 bytes from 1.1.1.2: icmp_seq=2 ttl=64 time=0.850 ms
64 bytes from 1.1.1.2: icmp_seq=3 ttl=64 time=0.918 ms
64 bytes from 1.1.1.2: icmp_seq=4 ttl=64 time=0.974 ms
--- 1.1.1.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 0.850/0.915/0.974/0.043 ms
Le tunnel GRE est actif et fonctionne:
Ătape 3. Crypter avec GRE GRE
Définir le type d'identification - par adresse. Authentification à l'aide d'une clé prédéfinie (selon les conditions d'utilisation, vous devez utiliser des certificats numériques):
VG1(config)#
crypto isakmp identity address
crypto isakmp key KEY address 172.16.1.254
J'ai défini les paramÚtres IPsec Phase I:
VG1(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:
VG1(config)#
crypto ipsec transform-set TSET esp-gost28147-4m-imit
mode tunnel
Je crée une liste d'accÚs pour le cryptage. Trafic cible - GRE:
VG1(config)#
ip access-list extended LIST
permit gre host 172.16.1.253 host 172.16.1.254
Je crée une crypto map et la lie à l'interface WAN:
VG1(config)#
crypto map CMAP 1 ipsec-isakmp
match address LIST
set transform-set TSET
set peer 172.16.1.253
interface fa0/0
crypto map CMAP
Pour VG2, la configuration est mise en miroir, les différences sont:
VG2(config)#
crypto isakmp key KEY address 172.16.1.253
ip access-list extended LIST
permit gre host 172.16.1.254 host 172.16.1.253
crypto map CMAP 1 ipsec-isakmp
set peer 172.16.1.254
Je vérifie:
root@VG2:~# tcpdump -i eth0 -w /home/dump2.pcap
root@VG1:~# ping 1.1.1.2 -c 4
PING 1.1.1.2 (1.1.1.2) 56(84) bytes of data.
64 bytes from 1.1.1.2: icmp_seq=1 ttl=64 time=1128 ms
64 bytes from 1.1.1.2: icmp_seq=2 ttl=64 time=126 ms
64 bytes from 1.1.1.2: icmp_seq=3 ttl=64 time=1.07 ms
64 bytes from 1.1.1.2: icmp_seq=4 ttl=64 time=1.12 ms
--- 1.1.1.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 1.077/314.271/1128.419/472.826 ms, pipe 2
Statistiques ISAKMP / IPsec:
root@VG1:~# sa_mgr show
ISAKMP sessions: 0 initiated, 0 responded
ISAKMP connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) State Sent Rcvd
1 1 (172.16.1.253,500)-(172.16.1.254,500) active 1086 1014
IPsec connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) Protocol Action Type Sent Rcvd
1 1 (172.16.1.253,*)-(172.16.1.254,*) 47 ESP tunn 480 480
Il n'y a aucun paquet dans le vidage de trafic GRE:
Conclusion: le schéma GRE-over-IPsec fonctionne correctement.
Figure 1.5: IPsec sur GRE
Je ne prévois pas d'utiliser IPsec-over-GRE sur le réseau. Je collectionne parce que je le veux.
Pour déployer le schéma GRE-over-IPsec, au contraire, vous avez besoin:
- Correction de la liste d'accĂšs pour le chiffrement - trafic cible de LAN1 Ă LAN2 et vice versa;
- Configurer le routage via GRE;
- Raccrochez la carte cryptographique sur l'interface GRE.
Par défaut, la console de passerelle de type Cisco n'a pas d'interface GRE. Il n'existe que sur le systÚme d'exploitation.
J'ajoute l'interface GRE Ă la console de type Cisco. Pour ce faire, Ă©ditez le fichier /etc/ifaliases.cf:
interface (name="FastEthernet0/0" pattern="eth0")
interface (name="FastEthernet0/1" pattern="eth1")
interface (name="FastEthernet0/2" pattern="eth2")
interface (name="FastEthernet0/3" pattern="eth3")
interface (name="Tunnel0" pattern="gre1")
interface (name="default" pattern="*")
oĂč gre1 est la dĂ©signation d'interface dans le systĂšme d'exploitation, Tunnel0 est la dĂ©signation d'interface dans la console de type Cisco.
Je recalcule le hachage du fichier:
root@VG1:~# integr_mgr calc -f /etc/ifaliases.cf
SUCCESS: Operation was successful.
Maintenant, l'interface Tunnel0 est apparue dans la console de type Cisco:
VG1# show run
interface Tunnel0
ip address 1.1.1.1 255.255.255.252
mtu 1400
Correction de la liste d'accĂšs pour le chiffrement:
VG1(config)#
ip access-list extended LIST
permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255
Configuration du routage via GRE:
VG1(config)#
no ip route 0.0.0.0 0.0.0.0 172.16.1.254
ip route 192.168.3.0 255.255.255.0 1.1.1.2
Je supprime la cryptocard de Fa0 / 0 et la lie Ă l'interface GRE:
VG1(config)#
interface Tunnel0
crypto map CMAP
De mĂȘme pour VG2.
Je vérifie:
root@VG2:~# tcpdump -i eth0 -w /home/dump3.pcap
root@VG1:~# ping 192.168.2.254 -I 192.168.1.253 -c 4
PING 192.168.2.254 (192.168.2.254) from 192.168.1.253 : 56(84) bytes of data.
64 bytes from 192.168.2.254: icmp_seq=1 ttl=64 time=492 ms
64 bytes from 192.168.2.254: icmp_seq=2 ttl=64 time=1.08 ms
64 bytes from 192.168.2.254: icmp_seq=3 ttl=64 time=1.06 ms
64 bytes from 192.168.2.254: icmp_seq=4 ttl=64 time=1.07 ms
--- 192.168.2.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 1.064/124.048/492.972/212.998 ms
Statistiques ISAKMP / IPsec:
root@VG1:~# 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 (172.16.1.253,500)-(172.16.1.254,500) active 1094 1022
IPsec connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) Protocol Action Type Sent Rcvd
1 2 (192.168.1.0-192.168.1.255,*)-(192.168.2.0-192.168.2.255,*) * ESP tunn 352 352
Dans le vidage du trafic ESP, les paquets encapsulés dans GRE:
Conclusion: IPsec-over-GRE fonctionne correctement.
RĂ©sultat
Une tasse de café suffisait. Esquissé des instructions sur la façon d'obtenir la démo. Configuré GRE-over-IPsec et déployé dans l'autre sens.
La carte d'interface réseau de la version 4.3 est automatique! Je teste plus loin.
Ingénieur anonyme
t.me/anonimous_engineer