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-ի վրա: Փորձարկման ցուցադրություններ

Նկարից հետևում է, որ ցուցադրություն ստանալու համար անհրաժեշտ է.

Դեմոները գործում են երեք ամիս: Վաճառողը չի սահմանափակում դրանց ֆունկցիոնալությունը:

Ընդլայնելով պատկերը

Security Gateway-ի ցուցադրությունը վիրտուալ մեքենայի պատկեր է: Ես օգտագործում եմ 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-ի տեղադրման օրինակ պաշտոնական սցենարներից: Ես ստեղծում եմ 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 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-ի նման gateway վահանակում չկա GRE ինտերֆեյս: Այն գոյություն ունի միայն օպերացիոն համակարգում:

Ես ավելացնում եմ 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

Ես հեռացնում եմ cryptomap-ը 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


Source: www.habr.com

Добавить комментарий