1.5 schemi nantu à a VPN IPsec domestica. Pruvate demo

1.5 schemi nantu à a VPN IPsec domestica. Pruvate demo

A situazione

Aghju ricivutu una versione demo di i prudutti C-Terra VPN versione 4.3 per trè mesi. Vogliu sapè se a mo vita ingegneria diventerà più faciule dopu avè cambiatu à a nova versione.

Oghje ùn hè micca difficiule, un saccu di caffè instantanu 3 in 1 deve esse abbastanza. Vi dicu cumu uttene demo. Pruvaraghju di custruisce i schemi GRE-over-IPsec è IPsec-over-GRE.

Cumu uttene una demo

1.5 schemi nantu à a VPN IPsec domestica. Pruvate demo

Da a figura segue chì per uttene una demo hè bisognu di:

  • Scrivite una lettera à [email prutettu] da un indirizzu corporativu;
  • In a lettera, indicà u TIN di a vostra urganizazione;
  • Lista i prudutti è e so quantità.

I demo sò validi per trè mesi. U venditore ùn limita micca a so funziunalità.

Espansione di l'imaghjini

A demo di Security Gateway hè una maghjina di macchina virtuale. Aghju aduprà VMWare Workstation. Una lista cumpleta di ipervisori supportati è ambienti di virtualizazione hè dispunibule nantu à u situ web di u venditore.

Prima di principià, per piacè nutate chì ùn ci sò micca interfacce di rete in l'imaghjini di a macchina virtuale predeterminata:

1.5 schemi nantu à a VPN IPsec domestica. Pruvate demo

A logica hè chjara, l'utilizatore deve aghjunghje tante interfacce quant'è bisognu. Aghju aghjunghje quattru à una volta:

1.5 schemi nantu à a VPN IPsec domestica. Pruvate demo

Avà principià a macchina virtuale. Immediatamente dopu à u lanciu, u gateway richiede un nome d'utilizatore è una password.

Ci sò parechje cunsola in S-Terra Gateway cù cunti diffirenti. Cuntaraghju u so numeru in un articulu separatu. Per avà:
Login as: administrator
Password: s-terra

Sò inizializatu u gateway. L'inizializazione hè una sequenza d'azzioni: entre in una licenza, stabilisce un generatore di numeri aleatorii biologichi (simulatore di tastiera - u mo record hè 27 seconde) è crea una mappa d'interfaccia di rete.

Mappa di l'interfaccia di rete. Hè diventatu più faciule

A versione 4.2 hà salutatu l'utilizatori attivu cù missaghji:

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

Un utilizatore attivu (sicondu un ingegnere anonimu) hè un utilizatore chì pò stabilisce qualcosa rapidamente è senza documentazione.

Qualcosa andava male prima di pruvà à stallà un indirizzu IP nantu à l'interfaccia. Hè tuttu nantu à a mappa di l'interfaccia di a rete. Era necessariu di fà:

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

In u risultatu, hè creatu una mappa di l'interfaccia di a rete chì cuntene a mappatura di i nomi di l'interfaccia fisica (0000:02:03.0) è i so designazioni lògichi in u sistema operatore (eth0) è cunsola Cisco-like (FastEthernet0/0):

#Unique ID iface type OS name Cisco-like name

0000:02:03.0 phye eth0 FastEthernet0/0

I designazioni lògichi di l'interfaccia sò chjamati aliases. L'aliasi sò guardati in u schedariu /etc/ifaliases.cf.
In a versione 4.3, quandu a macchina virtuale hè iniziata per a prima volta, una mappa d'interfaccia hè creata automaticamente. Se cambiate u numeru di interfacce di rete in a macchina virtuale, allora per piacè ricreate a mappa di l'interfaccia:

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

Schema 1: GRE-over-IPsec

Implementu dui gateway virtuali, cambiu cum'è mostra in a figura:

1.5 schemi nantu à a VPN IPsec domestica. Pruvate demo

Passu 1. Stallà indirizzi IP è rotte

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

Verificate a cunnessione 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

Passu 2: Configurate GRE

Pigliu un esempiu di creazione di GRE da scripturi ufficiali. Creu un schedariu gre1 in u cartulare /etc/network/interfaces.d cù u cuntenutu.

Per 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

Per 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

Aghju aghjustatu l'interfaccia in u sistema:

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

Verificazione:

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 hà un sniffer di pacchetti integratu - tcpdump. Scriveraghju un dump di trafficu à un schedariu pcap:

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

Cuminciamu a ping trà l'interfacce 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

U tunnel GRE hè in funzione:

1.5 schemi nantu à a VPN IPsec domestica. Pruvate demo

Passu 3. Encrypt cù GOST GRE

Aghju stabilitu u tipu d'identificazione - per indirizzu. Autentificazione cù una chjave predefinita (sicondu i Termini d'usu, i certificati digitali devenu esse usatu):

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

Aghju stabilitu i paràmetri IPsec Phase I:

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

Aghju stabilitu i paràmetri IPsec Phase II:

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

Creu una lista d'accessu per a criptografia. U trafficu miratu - GRE:

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

Creu una mappa di criptu è l'aghjunghje à l'interfaccia 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

Per VG2, a cunfigurazione hè riflessa, e differenze sò:

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

Verificazione:

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

Statistiche 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

Ùn ci sò micca pacchetti in u dump di trafficu GRE:

1.5 schemi nantu à a VPN IPsec domestica. Pruvate demo

Conclusioni: u schema GRE-over-IPsec funziona bè.

Figura 1.5: IPsec-over-GRE

Ùn aghju micca pensatu à utilizà IPsec-over-GRE in a reta. Cugliu perchè vogliu.

1.5 schemi nantu à a VPN IPsec domestica. Pruvate demo

Per implementà u schema GRE-over-IPsec inversamente:

  • Fix liste d'accessu di criptografia - trafficu miratu da LAN1 à LAN2 è vice versa;
  • Configurate u routing attraversu GRE;
  • Appena una criptomapa nantu à l'interfaccia GRE.

Per automaticamente, ùn ci hè micca una interfaccia GRE in a cunsola Cisco-like gateway. Esisti solu in u sistema upirativu.

Aghju aghjunghje l'interfaccia GRE à a cunsola Cisco-like. Per fà questu, aghju editatu u schedariu /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="*")

induve gre1 hè a designazione di l'interfaccia in u sistema operatore, Tunnel0 hè a designazione di l'interfaccia in a cunsola Cisco-like.

Ricalculate l'hash di u schedariu:

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

SUCCESS:  Operation was successful.

Avà l'interfaccia Tunnel0 hè apparsu in a cunsola Cisco-like:

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

Currezzione di a lista d'accessu per a criptografia:

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

Aghju cunfigurà u routing attraversu 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

Eliminate u cryptomap da Fa0 / 0 è u ligame à l'interfaccia GRE:

VG1(config)#
interface Tunnel0
crypto map CMAP

Per VG2 hè simile.

Verificazione:

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

Statistiche 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

In u dump di trafficu ESP, i pacchetti incapsulati in GRE:

1.5 schemi nantu à a VPN IPsec domestica. Pruvate demo

Conclusione: IPsec-over-GRE funziona correttamente.

Risultati

Una tazza di caffè era abbastanza. Aghju sketch struzzioni per ottene una versione demo. Configuratu GRE-over-IPsec è implementatu viceversa.

A mappa di l'interfaccia di rete in a versione 4.3 hè automatica! Testu di più.

Ingegnere anonimu
t.me/anonymous_engineer


Source: www.habr.com

Add a comment