Budowa wirtualnej sieci w oparciu o typowe rozwiązanie w instytucji publicznej. Część 1. Funkcjonalny szkielet sieci.

W ramach serii wpisów zbudujemy w pełni funkcjonalną wirtualną sieć w oparciu typowe rozwiązania stosowane w małych i średnich biurach. Użyte zostaną wirtualne zamienniki dla poszczególnych urządzeń sieciowych oraz darmowe rozwiązania. Realna sieć, którą zamierzam odtworzyć, oparta jest na następujących elementach. Dostawca internetu (+ drugi redundantny) –> brama sieciowa fortigate –> switche –> hosty. W sieci funkcjonuje zwirtualizowane środowisko serwerowe oparte na klastrze. Macierz, udziały sieciowe, backupy, dwa kontrolery domeny i DNSy, serwer DHCP, windows server, LDAP, logowanie do domeny, kerberos itd. Budynek 4 kondygnacyjny, switch na każdym piętrze.

Sieć zostanie zbudowana w GNS3, uruchamiane jako wirtualna maszyna KVM.

Sprawdzenie czy procesory obsługują zagnieżdżoną wirtualizację

lscpu | grep Virtualization
egrep -c '(vmx|svm)' /proc/cpuinfo

Instalacja KVM + Manager

sudo apt install qemu-kvm libvirt-daemon-system virt-manager

Dodanie użytkownika do grup

sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER

GNS3 dla KVM można ściągnąć tu: https://github.com/GNS3/gns3-gui/releases

Abu uruchomić GNS3 trzeba stworzyć nową wirtualną maszyną na podstawie 2 plików qcow2, które trzeba zamontować jako storage w opcjach VM. Dla wirtualnego środowiska przydzielono 8 rdzeni oraz 16GB ram.

File
→ New Virtual Machine

Import existing disk image

GNS3 VM-disk001.qcow2

Po otwarciu konfiguracji:

Add Hardware
→ Storage

GNS3 VM-disk002.qcow2

Bus type: VirtIO

Sieć

NIC
→ VirtIO
→ NAT (default)

Potem trzeba uruchomić wirtualną maszynę, sprawdzić przydzielone ip, i można używać GUI GNS3 przez przeglądarkę.

Założenia projektu w części 1

Topologia składa się z:

  • Cisco ASAv jako firewall i brama do Internetu (zamiast FortiGate)
  • Zamiast fizycznych switchy, przełączniki wirtualne IOSvL2:
    • Przełącznik centralny
    • Cztery przełączniki dostępowe na każdym piętrze
  • Ośmiu hostów VPCS (dla uproszczenia, realnie do 100 hostów)
  • Serwera Debian 12.6 pełniącego rolę serwera DHCP (realnie DHCP w ramach windows server)
  • Węzła NAT zapewniającego dostęp do Internetu jako ISP

Firewall i Switche dodawane są jako nody QEMU VM z plików qcow2

asav952-204.qcow2
vios_l2-adventerprisek9-m-15.2-2017032

Zasoby dla asav, 2 rdzenie 2048 MB ram

Zasoby dla IOSvL2, 1 rdzeń, 1024 MB ram.

Konfiguracja ASAv

Firewall został skonfigurowany z dwoma interfejsami:

  • Outside – połączenie do NAT
  • Inside – sieć lokalna 192.168.1.0/24

Dodatkowo skonfigurowano:

  • trasę domyślną
  • translację NAT
  • inspect icmp umożliwiający poprawne działanie pingów z sieci lokalnej

Bez inspekcji ICMP hosty mogły komunikować się z bramą, ale nie otrzymywały odpowiedzi z Internetu.

Konfiguracja interfejsu LAN:

interface GigabitEthernet0/1
 nameif inside
 security-level 100
 ip address 192.168.1.1 255.255.255.0
 no shutdown

Konfiguracja interfejsu WAN:

interface GigabitEthernet0/0
 nameif outside
 security-level 0
 ip address dhcp setroute
 no shutdown

Konfiguracja NAT:

object network LAN
 subnet 192.168.1.0 255.255.255.0
 nat (inside,outside) dynamic interface

Domyślna trasa:

route outside 0.0.0.0 0.0.0.0 <gateway>

Inspekcja ICMP:

policy-map global_policy
 class inspection_default
  inspect icmp

Zapis konfiguracji:

write memory

Diagnostyka ASAv

Sprawdzenie interfejsów:

show interface ip brief

Wyświetlenie polityk ruchu

show run policy-map

WAŻNE!!! Port e0 to Managment port. NAT i Switch muszą być podłączone do pozostałych.

Diagnostyka IOSvL2

Sprawdzenie statusu portów:

show interfaces status

Sprawdzenie interfejsów:

show ip interface brief

Sprawdzenie sąsiadów CDP:

show cdp neighbors

Sprawdzenie tablicy MAC:

show mac address-table

Opcjonalnie włączenie portów jeżeli switch nie włączył przy boocie:

conf t
interface range gi0/0 - 3
 no shutdown
interface range gi1/0 - 2
 no shutdown
end

Zapis konfiguracji:

write memory

Polecenia uruchomione na głównym switchu.

Tablica MAC po pingach hostów.

Diagnostyka VPCS

Pobranie adresu z DHCP:

dhcp

Sprawdzenie konfiguracji:

show ip

Ping bramy:

ping 192.168.1.1

Ping Internetu:

ping 8.8.8.8

Ping innych hostów w sieci.

Instalacja Debian 12.6

Debian został zainstalowany jako node QEMU VM z pliku qcow2 który można ściągnąć bezpośrednio w GUI GNS3:

Zasoby:

  • 2 vCPU
  • 4 GB RAM

Można zmniejszyć do 1 CPU i 512 MB ram jeżeli maszyna będzie tylko serwerem DHCP.

Konfiguracja statycznego IP

Plik:

sudo nano /etc/network/interfaces

Konfiguracja:

auto ens4
iface ens4 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 1.1.1.1 8.8.8.8

Restart sieci:

sudo systemctl restart networking

Sprawdzenie adresacji:

ip a

Test połączenia:

ping 192.168.1.1
ping 8.8.8.8

Instalacja DHCP Server

Instalacja:

sudo apt update
sudo apt install isc-dhcp-server -y

Wskazanie interfejsu:

sudo nano /etc/default/isc-dhcp-server
INTERFACESv4="ens4"

Konfiguracja DHCP:

sudo nano /etc/dhcp/dhcpd.conf

Przykładowa konfiguracja:

authoritative;

subnet 192.168.1.0 netmask 255.255.255.0 {

 range 192.168.1.10 192.168.1.90;

 option routers 192.168.1.1;

 option domain-name-servers 192.168.1.101;

 option domain-name "lab.local";

 default-lease-time 600;
 max-lease-time 7200;
}

Test konfiguracji:

sudo dhcpd -t

Uruchomienie usługi:

sudo systemctl restart isc-dhcp-server
sudo systemctl enable isc-dhcp-server

Sprawdzenie statusu:

sudo systemctl status isc-dhcp-server

Dzięki temu nowe hosty będą otrzymywały automatycznie adresację ip po włączeniu DHCP.

Dalszy rozwój laboratorium

W kolejnych etapach planowana jest emulacja działania prawdziwej domeny. Między innymi dodanie:

  • kontrolerów domeny DC1 i DC2 (Samba AD, LDAP, Kerberos)
  • serwerów DNS
  • serwera plików, udziałów sieciowych
  • hostów z możliwością logowania do domeny.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *