1.5 schémat na domácím IPsec VPN. Testuji demo verze.

1.5 schémat na domácím IPsec VPN. Testuji demo verze.

Situace

Získal jsem zkušební verzi produktů S-Terra VPN verze 4.3 na tři měsíce. Chci zjistit, zda se má inženýrská práce po přechodu na novou verzi usnadní.

Dnes to není složité, jedno balení rozpustné kávy 3 v 1 by mělo stačit. Řeknu vám, jak získat zkušební verze. Zkusím vytvořit schémata GRE-over-IPsec a IPsec-over-GRE.

Jak získat zkušební verzi

1.5 schémat na domácím IPsec VPN. Testuji demo verze.

Z obrázku vyplývá, že k získání zkušební verze je třeba:

  • Napsat e-mail na presale@s-terra.ru z firemní adresy;
  • V e-mailu uvést IČ vaší organizace;
  • Vypsat produkty a jejich množství.

Zkušební verze jsou platné tři měsíce. Dodavatel neomezuje jejich funkčnost.

Rozbíhám obraz

Zkušební verze bezpečnostní brány je obraz virtuálního stroje. Používám VMWare Workstation. Kompletní seznam podporovaných hypervizorů a virtualizačních prostředí je uveden na webových stránkách dodavatele.

Před zahájením aktivních akcí věnujte pozornost tomu, že v obraze virtuálního stroje standardně nejsou žádné síťové rozhraní:

1.5 schémat na domácím IPsec VPN. Testuji demo verze.

Logika je jasná, uživatel musí přidat tolik rozhraní, kolik potřebuje. Přidám rovnou čtyři:

1.5 schémat na domácím IPsec VPN. Testuji demo verze.

Nyní spouštím virtuální stroj. Hned po spuštění brána požaduje přihlašovací jméno a heslo.

V S-Terra Bráně je několik konzol s různými účty. Počítám jejich počet v samostatném článku. A zatím:
Přihlaste se jako: administrátor
Heslo: s-terra

Inicializuji bránu. Inicializace je sekvence akcí: zadání licence, nastavení biologického generátoru náhodných čísel (klávesnicový trenažér – můj rekord 27 sekund) a vytvoření mapy síťových rozhraní.

Mapa síťových rozhraní. Bylo to jednodušší.

Verze 4.2 vítala aktivního uživatele zprávami:

Spouštění démonu IPsec..... neúspěšné
CHYBA: Nelze navázat spojení s démonem

Aktivní uživatel (podle názoru anonymního inženýra) – uživatel, který je schopen cokoliv nastavit rychle a bez dokumentace.

Něco šlo špatně, ještě před pokusy o nastavení IP adresy na rozhraní. Všechny záležitosti spočívaly v mapě síťových rozhraní. Bylo třeba vykonat:

/bin/netifcfg enum > /home/map
/bin/netifcfg map /home/map
služba networking restart

Výsledkem je vytvoření mapy síťových rozhraní, která obsahuje mapování názvů fyzických rozhraní (0000:02:03.0) a jejich logických označení v operačním systému (eth0) a Cisco-like konzoli (FastEthernet0/0):

#Unique ID iface type OS name Cisco-like name

0000:02:03.0 phye eth0 FastEthernet0/0

Logická označení rozhraní se nazývají aliasy. Aliasy jsou uloženy v souboru /etc/ifaliases.cf.
Ve verzi 4.3 se při prvním spuštění virtuálního stroje automaticky vytvoří mapa rozhraní. Pokud měníte počet síťových rozhraní ve virtuálním stroji, prosím, vytvořte mapu rozhraní znovu:

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

Schéma 1: GRE-over-IPsec

Nasazuji dva virtuální brány, přepínám podle schématu na obrázku:

1.5 schémat na domácím IPsec VPN. Testuji demo verze.

Krok 1. Nastavuji IP adresy a trasy

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

Kontroluji IP konektivitu:

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

--- Statistiky pingu pro 172.16.1.254 ---
4 pakety odeslány, 4 přijaty, ztráta 0%, čas 3005ms
rtt min/avg/max/mdev = 0.273/0.540/0.687/0.164 ms

Krok 2. Nastavuji GRE

Příklad konfigurace GRE beru z oficiálních skriptů. Vytvářím soubor gre1 v adresáři /etc/network/interfaces.d se obsahem.

Pro 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

Pro 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

Zvedám rozhraní v systému:

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

Kontroluji:

root@VG1:~# ip address show
8: gre1@NONE:  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

V S-Terra Gateway je zabudovaný paketový sniffer — tcpdump. Zapíšu dump provozu do souboru pcap:

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

Spouštím ping mezi GRE rozhraními:

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

--- Statistiky pingu pro 1.1.1.2 ---
4 pakety odeslány, 4 přijaty, ztráta 0%, čas 3006ms
rtt min/avg/max/mdev = 0.850/0.915/0.974/0.043 ms

GRE tunel je aktivní a funguje:

1.5 schémat na domácím IPsec VPN. Testuji demo verze.

Krok 3. Šifrujeme GOSTem GRE

Nastavuji typ identifikace – podle adresy. Autentizace podle předem stanoveného klíče (podle Pravidel používání by měly být použity digitální certifikáty):

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

Nastavuji parametry IPsec fáze I:

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

Nastavuji parametry IPsec fáze II:

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

Vytvářím seznam pro přístup pro šifrování. Cílový provoz — GRE:

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

Vytvářím kryptomapu a vážu ji na WAN rozhraní:

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

Pro VG2 je konfigurace zrcadlová, rozdíly:

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

Kontroluji:

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

Statistika 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

V dumpu provozu GRE pakety nejsou:

1.5 schémat na domácím IPsec VPN. Testuji demo verze.

Výstup: schéma GRE-over-IPsec správně funguje.

Schéma 1.5: IPsec-over-GRE

IPsec-over-GRE v síti neplánuji použít. Sestavuji, protože chci.

1.5 schémat na domácím IPsec VPN. Testuji demo verze.

Pro otočení schématu GRE-over-IPsec potřebuji:

  • Upravit seznam pro přístup pro šifrování – cílový provoz z LAN1 do LAN2 a naopak;
  • Nastavit směrování přes GRE;
  • Pověsit kryptomapu na GRE rozhraní.

Ve výchozím nastavení v Cisco-like konzoli brány GRE rozhraní není. Existuje pouze v operačním systému.

Přidávám GRE rozhraní do Cisco-like konzole. K tomu upravuji soubor /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="*")

kde gre1 – označení rozhraní v operačním systému, Tunnel0 – označení rozhraní v Cisco-like konzoli.

Přepočítávám hash souboru:

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

SUCCESS: Operation was successful.

Teď se rozhraní Tunnel0 objevilo v Cisco-like konzole:

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

Upravuji seznam pro přístup pro šifrování:

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

Nastavuji směrování přes 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

Odebírám kryptokartu z Fa0/0 a připojuji ji k GRE rozhraní:

VG1(config)#
interface Tunnel0
crypto map CMAP

Pro VG2 obdobně.

Kontroluji:

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

Statistika 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

Ve shromážděném provozu jsou pakety ESP, zabalující v GRE:

1.5 schémat na domácím IPsec VPN. Testuji demo verze.

Výstup: IPsec-over-GRE funguje správně.

Závěry

Jedna šálek kávy stačil. Sepsal jsem instrukci k získání demoverze. Nastavil jsem GRE-over-IPsec a obrátil to.

Mapa síťových rozhraní ve verzi 4.3 je automatická! Testuji dál.

Anonymní inženýr
t.me/anonimous_engineer


Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster