1.5 schémata na domácí IPsec VPN. Testování ukázek

1.5 schémata na domácí IPsec VPN. Testování ukázek

Situace

Dostal jsem demo verzi C-Terra VPN produktů verze 4.3 na tři měsíce. Chci zjistit, jestli se můj inženýrský život po přechodu na novou verzi zjednoduší.

Dnes to není nic těžkého, jeden sáček instantní kávy 3v1 by měl stačit. Řeknu vám, jak získat ukázky. Pokusím se vytvořit schémata GRE-over-IPsec a IPsec-over-GRE.

Jak získat demo

1.5 schémata na domácí IPsec VPN. Testování ukázek

Z obrázku vyplývá, že abyste získali demo, musíte:

  • Napište dopis [chráněno e-mailem] z firemní adresy;
  • V dopise uveďte DIČ vaší organizace;
  • Uveďte produkty a jejich množství.

Ukázky jsou platné tři měsíce. Prodejce neomezuje jejich funkčnost.

Rozšíření obrázku

Ukázka Security Gateway je obraz virtuálního stroje. Používám VMWare Workstation. Kompletní seznam podporovaných hypervizorů a virtualizačních prostředí je k dispozici na webu dodavatele.

Než začnete, mějte na paměti, že ve výchozím obrazu virtuálního počítače nejsou žádná síťová rozhraní:

1.5 schémata na domácí IPsec VPN. Testování ukázek

Logika je jasná, uživatel by si měl přidat tolik rozhraní, kolik potřebuje. Přidám čtyři najednou:

1.5 schémata na domácí IPsec VPN. Testování ukázek

Nyní spustím virtuální stroj. Ihned po spuštění vyžaduje brána uživatelské jméno a heslo.

V S-Terra Gateway je několik konzolí s různými účty. Jejich počet spočítám v samostatném článku. Pro teď:
Login as: administrator
Password: s-terra

Inicializujem bránu. Inicializace je sled akcí: zadání licence, nastavení biologického generátoru náhodných čísel (simulátor klávesnice - můj rekord je 27 sekund) a vytvoření mapy síťového rozhraní.

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

Verze 4.2 přivítala aktivního uživatele zprávami:

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

Aktivní uživatel (podle anonymního inženýra) je uživatel, který může rychle a bez dokumentace nastavit cokoliv.

Před pokusem o nastavení IP adresy na rozhraní se něco pokazilo. Je to všechno o mapě síťového rozhraní. Bylo nutné udělat:

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

Výsledkem je vytvoření mapy síťového rozhraní, která obsahuje mapování názvů fyzických rozhraní (0000:02:03.0) a jejich logická označení v operačním systému (eth0) a konzole podobné Cisco (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 počítače automaticky vytvoří mapa rozhraní. Pokud změníte počet síťových rozhraní ve virtuálním počítači, znovu vytvořte mapu rozhraní:

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

Schéma 1: GRE-over-IPsec

Nasazuji dvě virtuální brány, přepínám, jak je znázorněno na obrázku:

1.5 schémata na domácí IPsec VPN. Testování ukázek

Krok 1. Nastavte 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

Kontrola IP konektivity:

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

Krok 2: Nastavte GRE

Příklad nastavení GRE beru z oficiálních skriptů. Vytvořím soubor gre1 v adresáři /etc/network/interfaces.d s 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

Zvýším rozhraní v systému:

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

Kontrola:

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 má vestavěný sniffer paketů - tcpdump. Zapíšu výpis provozu do souboru pcap:

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

Začnu ping mezi rozhraními 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

Tunel GRE je v provozu:

1.5 schémata na domácí IPsec VPN. Testování ukázek

Krok 3. Šifrujte pomocí GOST GRE

Nastavil jsem typ identifikace - podle adresy. Autentizace pomocí předdefinovaného klíče (podle Podmínek použití je nutné použít digitální certifikáty):

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

Nastavil jsem parametry I. fáze IPsec:

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

Nastavil jsem parametry IPsec Phase II:

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

Vytvořím přístupový seznam pro šifrování. Cílený provoz – GRE:

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

Vytvořím kryptografickou mapu a připojím ji k rozhraní 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

Pro VG2 je konfigurace zrcadlená, rozdíly jsou:

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

Kontrola:

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

Statistiky 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

Ve výpisu provozu GRE nejsou žádné pakety:

1.5 schémata na domácí IPsec VPN. Testování ukázek

Závěr: schéma GRE-over-IPsec funguje správně.

Obrázek 1.5: IPsec-over-GRE

Neplánuji v síti používat IPsec-over-GRE. Sbírám, protože chci.

1.5 schémata na domácí IPsec VPN. Testování ukázek

Chcete-li nasadit schéma GRE-over-IPsec opačně:

  • Opravit šifrovací přístupový seznam – cílený provoz z LAN1 do LAN2 a naopak;
  • Konfigurace směrování přes GRE;
  • Zavěste kryptomapu na rozhraní GRE.

Ve výchozím nastavení není v konzole brány podobné Cisco žádné rozhraní GRE. Existuje pouze v operačním systému.

Ke konzoli podobné Cisco přidávám rozhraní GRE. Za tímto účelem upravím 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 je označení rozhraní v operačním systému, Tunnel0 je označení rozhraní v konzoli podobné Cisco.

Přepočítám hash souboru:

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

SUCCESS:  Operation was successful.

Nyní se rozhraní Tunnel0 objevilo v konzoli podobné Cisco:

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

Oprava přístupového seznamu 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

Nakonfiguruji 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

Odeberu kryptomapu z Fa0 / 0 a připojím ji k rozhraní GRE:

VG1(config)#
interface Tunnel0
crypto map CMAP

U VG2 je to podobné.

Kontrola:

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

Statistiky 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 výpisu provozu ESP pakety zapouzdřené v GRE:

1.5 schémata na domácí IPsec VPN. Testování ukázek

Závěr: IPsec-over-GRE funguje správně.

Výsledky

Jeden šálek kávy stačil. Načrtl jsem návod na získání demoverze. Nakonfigurováno GRE-over-IPsec a nasazeno naopak.

Mapa síťových rozhraní ve verzi 4.3 je automatická! Dále testuji.

Anonymní inženýr
t.me/anonymní_engineer


Zdroj: www.habr.com

Přidat komentář