Nədən danışacağıq
Şəbəkə texnologiyalarını öyrənmək və mənimsəmək üçün praktika mütləqdir. Lakin fiziki şəbəkə avadanlıqları heç də hər kəs üçün əlçatan deyil.
Xoşbəxtlikdən XXI əsrdə yaşayırıq və virtuallaşma hər sahəyə siraət edib. Şəbəkəçilər üçün də EVE-NG, GNS3, Packet Tracer kimi virtual həllər var ki, burada bəsit ev şəbəkəsindən tutmuş, mürəkkəb data mərkəzlərinin şəbəkəsinə qədər emulyasiya etmək olar.
Bu yazıda ən geniş yayılmış şəbəkə emulyatorlarından olan EVE-NG həllini VMware virtuallaşma mühitində qaldıracağıq.
EVE-NG-nin virtual serverdə qaldırılması
EVE-NG-ni iki üsulla quraşdırmaq olar: virtual maşın kimi və ya bir-başa serverə yazmaqla. Təbii ki, serverlərin göstəriciləri daha yuxarı olduğu üçün EVE-NG-nin performansı da yuxarı olacaq. Lakin təlimatda EVE-NG VMWare Workstation-a virtual maşın kimi yazılacaq. ESXI, Proxmox, Virtual Box və digər həllər də istifadə etmək olar.
Virtual maşının yaradılması
- Bu linkdən Free EVE-NG Community Edition iso faylini yükləyirik.
- Daha sonra VMware Workstation-da yeni virtual maşın yaradırıq. Bundan sonrakı addımlar ekran şəkli qismində olacaq və bütün parametrlər şəkillərdə göstərildiyi kimi olmalıdır.





3. Növbəti addımda virtual processoru seçirik. Number of processors hissəsində PC-nin dəstəklədiyi maksimum sayı göstərin. Number of cores per processor hissəsində isə 1 yazın:

4. Bu addımda RAM yaddaşı təyin edilməlidir. RAM həcmini virtuallaşdıracağınız cihazların tələbinə görə və PC-də olan real RAM həcminə əsasən təyin edin. Məsələn, əgər Cisco Nexus cihazlarından ibarət laboratoriya qurmaq istəyirsinizsə hər bir virtual cihaz ən azı 10gb RAM tələb edir. Mənim PC-də 64 GB RAM var və 32GB ayırıram EVE-NG üçün:

5. Bu addımda şəbəkə növünü seçirik. EVE-NG PC-lər üçün Use bridged networking tipini tövsiyə edir. Bu şəbəkə tipində virtual maşın real routerdən IP əldə edir. Bu IP EVE-NG-nin idarəetmə (management) IP-sidir. Laptoplar üçün isə Use network address translation NAT şəbəkə tipi tövsiyə edilir. Əks halda, laptopun digər şəbəkəyə (Wi-Fi) qoşulacağı təqdirdə, EVE-NG-nin IP-si dəyişəcək.

6. Növbəti iki pəncərədə heç bir şey dəyişmədən disk yaradılma mərhələsinə keçirik:


7. Create a new virtual disk bəndini seçirik.

8. Bu addımda mütləq Store virtual disk as a single file bəndi seçilməlidir. Diskin həcmi ən az 200GB olmalıdır:

