Ата мекендик IPsec VPN боюнча 1.5 схемалар. Демолорду сыноо

Ата мекендик IPsec VPN боюнча 1.5 схемалар. Демолорду сыноо

абал

Мен үч ай бою C-Terra VPN өнүмдөрүнүн 4.3 версиясынын демо версиясын алдым. Жаңы версияга өткөндөн кийин инженердик жашоом жеңилдейби, билгим келет.

Бүгүнкү күндө кыйын эмес, бир кап тез даярдалган кофе 3 1де жетиштүү болушу керек. Демолорду кантип алуу керектигин айтып берем. Мен GRE-over-IPsec жана IPsec-over-GRE схемаларын курууга аракет кылам.

Демо кантип алса болот

Ата мекендик IPsec VPN боюнча 1.5 схемалар. Демолорду сыноо

Сүрөттөн көрүнүп тургандай, демонстрацияны алуу үчүн сизге төмөнкүлөр керек:

Демонстрациялар үч ай бою күчүндө болот. Сатуучу алардын функцияларын чектебейт.

Сүрөттү кеңейтүү

Security Gateway демо виртуалдык машинанын сүрөтү. Мен VMWare Workstation колдонуп жатам. Колдоого алынган гипервизорлордун жана виртуалдаштыруу чөйрөлөрүнүн толук тизмеси сатуучунун веб-сайтында жеткиликтүү.

Баштоодон мурун, демейки виртуалдык машинанын сүрөтүндө тармак интерфейстери жок экенин эске алыңыз:

Ата мекендик IPsec VPN боюнча 1.5 схемалар. Демолорду сыноо

Логика түшүнүктүү, колдонуучу канча керек болсо, ошончо интерфейсти кошушу керек. Мен бир эле учурда төрт кошом:

Ата мекендик IPsec VPN боюнча 1.5 схемалар. Демолорду сыноо

Азыр мен виртуалдык машинаны баштадым. Ишке киргизгенден кийин дароо шлюз колдонуучу атын жана паролду талап кылат.

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

Мен эки виртуалдык шлюзду жайгаштырам, мен сүрөттө көрсөтүлгөндөй алмаштырам:

Ата мекендик IPsec VPN боюнча 1.5 схемалар. Демолорду сыноо

Кадам 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

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 туннели иштеп жатат:

Ата мекендик IPsec VPN боюнча 1.5 схемалар. Демолорду сыноо

3-кадам. ГОСТ 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 трафик таштандысында пакеттер жок:

Ата мекендик IPsec VPN боюнча 1.5 схемалар. Демолорду сыноо

Жыйынтык: GRE-over-IPsec схемасы туура иштейт.

1.5-сүрөт: IPsec-over-GRE

Мен тармакта IPsec-over-GRE колдонууну пландаган жокмун. Мен каалагандыктан чогултам.

Ата мекендик IPsec VPN боюнча 1.5 схемалар. Демолорду сыноо

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де капсулдалган пакеттер:

Ата мекендик IPsec VPN боюнча 1.5 схемалар. Демолорду сыноо

Жыйынтык: IPsec-over-GRE туура иштейт.

натыйжалары

Бир чыны кофе жетиштүү болду. Мен демо версиясын алуу боюнча нускамаларды чийдим. GRE-over-IPsec конфигурацияланган жана тескерисинче орнотулган.

4.3 версиясындагы тармак интерфейстеринин картасы автоматтык! Мен дагы сынап жатам.

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


Source: www.habr.com

Комментарий кошуу