1.5 шеми на домашна IPsec VPN. Демо за тестирање

1.5 шеми на домашна IPsec VPN. Демо за тестирање

Ситуација

Добив демо верзија на производите C-Terra VPN верзија 4.3 за три месеци. Сакам да дознаам дали мојот инженерски живот ќе стане полесен откако ќе се префрлам на новата верзија.

Денеска не е тешко, доволно е една кесичка инстант кафе 3 во 1. Ќе ви кажам како да добиете демо. Ќе се обидам да ги изградам шемите GRE-over-IPsec и IPsec-over-GRE.

Како да добиете демо

1.5 шеми на домашна IPsec VPN. Демо за тестирање

Од сликата произлегува дека за да добиете демо треба:

  • Напишете писмо до presale@s-terra.ru од вашата корпоративна адреса;
  • Во писмото, наведете го TIN-от на вашата организација;
  • Наведете ги производите и нивната количина.

Демонстрациите важат три месеци. Продавачот не ја ограничува нивната функционалност.

Проширување на сликата

Демото на Security Gateway е слика на виртуелна машина. Јас користам работна станица VMWare. Комплетна листа на поддржани хипервизори и средини за виртуелизација е достапна на веб-страницата на продавачот.

Пред да започнете, имајте предвид дека нема мрежни интерфејси во стандардната слика на виртуелната машина:

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 од официјални скрипти. Јас креирам датотека 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

C-Terra Gateway има вграден трагач на пакети - tcpdump. Ќе напишам сообраќајна депонија во датотека pcap:

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

Почнувам да пингувам помеѓу интерфејсите 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 шеми на домашна 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 Фаза 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.

Стандардно, нема интерфејс GRE во конзолата за портата слична на Cisco. Постои само во оперативниот систем.

Го додавам интерфејсот GRE на конзолата слична на Cisco. За да го направите ова, ја уредувам датотеката /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