1.5 Schemata für inländisches IPSec-VPN. Demos testen





Lage



Ich habe eine dreimonatige Testversion von C-Terra VPN Version 4.3 erhalten. Ich möchte herausfinden, ob mein Engineering-Leben nach dem Upgrade auf die neue Version einfacher wird.



Heute ist es nicht schwierig, eine Packung Instantkaffee 3 in 1 sollte ausreichen. Ich werde Ihnen sagen, wie Sie die Demos bekommen. Ich werde versuchen, GRE-over-IPsec- und IPsec-over-GRE-Schemata zusammenzustellen.



So erhalten Sie eine Demo







Aus der Abbildung folgt eine Demo, die Sie benötigen:



  • Schreiben Sie einen Brief von der Unternehmensadresse an presale@s-terra.ru.
  • Geben Sie im Brief die TIN Ihrer Organisation an.
  • Listen Sie die Produkte und ihre Menge auf.


Die Demos sind drei Monate gültig. Der Anbieter schränkt seine Funktionalität nicht ein.



Erweitern Sie das Bild



Die Security Gateway-Demo ist ein Image einer virtuellen Maschine. Ich verwende VMWare Workstation. Eine vollständige Liste der unterstützten Hypervisoren und Virtualisierungsumgebungen finden Sie auf der Website des Anbieters.



Beachten Sie vor dem Starten der aktiven Schritte, dass das Standardimage der virtuellen Maschine keine Netzwerkschnittstellen enthält:







Die Logik ist klar, der Benutzer muss so viele Schnittstellen hinzufügen, wie er benötigt. Ich werde vier auf einmal hinzufügen:







Jetzt starte ich die virtuelle Maschine. Unmittelbar nach dem Start benötigt das Gateway einen Benutzernamen und ein Passwort.



C-Terra Gateway verfügt über mehrere Konsolen mit unterschiedlichen Konten. Ich werde ihre Anzahl in einem separaten Artikel zählen. Bis dann:

Login as: administrator

Password: s-terra


Gateway initialisieren. Die Initialisierung ist eine Folge von Aktionen: Eingabe einer Lizenz, Einrichtung eines Generators für biologische Zufallszahlen (Tastatursimulator - mein Datensatz beträgt 27 Sekunden) und Erstellung einer Netzwerkschnittstellenkarte.



Netzwerkkarte. Es wurde einfacher



Version 4.2 begrüßte einen aktiven Benutzer mit den folgenden Meldungen: Ein aktiver Benutzer (laut einem anonymen Techniker) ist ein Benutzer, der alles schnell und ohne Dokumentation einrichten kann. Es ist ein Fehler aufgetreten, noch bevor versucht wurde, eine IP-Adresse auf der Schnittstelle zu konfigurieren. Alles dreht sich um die Netzwerkschnittstellenkarte. Folgendes war erforderlich: Als Ergebnis wird eine Netzwerkschnittstellenzuordnung erstellt, die eine Zuordnung der Namen der physischen Schnittstellen (0000: 02: 03.0) und ihrer logischen Bezeichnungen im Betriebssystem (eth0) und in der Cisco-ähnlichen Konsole (FastEthernet0 / 0) enthält: Logische Bezeichnungen von Schnittstellen werden als Aliase bezeichnet ... Aliase werden in der Datei /etc/ifaliases.cf gespeichert.



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






In Version 4.3 wird die Schnittstellenzuordnung beim ersten Start der virtuellen Maschine automatisch erstellt. Wenn Sie die Anzahl der Netzwerkschnittstellen in der virtuellen Maschine ändern, erstellen Sie die Schnittstellenzuordnung erneut:



/bin/netifcfg enum > /home/map

/bin/netifcfg map /home/map

systemctl restart networking




Abbildung 1: GRE-over-IPsec



Ich stelle zwei virtuelle Gateways bereit und wechsle sie wie in der Abbildung gezeigt:







Schritt 1. Konfigurieren Sie IP-Adressen und Routen



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


Überprüfen der IP-Konnektivität:



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




Schritt 2. GRE konfigurieren



Ein Beispiel für die Konfiguration von GRE stammt aus den offiziellen Skripten. Erstellen Sie die Datei gre1 im Verzeichnis /etc/network/interfaces.d mit Inhalt.



Für 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


Für 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


