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 داخلی. آزمایش دموها

از شکل مشخص می شود که برای دریافت نسخه ی نمایشی باید:

  • نامه ای بنویسید [ایمیل محافظت شده] از آدرس شرکت؛
  • در نامه، TIN سازمان خود را مشخص کنید.
  • لیست محصولات و تعداد آنها.

دموها سه ماه اعتبار دارند. فروشنده عملکرد آنها را محدود نمی کند.

گسترش تصویر

دمو دروازه امنیتی یک تصویر ماشین مجازی است. من از 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) و کنسول سیسکو مانند (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 دارای یک بسته sniffer داخلی است - tcpdump. من یک ترافیک dump در یک فایل 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 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 طرح در 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 در کنسول دروازه مشابه سیسکو وجود ندارد. فقط در سیستم عامل وجود دارد.

من رابط 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 نام رابط در کنسول سیسکو مانند است.

من هش فایل را دوباره محاسبه می کنم:

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

SUCCESS:  Operation was successful.

اکنون رابط Tunnel0 در کنسول سیسکو مانند ظاهر شده است:

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


منبع: www.habr.com

اضافه کردن نظر