9. Bundan sonra iki dəfə Next basmaqla sonuncu pəncərəyə keçirik. Burada Customize Hardware düyməsinə klikləyərək öncə Processors bəndinə keçib və Set Virtualize Intel VT-x/EPT or AMD-V/RVI və Virtualize IOMMU opsiyalarını aktiv edirik. Qısaca birinci opsiya virtual maşının daxilində virtual cihaz yaratmaq imkanı verir. İkincisi isə virtual maşına fiziki maşının resurslarına birbaşa çıxış almaq imkanı verir.
“Virtualized Intel VT-x/EPT is not supported on this platform” səhvinin həlli.
EVE-NG virtual maşının qurulması zamanı bəzi hallarda “Virtualized Intel VT-x/EPT is not supported on this platform” kimi bir səhv çıxa bilər. Bunun bir neçə səbəbi ola bilər:
- Bu funksiya BIOS/UEFI səviyyəsində aktiv edilməyib
- PC-də HyperV çalışır.
Belə bir səhvlə qarşılaşsanız aşağıdakı addımları yoxlaya bilərsiniz:
Bu da nəticə verməszə Windows Security -> Device Security -> Core Isolation Details menyusuna gedib, Memory Integrity funkiyasını söndürün.
Öncə BIOS/UEFI menyusunda “Virtualization Technology” və ya “Intel Virtualization Technology” funksiyasının yanılı olub-olmadığını yoxlayın. Funksiya qoşuludursa və hələ də eyni səhv alırsınızsa növbəti addımlara keçin.
Hyper-V və əlaqədar funksiyaları söndürün. Bunun üçün “Turn Windows features on or off” menyusuna daxil olub Hyper-V, Virtual Machine Platform və Windows Hypervisor Platform funksiyalarını söndürün.
Bundan sonra da problem qalarsa CMD alətini Administrator adı ilə açıb bu komandanı yazın bcdedit /set hypervisorlaunchtype off

10. New CD/DVD (SATA) bəndində Use ISO image file bəndini seçib əvvəldə yüklədiyimiz iso faylını göstəririk:

11. Close və Finish düymələrini sıxıb virtual maşını işə salırıq.
EVE-NG-nin konfiqurasiyası
1. Install EVE-NG Community bəndini seçib Enter basın.

2. Növbəti pəncərədə sistem dilini seçirik. Digər dillər olmasına baxmayaraq, İngilis dili tövsiyə edilir:

3. Növbəti addımda klaviatura dilləri əlavə etmək olar, lakin burada heç bir dəyişiklik etmədən Enter düyməsinə basırıq.
4. Sistem bizə xəbərdarlıq edir ki, əməliyyat sistemi quraşdırılması prosesində diskdəki bütün məlumatlar silinəcək. Söhbət virtual maşının diskindən gedir. Klaviaturada yuxarı/aşağı ox işərələrindən istifadə edərək Continue bəndini seçib Enter basırıq

5. Bir neçə dəqiqə çəkən quraşdırılma prosesindən sonra VM yenidən başladılacaq və qara ekranda eve-ng login sətri əks olunacaq. Login qismində root, parol qismində isə eve yazıb sistemə daxil oluruq.

6. Bundan sonra EVE-NG Setup pəncərəsi açılır. Öncə root istifadəçisi üçün parol təyin edirik. Parolu yazıb Enter vururuq, növbəti pəncərədə də eyni parolu yazıb Enter sıxırıq.

7. Bu addımda sistem adını yazıb Enter basırıq, növbəti pəncərədə isə domen adı yazırıq, məsələn netadmin.lab:

8. Enter basdıqdan sonra IP parametrləri gəlir. Varsayılan olaraq DHCP seçilib, lakin statik təyin etməyi tövsiyə edirəm, buna görə də Static sətrinin üzərinə gəlib, Space düyməsi ilə onu işərələyib və Enter basırıq:

9. IP ünvanı yazıb Enter basırıq:

10. Növbəti pəncərədə altşəbəkə maskasını yazıb Enter basırıq:

11. Növbəti addımda isə varsayılan çıxış nöqtəsi (Default Gateway) IP-ni yazın Enter basırıq.

12. Daha sonra DNS və NTP (vacib deyil) serverlərinin IP-ləri yazılır:

13. Növbəti pəncərədə İnternetə bağlanma növü seçilir. Adətən direct connection qalır, lakin şəbəkədə proksi istifadə edirsinizsə müvafiq bəndi seçməlisiniz.

