1.5 sheme na domaćem IPsec VPN-u. Testiranje demonstracija

1.5 sheme na domaćem IPsec VPN-u. Testiranje demonstracija

Situacija

Dobio sam demo verziju S-Terra VPN proizvoda verzije 4.3 na tri mjeseca. Želim saznati hoće li moj inženjerski život postati lakši nakon prelaska na novu verziju.

Danas to nije teško, jedna vrećica 3 u 1 instant kave trebala bi biti dovoljna. Reći ću vam kako doći do demo verzije. Pokušat ću sastaviti sheme GRE-over-IPsec i IPsec-over-GRE.

Kako dobiti demo

1.5 sheme na domaćem IPsec VPN-u. Testiranje demonstracija

Iz slike je vidljivo da su vam za demo verziju potrebni:

  • Napiši pismo [e-pošta zaštićena] s adrese poduzeća;
  • U pismu navedite TIN vaše organizacije;
  • Navedite proizvode i njihovu količinu.

Demo verzije vrijede tri mjeseca. Dobavljač ne ograničava njihovu funkcionalnost.

Razvijanje slike

Demo verzija Security Gatewaya je slika virtualnog stroja. Koristim VMWare Workstation. Potpuni popis podržanih hipervizora i virtualizacijskih okruženja dostupan je na web stranici dobavljača.

Prije nego počnete, imajte na umu da zadana slika virtualnog stroja nema mrežna sučelja:

1.5 sheme na domaćem IPsec VPN-u. Testiranje demonstracija

Logika je jasna, korisnik mora dodati onoliko sučelja koliko mu je potrebno. Dodat ću četiri odjednom:

1.5 sheme na domaćem IPsec VPN-u. Testiranje demonstracija

Sada pokrećem virtualni stroj. Odmah nakon pokretanja, pristupnik zahtijeva prijavu i lozinku.

S-Terra Gateway ima nekoliko konzola s različitim računima. Njihov broj ću pobrojati u posebnom članku. U međuvremenu:
Login as: administrator
Password: s-terra

Inicijaliziram gateway. Inicijalizacija je slijed radnji: unos licence, postavljanje biološkog generatora slučajnih brojeva (simulator tipkovnice - moj rekord je 27 sekundi) i stvaranje karte mrežnog sučelja.

Karta mrežnog sučelja. Postalo je lakše

Verzija 4.2 pozdravila je aktivnog korisnika porukama:

Starting IPsec daemon….. failed
ERROR: Could not establish connection with daemon

Aktivni korisnik (prema anonimnom inženjeru) je korisnik koji može sve konfigurirati brzo i bez dokumentacije.

Nešto je išlo krivo čak i prije pokušaja konfiguracije IP adrese na sučelju. Sve je u mapi mrežnog sučelja. Bilo je potrebno učiniti:

/bin/netifcfg enum > /home/map
/bin/netifcfg map /home/map
service networking restart

Kao rezultat, kreira se mapa mrežnih sučelja koja sadrži mapiranje naziva fizičkih sučelja (0000:02:03.0) i njihovih logičkih oznaka u operativnom sustavu (eth0) i konzoli sličnoj Cisco (FastEthernet0/0) :

#Unique ID iface type OS name Cisco-like name

0000:02:03.0 phye eth0 FastEthernet0/0

Oznake logičkog sučelja nazivaju se aliasi. Aliasi su pohranjeni u datoteci /etc/ifaliases.cf.
U verziji 4.3, kada prvi put pokrenete virtualni stroj, mapa sučelja se kreira automatski. Ako promijenite broj mrežnih sučelja u virtualnom stroju, ponovno izradite mapu sučelja:

/bin/netifcfg enum > /home/map
/bin/netifcfg map /home/map
systemctl restart networking

Shema 1: GRE-over-IPsec

Postavljam dva virtualna pristupnika i prebacujem se kao što je prikazano na slici:

1.5 sheme na domaćem IPsec VPN-u. Testiranje demonstracija

Korak 1. Konfigurirajte IP adrese i rute

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

Provjeravam IP vezu:

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

Korak 2. Postavljanje GRE

Uzimam primjer postavljanja GRE-a iz službenih skripti. Kreiram datoteku gre1 u direktoriju /etc/network/interfaces.d sa sadržajem.

Za 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

Za 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

Podižem sučelje u sustavu:

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

Provjerio sam:

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

S-Terra Gateway ima ugrađeni sniffer paketa - tcpdump. Napisat ću ispis prometa u pcap datoteku:

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

Pokrećem ping između GRE sučelja:

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

GRE tunel je aktivan i radi:

1.5 sheme na domaćem IPsec VPN-u. Testiranje demonstracija

Korak 3. Šifrirajte s GOST GRE

Postavio sam vrstu identifikacije - adresom. Autentifikacija pomoću predefiniranog ključa (sukladno Uvjetima korištenja obavezna je uporaba digitalnih certifikata):

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

Postavio sam parametre IPsec faze I:

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

Postavio sam parametre IPsec faze II:

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

Stvaram pristupnu listu za šifriranje. Ciljani promet - GRE:

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

Kreiram kripto karticu i vežem je za WAN sučelje:

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

Za VG2 konfiguracija je preslikana, razlike:

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

Provjerio sam:

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 statistika:

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

Nema paketa u GRE prometnom zapisu:

1.5 sheme na domaćem IPsec VPN-u. Testiranje demonstracija

Zaključak: shema GRE-over-IPsec radi ispravno.

Shema 1.5: IPsec-over-GRE

Ne planiram koristiti IPsec-over-GRE na mreži. Skupljam jer to želim.

1.5 sheme na domaćem IPsec VPN-u. Testiranje demonstracija

Za implementaciju sheme GRE-over-IPsec obrnuto, trebate:

  • Ispravite popis pristupa za enkripciju - ciljajte promet s LAN1 na LAN2 i obrnuto;
  • Konfigurirajte usmjeravanje putem GRE;
  • Objesite kripto karticu na GRE sučelje.

Prema zadanim postavkama, konzola pristupnika slična Ciscu nema GRE sučelje. Postoji samo u operativnom sustavu.

Dodajem GRE sučelje konzoli nalik na Cisco. Da bih to učinio, uredio sam datoteku /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="*")

gdje je gre1 oznaka sučelja u operativnom sustavu, Tunnel0 je oznaka sučelja u Ciscovoj konzoli.

Ponovno izračunavam hash datoteke:

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

SUCCESS:  Operation was successful.

Sada se sučelje Tunnel0 pojavljuje u konzoli nalik na Cisco:

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

Prilagođavam pristupnu listu za enkripciju:

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

Postavljanje usmjeravanja putem 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

Uklanjam kripto karticu iz Fa0/0 i povezujem je s GRE sučeljem:

VG1(config)#
interface Tunnel0
crypto map CMAP

Za VG2 je isto.

Provjerio sam:

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 statistika:

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

U ESP prometnom zapisu, paketi enkapsulirani u GRE:

1.5 sheme na domaćem IPsec VPN-u. Testiranje demonstracija

Zaključak: IPsec-over-GRE radi ispravno.

Rezultati

Bila je dovoljna jedna šalica kave. Zabilježio sam upute za dobivanje demonstracije. Konfigurirao GRE-over-IPsec i postavio ga obrnuto.

Karta mrežnog sučelja u verziji 4.3 je automatska! Testiram dalje.

Anonimni inženjer
t.me/anonimni_inženjer


Izvor: www.habr.com

Dodajte komentar