1.5/XNUMX схемы на айчынным IPsec VPN. Тэстую дэмаверсіі

1.5/XNUMX схемы на айчынным IPsec VPN. Тэстую дэмаверсіі

Сітуацыя

Я атрымаў дэмаверсію прадуктаў З-Тэра VPN версіі 4.3 на тры месяцы. Жадаю разабрацца, ці стане маё інжынернае жыццё лягчэй пасля пераходу на новую версію.

Сёння не складана, аднаго пакуначка растваральнай кавы 3 у 1 павінна хапіць. Раскажу, як атрымаць дэмаверсіі. Паспрабую сабраць схемы GRE-over-IPsec і IPsec-over-GRE.

Як атрымаць дэмаверсію

1.5/XNUMX схемы на айчынным IPsec VPN. Тэстую дэмаверсіі

З малюнка вынікае, каб атрымаць дэмаверсію трэба:

  • Напісаць ліст на [электронная пошта абаронена] з карпаратыўнага адраса;
  • У лісце пазначыць ІНАЎ вашай арганізацыі;
  • Пералічыць прадукты і іх колькасць.

Дэмаверсіі дзейнічаюць тры месяцы. Вендар не абмяжоўвае іх функцыянальнасць.

Разгортваю выяву

Дэмаверсія шлюза бяспекі - гэта выява віртуальнай машыны. Я выкарыстоўваю VMWare Workstation. Поўны спіс падтрымліваемых гіпервізораў і асяроддзяў віртуалізацыі размешчаны на сайце вендара.

Перад пачаткам актыўных дзеянняў, звернеце ўвагу, што ў выяве віртуальнай машыны па змаўчанні няма сеткавых інтэрфейсаў:

1.5/XNUMX схемы на айчынным IPsec VPN. Тэстую дэмаверсіі

Логіка ясная, карыстач павінен дадаць гэтулькі інтэрфейсаў, колькі яму трэба. Дадам адразу чатыры:

1.5/XNUMX схемы на айчынным IPsec VPN. Тэстую дэмаверсіі

Цяпер запускаю віртуальную машыну. Адразу пасля запуску шлюз патрабуе лагін і пароль.

У С-Тэра Шлюз некалькі кансоляў з рознымі ўліковымі запісамі. Палічу іх колькасць у асобным артыкуле. А пакуль:
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-like кансолі (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/XNUMX схемы на айчынным 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 бяру з афіцыйных сцэнараў. Ствараю файл gre1 у дырэкторыі /etc/network/interfaces.d са змесцівам.

Для 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

У З-Тэра Шлюз ёсць убудаваны пакетны сниффер – tcpdump. Запішу дамп трафіку ў pcap файл:

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

Запускаю ping паміж 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

GRE тунэль актыўны і працуе:

1.5/XNUMX схемы на айчынным IPsec VPN. Тэстую дэмаверсіі

Крок 3. Шыфруем Дастам GRE

Задаю тып ідэнтыфікацыі - па адрасе. Аўтэнтыфікацыя па наканаваным ключы (па Правілах Карыстання трэба выкарыстоўваць лічбавыя сертыфікаты):

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

Задаю параметры IPsec Phase 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/XNUMX схемы на айчынным IPsec VPN. Тэстую дэмаверсіі

Выснова: схема GRE-over-IPsec карэктна працуе.

Схема 1.5: IPsec-over-GRE

Выкарыстоўваць IPsec-over-GRE у сетцы я не планую. Збіраю, бо хочацца.

1.5/XNUMX схемы на айчынным IPsec VPN. Тэстую дэмаверсіі

Каб разгарнуць схему GRE-over-IPsec наадварот трэба:

  • Выправіць спіс доступу для шыфравання - мэтавай трафік з LAN1 у LAN2 і наадварот;
  • Наладзіць маршрутызацыю праз GRE;
  • Павесіць крыптакарту на GRE інтэрфейс.

Па змаўчанні ў Cisco-like кансолі шлюза няма GRE інтэрфейсу. Ён існуе толькі ў аперацыйнай сістэме.

Дадаю GRE інтэрфейс у Cisco-like кансоль. Для гэтага рэдагую файл /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-like кансолі.

Пералічваю хэш файла:

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

SUCCESS:  Operation was successful.

Цяпер інтэрфейс Tunnel0 з'явіўся ў Cisco-like кансолі:

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/XNUMX схемы на айчынным IPsec VPN. Тэстую дэмаверсіі

Выснова: IPsec-over-GRE працуе карэктна.

Вынікі

Аднаго кубка кавы хапіла. Накідаў інструкцыю па атрыманні дэмаверсіі. Наладзіў GRE-over-IPsec і разгарнуў наадварот.

Карта сеткавых інтэрфейсаў у версіі 4.3 аўтаматычная! Тэстую далей.

Ананімны інжынер
t.me/anonimous_engineer


Крыніца: habr.com

Дадаць каментар