Ich rufe die Schnittstelle im System auf:



root@VG1:~# ifup gre1
root@VG2:~# ifup gre1


Ich überprüfe:



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 verfügt über einen integrierten Paket-Sniffer - tcpdump. Ich werde den Datenverkehr in eine PCAP-Datei speichern:



root@VG2:~# tcpdump -i eth0 -w /home/dump.pcap


Ich pinge zwischen GRE-Schnittstellen:



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


Der GRE-Tunnel ist aktiv und funktioniert:







Schritt 3. Mit GRE GRE verschlüsseln Ich stelle die



Art der Identifizierung ein - nach Adresse. Authentifizierung mit einem vordefinierten Schlüssel (gemäß den Nutzungsbedingungen müssen Sie digitale Zertifikate verwenden):



VG1(config)#
crypto isakmp identity address
crypto isakmp key KEY address 172.16.1.254


Ich habe die IPSec-Phase-I-Parameter eingestellt:



VG1(config)#
crypto isakmp policy 1
encr gost
hash gost3411-256-tc26
auth pre-share
group vko2


Ich habe die Parameter für IPSec Phase II eingestellt:



VG1(config)#
crypto ipsec transform-set TSET esp-gost28147-4m-imit
mode tunnel


Ich erstelle eine Zugriffsliste für die Verschlüsselung. Zielverkehr - GRE:



VG1(config)#
ip access-list extended LIST
permit gre host 172.16.1.253 host 172.16.1.254


Ich erstelle eine Krypto-Map und binde sie an die WAN-Schnittstelle:



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


Für VG2 wird die Konfiguration gespiegelt, die Unterschiede sind:



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


Ich überprüfe:



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


ISAKMP / IPsec-Statistiken:



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


Der GRE-Verkehrsauszug enthält keine Pakete:







Schlussfolgerung: Das GRE-over-IPsec-Schema funktioniert ordnungsgemäß.



Abbildung 1.5: IPsec-over-GRE



Ich habe nicht vor, IPsec-over-GRE im Netzwerk zu verwenden. Ich sammle, weil ich will.







Um das GRE-over-IPsec-Schema bereitzustellen, benötigen Sie im Gegenteil:



  • Fix Zugriffsliste für Verschlüsselung - Zielverkehr von LAN1 nach LAN2 und umgekehrt;
  • Konfigurieren Sie das Routing über GRE.
  • Hängen Sie die Kryptokarte an der GRE-Oberfläche auf.


Standardmäßig verfügt die Cisco-ähnliche Gateway-Konsole nicht über eine GRE-Schnittstelle. Es existiert nur auf dem Betriebssystem.



Ich füge die GRE-Schnittstelle zur Cisco-ähnlichen Konsole hinzu. Bearbeiten Sie dazu die Datei /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="*")


Dabei ist gre1 die Schnittstellenbezeichnung im Betriebssystem, Tunnel0 die Schnittstellenbezeichnung in der Cisco-ähnlichen Konsole.



Ich berechne den Hash der Datei neu:



root@VG1:~# integr_mgr calc -f /etc/ifaliases.cf

SUCCESS:  Operation was successful.


Jetzt wurde die Tunnel0-Schnittstelle in der Cisco-ähnlichen Konsole angezeigt:



VG1# show run
interface Tunnel0
ip address 1.1.1.1 255.255.255.252
mtu 1400


Korrigieren der Zugriffsliste für die Verschlüsselung:



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


Routing über GRE einrichten:



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


Ich entferne die Kryptokarte von Fa0 / 0 und binde sie an die GRE-Schnittstelle:



VG1(config)#
interface Tunnel0
crypto map CMAP


Ähnliches gilt für VG2.



Ich überprüfe:



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




ISAKMP / IPsec-Statistiken:



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


Im ESP-Verkehrsdump







funktionieren in GRE gekapselte Pakete: Schlussfolgerung: IPsec-over-GRE funktioniert ordnungsgemäß.



Ergebnis



Eine Tasse Kaffee war genug. Skizzierte Anweisungen, wie Sie die Demo erhalten. GRE-over-IPsec konfiguriert und umgekehrt bereitgestellt.



Die Netzwerkschnittstellenkarte in Version 4.3 ist automatisch! Ich teste weiter.



Anonymer Ingenieur

t.me/anonimous_engineer



All Articles