
Situácia
Dostal som demo verziu produktov S-Terra VPN verzie 4.3 na tri mesiace. Chcem zistiť, či sa môj inžiniersky život stane jednoduchším prechodom na novú verziu.
Dnes to nie je ťažké, jeden sáčok instantnej kávy 3 v 1 by mal stačiť. Povediem vám, ako získať demo verzie. Pokúsim sa zostaviť schémy GRE-over-IPsec a IPsec-over-GRE.
Ako získať demo verziu

Z obrázku vyplýva, že na získanie demo verzie je potrebné:
- Napísať e-mail na presale@s-terra.ru z firemnej adresy;
- V e-maile uviesť IČO vašej organizácie;
- Uviesť produkty a ich množstvo.
Demo verzie sú platné tri mesiace. Dodávateľ neobmedzuje ich funkčnosť.
Rozbieham obraz
Demo verzia bezpečnostného brány je obraz virtuálneho stroja. Používam VMWare Workstation. Kompletný zoznam podporovaných hypervízorov a virtuálnych prostredí je zverejnený na stránke dodávateľa.
Pred začatím aktívnych akcií, venujte pozornosť, že v obraze virtuálneho stroja predvolene nie sú žiadne sieťové rozhrania:

Logika je jasná, používateľ musí pridať toľko rozhraní, koľko potrebuje. Pridám štyri naraz:

Teraz spúšťam virtuálny stroj. Hneď po spustení brána vyžaduje prihlásenie a heslo.
V S-Terra Bráne je niekoľko konzol s rôznymi účtami. Spočítam ich počet v samostatnom článku. Zatiaľ:
Prihlásiť sa ako: administrátor
Heslo: s-terra
Inicializujem bránu. Inicializácia je sekvencia akcií: zadanie licencie, nastavenie biologického generátora náhodných čísel (klávesnicový tréner – môj rekord 27 sekúnd) a vytvorenie mapy sieťových rozhraní.
Mapa sieťových rozhraní. Stalo sa to jednoduchšie
Verzia 4.2 vítala aktívneho používateľa správami:
Spustenie demona IPsec….. zlyhalo
CHYBA: Nepodarilo sa nadviazať spojenie s demonmi
Aktívny používateľ (podľa anonymného inžiniera) – používateľ, ktorý je schopný nastaviť čokoľvek rýchlo a bez dokumentácie.
Niečo išlo zle, ešte pred pokusmi nastaviť IP adresu na rozhraní. Všetko bolo v mape sieťových rozhraní. Bolo potrebné vykonať:
/bin/netifcfg enum > /home/map
/bin/netifcfg map /home/map
reštartovanie služby networking
Výsledkom je vytvorenie mapy sieťových rozhraní, ktorá obsahuje mapovanie mien fyzických rozhraní (0000:02:03.0) a ich logických označení v operačnom systéme (eth0) a Cisco-like konzole (FastEthernet0/0):
#Unique ID iface type OS name Cisco-like name
0000:02:03.0 phye eth0 FastEthernet0/0
Logické označenia rozhraní sa nazývajú aliasy. Aliasy sú uložené v súbore /etc/ifaliases.cf.
V verzii 4.3 sa pri prvom spustení virtuálneho stroja mapa rozhraní vytvára automaticky. Ak meníte počet sieťových rozhraní vo virtuálke, prosím, vytvorte mapu rozhraní znova:
/bin/netifcfg enum > /home/map
/bin/netifcfg map /home/map
systemctl restart networking
Schéma 1: GRE-over-IPsec
Rozbaľujem dva virtuálne brány, prepájam tak, ako je znázornené na obrázku:

