1.5 отандық IPsec VPN схемалары. Тестілеу демонстрациялары

1.5 отандық IPsec VPN схемалары. Тестілеу демонстрациялары

Жағдай

Мен үш ай бойы S-Terra VPN өнімдерінің 4.3 нұсқасының демо нұсқасын алдым. Жаңа нұсқаға ауысқаннан кейін инженерлік өмірім жеңілдей ме, соны білгім келеді.

Бүгінгі күні бұл қиын емес, 3-де 1-тен тұратын ерігіш кофенің бір пакеті жеткілікті. Мен демо нұсқаларды қалай алуға болатынын айтамын. Мен GRE-over-IPsec және IPsec-over-GRE схемаларын біріктіруге тырысамын.

Демонстрацияны қалай алуға болады

1.5 отандық IPsec VPN схемалары. Тестілеу демонстрациялары

Суреттен демонстрациялық нұсқаны алу үшін сізге қажет:

  • Корпоративтік мекенжайыңыздан presale@s-terra.ru мекенжайына хат жазыңыз;
  • Хатта ұйымыңыздың СТН-ін көрсетіңіз;
  • Өнімдерді және олардың санын көрсетіңіз.

Демо нұсқалары үш ай бойы жарамды. Сатушы олардың функционалдығын шектемейді.

Кескінді ашу

Қауіпсіздік шлюзінің демо нұсқасы виртуалды машинаның кескіні болып табылады. Мен VMWare Workstation пайдаланамын. Қолдау көрсетілетін гипервизорлар мен виртуализация орталарының толық тізімі жеткізушінің веб-сайтында қолжетімді.

Бастамас бұрын, әдепкі виртуалды машина кескінінде желі интерфейстері жоқ екенін ескеріңіз:

1.5 отандық IPsec VPN схемалары. Тестілеу демонстрациялары

Логика түсінікті, пайдаланушы қанша қажет болса, сонша интерфейс қосуы керек. Мен бірден төрт қосамын:

1.5 отандық IPsec VPN схемалары. Тестілеу демонстрациялары

Енді мен виртуалды машинаны іске қосамын. Іске қосылғаннан кейін бірден шлюз логин мен парольді қажет етеді.

S-Terra Gateway-де әртүрлі тіркелгілері бар бірнеше консоль бар. Мен олардың санын жеке мақалада санаймын. Тап сол кезде:
Login as: administrator
Password: s-terra

Мен шлюзді инициализациялап жатырмын. Инициализация – бұл әрекеттер тізбегі: лицензияны енгізу, биологиялық кездейсоқ сандар генераторын орнату (пернетақта симуляторы – менің жазбам – 27 секунд) және желілік интерфейс картасын құру.

Желілік интерфейс картасы. Бұл оңайырақ болды

4.2 нұсқасы белсенді пайдаланушыны келесі хабарламалармен қарсы алды:

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

Белсенді қолданушы (анонимді инженердің айтуы бойынша) кез келген нәрсені тез және құжатсыз конфигурациялай алатын пайдаланушы.

Интерфейстегі IP мекенжайын конфигурациялау әрекетінен бұрын бірдеңе дұрыс болмады. Мұның бәрі желілік интерфейс картасына қатысты. Мұны істеу керек болды:

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

Нәтижесінде физикалық интерфейстер атауларының (0000:02:03.0) және олардың операциялық жүйедегі (eth0) және Cisco-тәрізді консольдегі (FastEthernet0/0) логикалық белгіленуі бейнеленген желілік интерфейстер картасы жасалады. :

#Unique ID iface type OS name Cisco-like name

0000:02:03.0 phye eth0 FastEthernet0/0

Интерфейстердің логикалық белгілеулері бүркеншік аттар деп аталады. Бүркеншік аттар /etc/ifaliases.cf файлында сақталады.
4.3 нұсқасында виртуалды машинаны алғаш рет іске қосқан кезде интерфейс картасы автоматты түрде жасалады. Виртуалды машинадағы желі интерфейстерінің санын өзгертсеңіз, интерфейс картасын қайта жасаңыз:

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

1-схема: GRE-over-IPsec

Мен екі виртуалды шлюзді орналастырамын және суретте көрсетілгендей ауыстырамын:

1.5 отандық IPsec VPN схемалары. Тестілеу демонстрациялары

1-қадам. IP мекенжайлары мен маршруттарды конфигурациялаңыз

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

Мен 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

2-қадам. GRE орнату

Мен ресми сценарийлерден GRE орнатудың мысалын аламын. Мен /etc/network/interfaces.d каталогында мазмұны бар gre1 файлын жасаймын.

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

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

Жүйедегі интерфейсті көтеремін:

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

Мен тексердім:

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 шлюзінде кірістірілген пакеттік снайфер бар - tcpdump. Мен pcap файлына трафик демпін жазамын:

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

Мен GRE интерфейстері арасында ping іске қосамын:

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 туннелі белсенді және жұмыс істейді:

1.5 отандық IPsec VPN схемалары. Тестілеу демонстрациялары

3-қадам. GOST GRE арқылы шифрлау

Мен сәйкестендіру түрін белгіледім - мекенжай бойынша. Алдын ала анықталған кілт арқылы аутентификация (Қолдану шарттарына сәйкес сандық сертификаттар пайдаланылуы керек):

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

Мен IPsec I кезең параметрлерін орнаттым:

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

Мен IPsec Phase II параметрлерін орнаттым:

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

Мен шифрлауға қол жеткізу тізімін жасаймын. Мақсатты трафик - GRE:

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

Мен криптокартаны жасаймын және оны 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

VG2 үшін конфигурация шағылыстырылған, айырмашылықтар:

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

Мен тексердім:

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 статистикасы:

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

GRE трафик қоқысында пакеттер жоқ:

1.5 отандық IPsec VPN схемалары. Тестілеу демонстрациялары

Қорытынды: GRE-over-IPsec схемасы дұрыс жұмыс істейді.

1.5 схемасы: IPsec-over-GRE

Мен желіде IPsec-over-GRE пайдалануды жоспарламаймын. Мен оны қалағандықтан жинаймын.

1.5 отандық IPsec VPN схемалары. Тестілеу демонстрациялары

GRE-over-IPsec схемасын кері бағытта қолдану үшін сізге қажет:

  • Шифрлауға қол жеткізу тізімін түзетіңіз - LAN1-ден LAN2-ге және керісінше мақсатты трафик;
  • GRE арқылы маршруттауды конфигурациялау;
  • Криптографиялық картаны GRE интерфейсіне іліңіз.

Әдепкі бойынша, Cisco тәрізді шлюз консолінде GRE интерфейсі жоқ. Ол операциялық жүйеде ғана бар.

Мен Cisco тәрізді консольге GRE интерфейсін қосып жатырмын. Ол үшін /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="*")

мұндағы gre1 - операциялық жүйедегі интерфейс белгілеу, Tunnel0 - Cisco тәрізді консольдегі интерфейс белгісі.

Мен файлдың хэшін қайта есептеймін:

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

SUCCESS:  Operation was successful.

Енді Tunnel0 интерфейсі Cisco тәрізді консольде пайда болады:

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

Мен шифрлау үшін кіру тізімін реттеп жатырмын:

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

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

Мен криптокартаны Fa0/0 ішінен алып тастап, оны GRE интерфейсіне байланыстырамын:

VG1(config)#
interface Tunnel0
crypto map CMAP

VG2 үшін де солай.

Мен тексердім:

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 статистикасы:

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

ESP трафик қоқысында GRE-де инкапсуляцияланған пакеттер:

1.5 отандық IPsec VPN схемалары. Тестілеу демонстрациялары

Қорытынды: IPsec-over-GRE дұрыс жұмыс істейді.

Нәтижелері

Бір кесе кофе жеткілікті болды. Мен демонстрацияны алу бойынша нұсқауларды жазып алдым. GRE-over-IPsec конфигурациялады және оны басқа жолмен орналастырды.

4.3 нұсқасындағы желілік интерфейс картасы автоматты! Мен әрі қарай сынап жатырмын.

Анонимді инженер
t.me/anonymous_engineer


Ақпарат көзі: www.habr.com

DDoS қорғауы бар сайттар үшін сенімді хостинг, VPS VDS серверлерін сатып алыңыз 🔥 DDoS қорғанысы, VPS VDS серверлері бар сенімді веб-сайт хостингін сатып алыңыз | ProHoster