Əgər hər hansı bir addımda səhv etmisinizsə geri qayıtmaq mümkün olmayacaq. Səhvi düzəltmək üçün digər bəndləri doldurub virtual maşının yenidən başlamasını gözləyin. Daha sonra sistemə daxil olub rm -rf /opt/ovf/.configured komandasını yazın və sistemi yenidən başladın. Bu bütün sazlamaları sıfırlayacaq və konfiqurasiya prosesi yenidən başlanacaq.
Hər şey doğrudur qurulubsa sistem işə düşdükdən sonra brauzer üzərindən keçə biləcəyimiz ünvanı göstərən (Use http://) qara pəncərə açılır:

İstənilən brauzerdə bu ünvanı yazıb admin/eve login parolu ilə EVE-NG WEB interfeysinə daxil oluruq.

İlk labın yaradılması
EVE-NG-də laboratoriya “lab” olaraq təqdim edilir. Mən də məhz bu termini istifadə edəcəyəm. İlk labımızı yaratmazdan əvvəl qısaca WEB interfeyslə tanış olaq. Management menyusunda yeni istifadəçi yaratmaq olar. System menyusunda resurs istifadəsi səviyyəsi, sistem loqları kimi məlumatlar var. Information hissəsinə EVE-NG-yə adi resurslara keçid yerləşir.
Labları təyinatı üzrə qovluqlara da yığmaq olar. Məsələn, BGP lab üçün ayrıca qovluq yarada bilərik. Bunun üçün qovluğun adını yazıb Add folder düyməsinə sıxırıq.

Daha sonra qovluğun üstünə bir dəfə klikləməklə qovluğa daxil oluruq. Yeni lab yaratmaq üçün Add new lab düyməsinə sıxmaq lazımdır.

Açılan pəncərədə labın detallarını yazıb Save düyməsinə klikləyirik və sistem bizi dərhal laboratoriya səhifəsinə yönləndirir.


Burada Add an object menyu bəndini klikləməklə EVE-NG-nin dəstəklədiyi virtual avadanlıqların siyahısını görə bilərik. İstifadəyə hazır olan avadanlıq göy rənglə seçilib.

Həmin cihaza klikləməklə biz cihazı labımıza əlavə edə bilərik. Açılan pəncərədə virtual cihazın sayı, adı, şəkli, varsa ilkin konfiqurasiya faylı kimi parametrləri təyin etmək olar. Daha sonra Save düyməsini sıxaraq cihazı laba əlavə edirik.

Cihazları bir-birinə qoşmaq üçün kursoru cihazın üzərinə gətirib sol düymə ilə narıncı ştepsel işarəsini dartıb digər cihaza tərəf aparırıq.

Sol düyməni buraxdıqdan sonra aşağıdakı pəncərə açılır. Bu pəncərədə cihazları bir-birinə qoşacağımız portları seçirik.

Yeni cihazların əlavə edilməsi
Gördüyümüz kimi, ilkin olaraq sistemdə yalnız Virtual PC (VPCS) cihazı var. Digər virtual avadanlıqları bir-bir özümüz əlavə etməliyik. Cisco Catalyst 8000v timsalında bu prosesə nəzər salaq.
Qeyd: Cisco məhsulları açıq resurslarda olmadığı üçün cihazların iso və ya bin fayllarını Cisco-nun rəsmi saytından endirmək lazımdır.
1. Öncə EVE-NG-yə SSH-la daxil olub müvafiq qovluq yaradırıq. Qovluqların adı və yerləşməsi əlavə etmək istədiyimiz cihazdan asılı olaraq dəyişir. Hər bir cihaz üzrə təlimatla EVE-NG-nin rəsmi saytında tanış ola bilərsiniz. Nümunə olaraq Catalyst8000v 17.12.05a veriyasını istifadə edəcəyik:
root@eve-lab:~# mkdir /opt/unetlab/addons/qemu/c8000v-17.12.05
root@eve-lab:~# cd /opt/unetlab/addons/qemu/c8000v-17.12.05
2. Endirdiyimiz iso faylını WinSCP vasitəsilə yeni yaratdığımız qovluğa yükləyirik:
root@eve-lab:/opt/unetlab/addons/qemu/c8000v-17.12.05# ll
total 917636
drwxr-xr-x 2 root root 4096 Aug 3 16:57 ./
drwxr-xr-x 3 root root 4096 Aug 3 16:53 ../
-rw-r--r-- 1 root root 939646976 Jul 16 19:43 c8000v-universalk9.17.12.05a.iso
root@eve-lab:/opt/unetlab/addons/qemu/c8000v-17.12.05#
3. Catalyst 8000v üçün yeni virtual sərt disk yaradırıq. Bunun üçün bu komanda yazılır: /opt/qemu/bin/qemu-img create -f qcow2 virtioa.qcow2 8G
root@eve-lab:/opt/unetlab/addons/qemu/c8000v-17.12.05# /opt/qemu/bin/qemu-img create -f qcow2 virtioa.qcow2 8G
Formatting 'virtioa.qcow2', fmt=qcow2 size=8589934592 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16
root@eve-lab:/opt/unetlab/addons/qemu/c8000v-17.12.05#
4. Catalyst 8000v avadanlığını sistemdə quraşdırırıq. Bunun üçün /opt/qemu-2.2.0/bin/qemu-system-x86_64 -nographic -drive file=virtioa.qcow2,if=virtio,bus=0,unit=0,cache=none -machine type=pc-1.0,accel=kvm -serial mon:stdio -nographic -nodefconfig -nodefaults -rtc base=utc -cdrom c8000v-universalk9.17.12.05a.iso -boot order=dc -m 4096 komandasını yazırıq. -cdrom açar sözündən sonra 2-ci addımda yüklədiyimiz iso faylının adını yazmalıyıq. Bu komanda daxil edildikdən sonra quraşdırılma prosesi başlayır. Açılan pəncərədə C8000V Serial Console sətri seçilməlidir:

5. Rebooting from HD sətri çıxana qədər gözləyirik daha sonra Ctrl+a klaviş kombinasiyasını basıb buraxırıq, ardında da c düyməsini basıb qemu menyusuna çıxırıq. Burada isə quit yazıb EVE-NG CLI-na qayıdırıq.
*Aug 03 17:04:38.055: %IOSXEBOOT-4-BOOT_SRC: (rp/0): CD-ROM Boot
*Aug 03 17:04:38.078: %IOSXEBOOT-4-BOOT_CDROM: (rp/0): Using Serial console
*Aug 03 17:04:38.092: %IOSXEBOOT-4-BOOT_CDROM: (rp/0): Installing GRUB2 to /dev/bootflash
*Aug 03 17:04:38.815: %IOSXEBOOT-4-BOOT_CDROM: (rp/0): Copying image to /boot
*Aug 03 17:04:41.282: %IOSXEBOOT-4-BOOT_CDROM: (rp/0): Copying image to /bootflash
*Aug 03 17:04:43.717: %IOSXEBOOT-4-BOOT_CDROM: (rp/0): Creating grub configuration
*Aug 03 17:04:43.936: %IOSXEBOOT-4-BOOT_CDROM: (rp/0): Ejecting CD-ROM tray
*Aug 03 17:04:43.946: %IOSXEBOOT-4-BOOT_CDROM: (rp/0): CD-ROM Installation finished
*Aug 03 17:04:43.952: %IOSXEBOOT-4-BOOT_CDROM: (rp/0): Rebooting from HD
(qemu)quit
6. Yükədiyimiz iso faylını qovluqdan silirik:
root@eve-lab:/opt/unetlab/addons/qemu/c8000v-17.12.05# rm c8000v-universalk9.17.12.05a.iso
7. Sonda isə yeni yaradılan qovluq və fayllara müxtəlif icazələr təyin olunmalıdır. Bunun üçün fixpermissions comandsından istifadə olunur: /opt/unetlab/wrappers/unl_wrapper -a fixpermissions
root@eve-lab:/opt/unetlab/addons/qemu/c8000v-17.12.05# /opt/unetlab/wrappers/unl_wrapper -a fixpermissions
Bundan sonra cihazlar siyahısında Cisco Catalyst 8000v göy rənglə seçilir və biz onu labımıza əlavə edə bilərik:

Virtual şəbəkə ilə SSH bağlantısının qurulması
Hazırda bizim topologiya aşağıdakı kimidir:

Gördüyünüz kimi 3 ədəd routerimiz var: WAN, R1, R2. Başlanğıcda labdakı cihazlara yalnız konsol ilə qoşulmaq olur. Lakin bu o qədər də rahat deyil. Bundan əlavə, avtomatlaşdırma kimi tapşırıqlar üçün mütləq SSH protokolu ilə bağlantı olmalıdır.
WAN routerinə SSH ilə qoşulma
WAN routeri lab nöqteyi nəzərindən xariclə bağlantısı olan yeganə routerdir. Topologiyadakı digər avadanlıqlara məhz bu router üzərindən bağlanacağıq. Amma öncə WAN routerin özünə SSH ilə qoşulmanı təmin edək.
1. Add an object menyusundan Network bəndini seçirik. Açılan pəncərədə Type olaraq Management Cloud0 seçirik. Bu bir növ yazının əvvəlində gördüyümüz VMware-nin bridged network növünə bənzəyir. Buna bağlanan cihaz real routerdən IP əldə edə bilir.
2. Daha sonra WAN routerinin Gi1 portunu ManagementCloud-a qoşuruq. Fikir verin, avadanlıqlarımız hələ işlək deyil. Səbəb isə işə düşən avadanlıqlar arasında bağlantı qura bilməməyimizdir. Çox güman ki, bu ödənişsiz EVE-NG versiyasının “özəlliyidir”:

3. İndi WAN cihazını işə salsaq və Gi1 interfeysinin DHCP-dən IP almaq üçün konfiqurasiya etsək, router real şəbəkədən IP alacaq və biz ona qoşula biləcəyik. Bəs digər cihazlar? Nəzəri olaraq onlar da real şəbəkədən IP ala bilər. Lakin real şəbəkədə IP ünvanlarımızı israf etməmək üçün qalan iki router hub üzərindən WAN routerinə bağlanacaq. Bunun üçün Add an object menyusundan Network bəndini seçib Type hissəsində bridge seçirik. İstəsəniz avadanlığın şəklini dəyişdirə bilərsiniz.

Nəticədə topologiyamız belə görünür:

Gəlin avadanlıqları işə salaq və öncə WAN routerinə SSH ilə qoşulmanı yoxlayaq. Dediyim kimi, ilk qoşulma konsol ilə olacaq və ilkin konfiqurasiya konsol ilə aparılacaq. Konsol ilə cihaza qoşulmaq üçün cihazın üstünə iki dəfə klikləmək kifayətdir.
Qeyd: Windows əməliyyat sistemi ilə EVE-NG arasında inteqrasiya yaratmaq üçün Windows Client Pack quraşdırılmalıdır. Faylı EVE-NG saytından yükləyə bilərsiniz.
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname WAN
WAN(config)#int gi1
WAN(config-if)#ip address dhcp
WAN(config-if)#no shutdown
*Aug 3 17:45:27.736: %DHCP-6-ADDRESS_ASSIGN: Interface GigabitEthernet1 assigned DHCP address 192.168.10.29, mask 255.255.255.0, hostname Router
WAN routeri mənim daxili şəbəkəmdən IP əldə etdi. İndi isə SSH konfiqurasiyasını tamamlayıb WAN routerinə SSH ilə qoşulmağa cəhd edək:
WAN(config)#ip domain name netadmin.lab
WAN(config)#username admin privilege 15 secret Venus2025!
WAN(config)#crypto key generate rsa general-keys modulus 2048
WAN(config)#line vty 0 15
WAN(config-line)#transport input ssh
WAN(config-line)#login local
Loqdan göründüyü kimi SSH bağlantımız uğurlu oldu:
*Aug 3 17:51:59.457: %SSH-5-SSH2_USERAUTH: User 'admin' authentication for SSH2 Session from 192.168.10.10 (tty = 0) using crypto cipher 'aes256-ctr', hmac '[email protected]' Succeeded
WAN routeri isə İnternetə çıxa bilir:
WAN#ping 8.8.8.8
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/30/36 ms
WAN#
LAN routerlara SSH ilə qoşulma
İndi də topologiyamızdakı digər cihazlarla bağlantını təmin edək. Bunun üçün WAN routerinin Gi2 interfeysinə 172.30.30.0/24 şəbəkəsindən bir IP verək. Bu bizim topologiyanın idarəetmə altşəbəkəsi olacaq.
WAN(config)#int gi2
WAN(config-if)#ip address 172.30.30.1 255.255.255.0
WAN(config-if)#no sh
WAN(config-if)#
Daha sonra R1 routerində bir management VRF yaradaq. VRF vacib olmasa da, idarəetməni digər trafikdən ayırmaq tövsiyə edilir. R1-in Gi1 interfeysini bu VRF-ə əlavə edib 172.30.30.0/24 şəbəkəmizdən IP verək və WAN ilə bağlantını yoxlayaq.
R1(config)#vrf definition management
R1(config-vrf)#address-family ipv4 unicast
R1(config-vrf-af)#exit
R1(config-vrf)#exit
R1(config)#int gi1
R1(config-if)#vrf forwarding management
R1(config-if)#ip address 172.30.30.2 255.255.255.0
R1(config-if)#no sh
R1#ping vrf management 172.30.30.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.30.30.1, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/4 ms
R1#
İki router arasında bağlantımız var. SSH konfiqurasiyasını edib bu dəfə də R1-ə SSH ilə qoşulmağa çalışaq. MobaXTerm deyir bağlantı yoxdur:

ping ilə yoxlayaq:
C:\Users\Root>ping 172.30.30.2
Pinging 172.30.30.2 with 32 bytes of data:
Reply from 84.116.254.140: Destination net unreachable.
Reply from 84.116.254.140: Destination net unreachable.
Reply from 84.116.254.140: Destination net unreachable.
Reply from 84.116.254.140: Destination net unreachable.
Ping statistics for 172.30.30.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
C:\Users\Root>
Deməli nəsə marşrutlama ilə bağlıdır. Bizim PC virtual şəbəkəmizi görmür. Bunun aradan qaldırmaq üçün CMD aləti Administrator rejimində (Run as Administrator) açılır və aşağıdakı komanda yazılır:
C:\Windows\System32>route ADD 172.30.30.0 MASK 255.255.255.0 192.168.10.29 -p
OK!
C:\Windows\System32>route print | findstr 172.30
172.30.30.0 255.255.255.0 192.168.10.29 192.168.10.10 36
172.30.30.0 255.255.255.0 192.168.10.29 1
C:\Windows\System32>
Təbii ki, R1 routeri də geriyə yolu bilməlidir. Bunun üçün varsayılan marşrut yazaq:
R1#conf t
R1#(config)#ip route vrf management 0.0.0.0 0.0.0.0 172.30.30.1
Bağlantını yoxlayaq:
C:\Users\Root>ping 172.30.30.2
Pinging 172.30.30.2 with 32 bytes of data:
Reply from 172.30.30.2: bytes=32 time=36ms TTL=254
Reply from 172.30.30.2: bytes=32 time=1ms TTL=254
Reply from 172.30.30.2: bytes=32 time=1ms TTL=254
Reply from 172.30.30.2: bytes=32 time<1ms TTL=254
Ping statistics for 172.30.30.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 36ms, Average = 9ms
C:\Users\Root>
Bir daha SSH ilə qoşulmağa cəhd edək:

Viola! İşlədi!
Xülasə
Bu dəfə EVE-NG emulyatorunun quraşdırılması və sadə bir labın yaradılmasını izah etdim. EVE-NG həqiqətən kifayət qədər güclü bir həlldir və demək olar bütün məlum vendorların cihazlarını dəstəkləyir.
netadmin.az IT haqqında Azərbaycan dilində