Krok 1. Konfigurujem IP adresy a smerovania
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.254VG2(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.253Kontrolujem IP spojenie:
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 msKrok 2. Konfigurujem GRE
Príklad konfigurácie GRE beriem z oficiálnych skriptov. Vytváram súbor gre1 v adresári /etc/network/interfaces.d s obsahom.
Pre 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 gre1Pre 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 gre1Zvyšujem rozhranie v systéme:
root@VG1:~# ifup gre1
root@VG2:~# ifup gre1Kontrolujem:
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 1V C-Terra Brána je zabudovaný paketový sniffér — tcpdump. Zapíšem dump traffic do pcap súboru:
root@VG2:~# tcpdump -i eth0 -w /home/dump.pcapSpúšťam ping medzi GRE rozhraniami:
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 msGRE tunel je aktívny a funguje:

Krok 3. Šifrujem GRE pomocou GOST
Nastavujem typ identifikácie – podľa adresy. Autentifikácia pomocou predurčeného kľúča (podľa Pravidiel Používania je potrebné použiť digitálne certifikáty):
VG1(config)#
crypto isakmp identity address
crypto isakmp key KEY address 172.16.1.254Nastavujem parametre IPsec fázy I:
VG1(config)#
crypto isakmp policy 1
encr gost
hash gost3411-256-tc26
auth pre-share
group vko2Nastavujem parametre IPsec fázy II:
VG1(config)#
crypto ipsec transform-set TSET esp-gost28147-4m-imit
mode tunnelVytváram prístupový zoznam na šifrovanie. Cieľový prenos – GRE:
VG1(config)#
ip access-list extended LIST
permit gre host 172.16.1.253 host 172.16.1.254Vytváram kryptomapu a pripájam ju k WAN rozhraniu:
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 CMAPPre VG2 je konfigurácia zrkadlová, rozdiely:
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.254Kontrolujem:
root@VG2:~# tcpdump -i eth0 -w /home/dump2.pcaproot@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
Štatistika 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 480V dume prenosu nie sú GRE pakety:

Výstup: schéma GRE-over-IPsec správne funguje.
Schéma 1.5: IPsec-over-GRE
Plánujem nepoužiť IPsec-over-GRE v sieti. Zbieram ho, pretože chcem.

Aby som rozvinul schému GRE-over-IPsec naopak, musím:
- Opraviť prístupový zoznam na šifrovanie – cieľový prenos z LAN1 do LAN2 a naopak;
- Nastaviť smerovanie cez GRE;
- Pripojiť kryptomapu na GRE rozhranie.
Vo výchozom nastavení v Cisco-like konzole brány neexistuje GRE rozhranie. Existuje iba v operačnom systéme.
Pridávam GRE rozhranie do Cisco-like konzoly. Na to upravujem súbor /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čenie rozhrania v operačnom systéme, Tunnel0 – označenie rozhrania v Cisco-like konzole.
Prepočítavam hash súboru:
root@VG1:~# integr_mgr calc -f /etc/ifaliases.cf
SUCCESS: Operation was successful.Teraz sa rozhranie Tunnel0 objavilo v Cisco-like konzole:
VG1# show run
interface Tunnel0
ip address 1.1.1.1 255.255.255.252
mtu 1400Opravuju prístupový zoznam na šifrovanie:
VG1(config)#
ip access-list extended LIST
permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255Nastavujem smerovanie cez 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.2Odpojujem cryptokartu z Fa0/0 a pripájam ju k GRE rozhraniu:
VG1(config)#
interface Tunnel0
crypto map CMAPPre VG2 podobne.
Kontrolujem:
root@VG2:~# tcpdump -i eth0 -w /home/dump3.pcaproot@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Štatistika 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 352V dumpovaní prevádzky sú ESP pakety, ktoré sú zapuzdrené v GRE:

Výstup: IPsec-over-GRE funguje správne.
Zhrnutie
Jedna šálka kávy stačila. Napísal som návod na získanie demoverzie. Nastavil som GRE-over-IPsec a rozbehol to naopak.
Mapa sieťových rozhraní vo verzii 4.3 je automatická! Testujem ďalej.
Anonymný inžinier
t.me/anonimous_engineer
Zdroj: habr.com
