1/1
</> Retelistica
Retelistica
Curs Avansat de Retelistica¶
Nivel CCNA / CCNP — Switching, Routing, Securitate și Automatizare¶
Cuprins¶
- Modelul OSI și stiva TCP/IP
- Ethernet, cadre și adresare MAC
- Switching — fundamente și VLAN-uri
- Spanning Tree Protocol (STP) și evoluții
- EtherChannel și agregarea legăturilor
- Inter-VLAN Routing
- Adresare IPv4 — subnetting avansat
- IPv6 — adresare și tranziție
- Protocoale de rutare — concepte și clasificare
- Rutare statică și rutare implicită
- OSPF (Open Shortest Path First)
- EIGRP (Enhanced Interior Gateway Routing Protocol)
- BGP (Border Gateway Protocol)
- Redundanță la nivel gateway — HSRP, VRRP, GLBP
- ACL-uri (Access Control Lists)
- NAT și PAT
- DHCP și DNS
- Securitatea porturilor și 802.1X
- VPN-uri — IPsec, GRE, DMVPN
- Wireless LAN (WLAN) — 802.11
- QoS (Quality of Service)
- Managementul și monitorizarea rețelei
- Automatizare și programabilitate (NetDevOps)
- Troubleshooting sistematic
1. Modelul OSI și stiva TCP/IP¶
1.1 Cele 7 nivele OSI corelate cu TCP/IP¶
OSI Model TCP/IP Model Protocoale / Exemple PDU
─────────────────────────────────────────────────────────────────────────────
7. Application ┐ HTTP, HTTPS, FTP, SSH,
6. Presentation ├─► Application DNS, DHCP, SNMP, SMTP, Date
5. Session ┘ TLS/SSL, NTP, TFTP
4. Transport ──► Transport TCP, UDP, SCTP Segment/
Datagramă
3. Network ──► Internet IPv4, IPv6, ICMP, ICMPv6, Pachet
ARP, OSPF, EIGRP, BGP
2. Data Link ──► Network Access Ethernet (802.3), Wi-Fi Cadru
(802.11), PPP, HDLC, (Frame)
Frame Relay, 802.1Q
1. Physical ──► (inclus în Cabluri (UTP, fibră), Biți
Network Access) Conectori (RJ-45, SFP),
Semnale electrice/optice
1.2 Încapsularea datelor¶
Aplicație generează DATE
│
┌────▼──────────────────────────┐
│ Transport: + header TCP/UDP │ → Segment
│ (port sursă, port dest, │
│ seq nr, ack nr, flags) │
├───────────────────────────────┤
│ Network: + header IP │ → Pachet
│ (IP sursă, IP dest, TTL, │
│ protocol, checksum) │
├───────────────────────────────┤
│ Data Link: + header + trailer │ → Cadru (Frame)
│ (MAC sursă, MAC dest, │
│ Type/Length, FCS) │
├───────────────────────────────┤
│ Physical: conversie în biți │ → Biți pe mediu
└───────────────────────────────┘
Decapsularea: procesul invers la destinație.
1.3 TCP vs. UDP¶
| Caracteristică | TCP | UDP |
|---|---|---|
| Conexiune | Orientat pe conexiune (3-way HS) | Fără conexiune |
| Fiabilitate | Garantată (ACK, retransmisie) | Best-effort |
| Ordine | Garantată (sequence numbers) | Nu garantată |
| Control flux | Da (sliding window) | Nu |
| Control congestie | Da (slow start, AIMD) | Nu |
| Header | 20–60 bytes | 8 bytes |
| Utilizare | HTTP, SSH, FTP, SMTP, BGP | DNS, DHCP, VoIP, video, NTP |
TCP Three-Way Handshake:
Client Server
│── SYN (seq=100) ──────►│
│◄── SYN-ACK (seq=300, │
│ ack=101) ───────────│
│── ACK (seq=101, │
│ ack=301) ──────────►│
│ Conexiune stabilită │
TCP Four-Way Teardown:
Client Server
│── FIN ────────────────►│
│◄── ACK ────────────────│
│◄── FIN ────────────────│
│── ACK ────────────────►│
│ Conexiune închisă │
2. Ethernet, cadre și adresare MAC¶
2.1 Formatul cadrului Ethernet II (DIX)¶
┌──────────┬──────────┬──────────┬──────────────────┬─────┐
│ Preamble │ Dest MAC │ Src MAC │ EtherType │ FCS │
│ 8 bytes │ 6 bytes │ 6 bytes │ 2 bytes │4 B │
│ │ │ │ │ │
│ 10101011 │ FF:FF:FF:│ AA:BB:CC:│ 0x0800 = IPv4 │CRC32│
│ (sync) │ FF:FF:FF │ DD:EE:FF │ 0x0806 = ARP │ │
│ │(broadcast│ │ 0x86DD = IPv6 │ │
│ │ sau │ │ 0x8100 = 802.1Q │ │
│ │ unicast) │ │ │ │
└──────────┴──────────┴──────────┴──────────────────┴─────┘
│ Payload │
│ 46–1500 bytes │
│ (MTU standard) │
2.2 Adrese MAC¶
Format: XX:XX:XX:YY:YY:YY (48 biți = 6 octeți)
────────── ──────────
OUI NIC
(vendor) (unic per dispozitiv)
Tipuri:
Unicast: bitul LSB al primului octet = 0
Ex: 00:1A:2B:3C:4D:5E
Multicast: bitul LSB al primului octet = 1
Ex: 01:00:5E:xx:xx:xx (IPv4 multicast)
Broadcast: FF:FF:FF:FF:FF:FF
Ajunge la TOATE dispozitivele din LAN
2.3 ARP (Address Resolution Protocol)¶
Problema: știm IP-ul destinației, dar avem nevoie de MAC-ul ei.
1. Host A vrea să trimită la 192.168.1.10
2. A verifică ARP cache (arp -a). Nu găsește.
3. A trimite ARP Request (broadcast FF:FF:FF:FF:FF:FF):
"Cine are IP 192.168.1.10? Răspundeți la MAC AA:BB:CC:DD:EE:FF"
4. Host B (192.168.1.10) răspunde cu ARP Reply (unicast):
"192.168.1.10 este la MAC 11:22:33:44:55:66"
5. A memorează asocierea în ARP cache (TTL tipic: 120-300 sec)
6. A trimite cadrul cu MAC destinație 11:22:33:44:55:66
! Verificare ARP pe router Cisco:
show arp
show ip arp
! Pe Linux:
ip neigh show
arp -a
3. Switching — fundamente și VLAN-uri¶
3.1 Funcționarea switch-ului Layer 2¶
Switch-ul menține o tabelă MAC (CAM Table):
┌───────────────┬───────────┬──────────┐
│ MAC Address │ Interface │ VLAN │
├───────────────┼───────────┼──────────┤
│ AA:BB:CC:11.. │ Gi0/1 │ 10 │
│ AA:BB:CC:22.. │ Gi0/2 │ 10 │
│ DD:EE:FF:33.. │ Gi0/3 │ 20 │
└───────────────┴───────────┴──────────┘
Procesul de forwarding:
1. Cadrul ajunge pe portul X
2. Switch-ul ÎNVAȚĂ MAC-ul sursă → asociază cu portul X
3. Verifică MAC destinație în tabelă:
a) Găsit (known unicast) → FORWARD doar pe portul asociat
b) Negăsit (unknown unicast) → FLOOD pe toate porturile din același VLAN
c) Broadcast (FF:FF:FF:FF:FF:FF) → FLOOD pe toate porturile din VLAN
d) Multicast → FLOOD sau conform tabelei IGMP snooping
3.2 VLAN-uri (Virtual LANs)¶
VLAN-urile segmentează logic o rețea fizică în mai multe domenii de broadcast separate.
Fără VLAN-uri: Cu VLAN-uri:
┌──────────────────┐ ┌──────────────────┐
│ Un singur │ │ VLAN 10 (Sales) │
│ domeniu de │ │ PC1──┐ │
│ broadcast │ │ PC2──┤ │
│ TOȚI văd TOTUL │ │ │ │
│ PC1 PC2 PC3 PC4 │ │ VLAN 20 (Eng) │
│ (security risk, │ │ PC3──┤ │
│ broadcast storm)│ │ PC4──┘ │
└──────────────────┘ └──────────────────┘
Broadcast VLAN 10
NU ajunge la VLAN 20
3.3 Configurare VLAN pe Cisco IOS¶
! Creare VLAN-uri
Switch(config)# vlan 10
Switch(config-vlan)# name Sales
Switch(config-vlan)# exit
Switch(config)# vlan 20
Switch(config-vlan)# name Engineering
Switch(config-vlan)# exit
Switch(config)# vlan 99
Switch(config-vlan)# name Management
! Asignare port la VLAN (access port)
Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# no shutdown
! Configurare trunk (legătură inter-switch care transportă mai multe VLAN-uri)
Switch(config)# interface GigabitEthernet0/24
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 10,20,99
Switch(config-if)# switchport trunk native vlan 99
! Verificare
Switch# show vlan brief
Switch# show interfaces trunk
Switch# show mac address-table
Switch# show interfaces GigabitEthernet0/1 switchport
3.4 802.1Q Trunking¶
Cadru 802.1Q (VLAN Tagged):
┌──────────┬──────────┬───────────────┬──────────┬─────────┬─────┐
│ Dest MAC │ Src MAC │ 802.1Q Tag │EtherType │ Payload │ FCS │
│ 6 bytes │ 6 bytes │ 4 bytes │ 2 bytes │ │4 B │
└──────────┴──────────┴───────┬───────┴──────────┴─────────┴─────┘
│
┌─────────┴─────────┐
│ TPID │PRI│CFI│VID │
│0x8100 │3b │1b │12b │
│ │ │ │ │
│(marker │QoS│ │VLAN│
│ 802.1Q)│ │ │ID │
│ │ │ │0- │
│ │ │ │4095│
└────────┴───┴───┴────┘
Native VLAN: cadre netag-uite pe trunk (implicit VLAN 1).
Recomandare securitate: schimbă native VLAN la altceva decât VLAN 1.
4. Spanning Tree Protocol (STP) și evoluții¶
4.1 Problema buclelor la Layer 2¶
Fără STP, topologiile redundante creează:
- Broadcast storm: cadre broadcast circulă la infinit, saturând rețeaua
- Instabilitate MAC table: switch-urile văd același MAC pe porturi diferite
- Cadre duplicate: aplicațiile primesc date duplicate
4.2 Funcționarea STP (802.1D)¶
1. Alege Root Bridge (switch-ul cu cel mai mic Bridge ID)
Bridge ID = Priority (4 biți) + VLAN ID (12 biți) + MAC Address
Default priority = 32768
2. Fiecare non-root switch alege Root Port
(portul cu costul cel mai mic până la Root Bridge)
3. Pe fiecare segment, se alege Designated Port
(portul care oferă cea mai bună cale spre Root)
4. Toate celelalte porturi → Blocked (nu forwardează)
Costul căii (Path Cost):
10 Gbps → cost 2
1 Gbps → cost 4
100 Mbps → cost 19
10 Mbps → cost 100
Stări porturi STP (802.1D):
Blocking → Listening → Learning → Forwarding
(20s) (15s) (15s)
Total convergență: ~30-50 secunde!
BPDU (Bridge Protocol Data Unit):
- Trimise la fiecare 2 secunde (Hello Timer)
- Max Age: 20 secunde
- Forward Delay: 15 secunde (Listening + Learning)
4.3 Rapid Spanning Tree (RSTP — 802.1w)¶
! RSTP converge în 1-3 secunde (vs. 30-50s STP)
! Stări simplificate: Discarding, Learning, Forwarding
! Tipuri de porturi RSTP:
! Root Port — calea cea mai bună spre root (ca STP)
! Designated Port — portul forward pe segment
! Alternate Port — backup pentru Root Port (era Blocked în STP)
! Backup Port — backup pentru Designated Port pe același segment
! Configurare RSTP pe Cisco:
Switch(config)# spanning-tree mode rapid-pvst
! Setare prioritate Root Bridge (valoarea cea mai mică devine root):
Switch(config)# spanning-tree vlan 10 root primary
! sau explicit:
Switch(config)# spanning-tree vlan 10 priority 4096
! Portfast (trece direct în Forwarding — DOAR pe porturi de acces!):
Switch(config)# interface range Gi0/1 - 24
Switch(config-if-range)# spanning-tree portfast
Switch(config-if-range)# spanning-tree bpduguard enable
! BPDU Guard la nivel global:
Switch(config)# spanning-tree portfast bpduguard default
4.4 MST (Multiple Spanning Tree — 802.1s)¶
MST permite gruparea mai multor VLAN-uri într-o singură instanță STP, reducând numărul de calcule:
! Exemplu: 100 de VLAN-uri, 2 instanțe MST
! Instanța 1: VLAN 1-50 → Root Bridge = SW1
! Instanța 2: VLAN 51-100 → Root Bridge = SW2
! → Load balancing între switch-uri
Switch(config)# spanning-tree mode mst
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# name CAMPUS
Switch(config-mst)# revision 1
Switch(config-mst)# instance 1 vlan 1-50
Switch(config-mst)# instance 2 vlan 51-100
Switch(config-mst)# exit
Switch(config)# spanning-tree mst 1 root primary
5. EtherChannel și agregarea legăturilor¶
5.1 Concept¶
EtherChannel combină 2–8 legături fizice într-o singură legătură logică, oferind redundanță și bandwidth agregat.
Fără EtherChannel: Cu EtherChannel:
Switch A ════╗ Switch A ════╗
║ 1 Gbps (STP ╠══ Port-Channel1
Switch B ════╝ blochează restul) Switch B ════╝ 4 × 1 Gbps = 4 Gbps
(load balanced, fault tolerant)
5.2 Protocoale de negociere¶
| Protocol | Standard | Moduri | Observații |
|---|---|---|---|
| LACP | 802.3ad | Active / Passive | Standard deschis, recomandat |
| PAgP | Cisco | Desirable / Auto | Proprietar Cisco |
| Static | — | On / On | Fără negociere, riscant |
5.3 Configurare EtherChannel LACP¶
! Switch A:
Switch-A(config)# interface range GigabitEthernet0/1 - 4
Switch-A(config-if-range)# channel-group 1 mode active
Switch-A(config-if-range)# exit
Switch-A(config)# interface Port-channel1
Switch-A(config-if)# switchport trunk encapsulation dot1q
Switch-A(config-if)# switchport mode trunk
Switch-A(config-if)# switchport trunk allowed vlan 10,20,99
! Switch B:
Switch-B(config)# interface range GigabitEthernet0/1 - 4
Switch-B(config-if-range)# channel-group 1 mode passive ! (sau active)
! ...
! Load balancing method:
Switch(config)# port-channel load-balance src-dst-ip
! Verificare:
Switch# show etherchannel summary
Switch# show etherchannel port-channel
Switch# show lacp neighbor
6. Inter-VLAN Routing¶
6.1 Router-on-a-Stick¶
Un singur port fizic al router-ului transportă mai multe VLAN-uri pe un trunk, cu subinterfețe:
Trunk 802.1Q
Switch ══════════════════ Router
│ │
│ Gi0/1 (trunk) Gi0/0 (trunk)
│ VLAN 10,20 │
├─ Gi0/0.10 → 192.168.10.1/24 (VLAN 10)
└─ Gi0/0.20 → 192.168.20.1/24 (VLAN 20)
! Configurare router:
Router(config)# interface GigabitEthernet0/0
Router(config-if)# no shutdown
Router(config)# interface GigabitEthernet0/0.10
Router(config-subif)# encapsulation dot1Q 10
Router(config-subif)# ip address 192.168.10.1 255.255.255.0
Router(config)# interface GigabitEthernet0/0.20
Router(config-subif)# encapsulation dot1Q 20
Router(config-subif)# ip address 192.168.20.1 255.255.255.0
6.2 Layer 3 Switch (SVI — Switch Virtual Interface)¶
! Pe un switch Layer 3 (ex: Catalyst 3650/3850/9000):
Switch(config)# ip routing ! Activează rutarea
Switch(config)# interface vlan 10
Switch(config-if)# ip address 192.168.10.1 255.255.255.0
Switch(config-if)# no shutdown
Switch(config)# interface vlan 20
Switch(config-if)# ip address 192.168.20.1 255.255.255.0
Switch(config-if)# no shutdown
! Avantaj: rutarea se face în hardware (ASIC), mult mai rapid
! decât router-on-a-stick (care rutează în software pe CPU)
7. Adresare IPv4 — subnetting avansat¶
7.1 Structura adresei IPv4¶
Adresă IPv4: 32 biți = 4 octeți
192.168.10.50 = 11000000.10101000.00001010.00110010
Notație CIDR: 192.168.10.0/24
Mască: 255.255.255.0 = 11111111.11111111.11111111.00000000
├── Network (24 biți) ──┤├ Host ┤
7.2 Subnetting — metodă rapidă¶
/24 → 256 adrese, 254 hosturi utilizabili (-.0 network, -.255 broadcast)
/25 → 128 adrese, 126 hosturi | 2 subrețele din /24
/26 → 64 adrese, 62 hosturi | 4 subrețele din /24
/27 → 32 adrese, 30 hosturi | 8 subrețele din /24
/28 → 16 adrese, 14 hosturi | 16 subrețele din /24
/29 → 8 adrese, 6 hosturi | 32 subrețele (link-uri router-to-router)
/30 → 4 adrese, 2 hosturi | 64 subrețele (point-to-point links)
/31 → 2 adrese, 2 hosturi | RFC 3021 (point-to-point, fără broadcast)
/32 → 1 adresă, 0 hosturi | Loopback, host route
Formula: hosturi_utilizabili = 2^(32-prefix) - 2
Exemplu: subnetare 10.1.0.0/16 în subrețele /22
Pas = 2^(32-22) = 1024 adrese per subrețea = 1022 hosturi
10.1.0.0/22 (10.1.0.1 – 10.1.3.254)
10.1.4.0/22 (10.1.4.1 – 10.1.7.254)
10.1.8.0/22 (10.1.8.1 – 10.1.11.254)
...
VLSM (Variable Length Subnet Masking):
Subrețele de dimensiuni diferite din același bloc.
Exemplu: /24 pentru LAN, /30 pentru WAN, /32 pentru loopback.
7.3 Adrese private (RFC 1918) și speciale¶
10.0.0.0/8 (10.0.0.0 – 10.255.255.255) Clasa A privată
172.16.0.0/12 (172.16.0.0 – 172.31.255.255) Clasa B privată
192.168.0.0/16 (192.168.0.0 – 192.168.255.255) Clasa C privată
127.0.0.0/8 Loopback
169.254.0.0/16 Link-local (APIPA — auto-configurare fără DHCP)
0.0.0.0/0 Default route (orice destinație)
255.255.255.255 Limited broadcast
8. IPv6 — adresare și tranziție¶
8.1 Formatul adresei IPv6¶
128 biți = 8 grupuri de 4 cifre hexazecimale
Complet: 2001:0db8:0000:0000:0000:0000:0000:0001
Scurt: 2001:db8::1 (:: înlocuiește secvențe de zerouri)
Prefix tipic: /64 (primii 64 biți = network, ultimii 64 = interface ID)
Tipuri de adrese:
Global Unicast: 2000::/3 (echivalent adresă publică IPv4)
Link-Local: fe80::/10 (autoconfigurare, obligatoriu pe fiecare interfață)
Unique Local: fc00::/7 (echivalent RFC 1918, privat)
Multicast: ff00::/8 (înlocuiește broadcast-ul)
ff02::1 All-nodes (echivalent broadcast)
ff02::2 All-routers
ff02::5 OSPF routers
ff02::a EIGRP routers
Loopback: ::1/128
Unspecified: ::/128
8.2 Configurare IPv6¶
! Activare IPv6 routing:
Router(config)# ipv6 unicast-routing
! Configurare interfață:
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ipv6 address 2001:db8:1::1/64
Router(config-if)# ipv6 address fe80::1 link-local
Router(config-if)# no shutdown
! Verificare:
Router# show ipv6 interface brief
Router# show ipv6 route
Router# show ipv6 neighbors ! Echivalent ARP → NDP (Neighbor Discovery)
9. Protocoale de rutare — concepte și clasificare¶
9.1 Clasificare¶
Protocoale de rutare
├── IGP (Interior Gateway Protocol) — într-un singur AS
│ ├── Distance Vector
│ │ ├── RIP (v1, v2) — metric: hop count (max 15), lent
│ │ └── EIGRP — metric compus (bandwidth, delay), rapid
│ │
│ └── Link State
│ ├── OSPF — metric: cost (bazat pe bandwidth), standard
│ └── IS-IS — metric: cost configurabil, folosit în ISP-uri
│
└── EGP (Exterior Gateway Protocol) — între AS-uri
└── BGP — Path Vector, metric: atribute multiple, Internet backbone
9.2 Distanța administrativă (AD)¶
Când mai multe surse oferă rute către aceeași destinație, routerul preferă sursa cu AD cel mai mic:
| Sursă | AD |
|---|---|
| Connected | 0 |
| Static | 1 |
| EIGRP Summary | 5 |
| eBGP | 20 |
| EIGRP (internal) | 90 |
| OSPF | 110 |
| IS-IS | 115 |
| RIP | 120 |
| EIGRP (external) | 170 |
| iBGP | 200 |
10. Rutare statică și rutare implicită¶
! Rută statică:
Router(config)# ip route 192.168.20.0 255.255.255.0 10.0.0.2
! [destinație] [mască] [next-hop]
! sau:
Router(config)# ip route 192.168.20.0 255.255.255.0 GigabitEthernet0/1
! [interfață de ieșire]
! Default route (gateway of last resort):
Router(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.1
! Rută statică floating (backup — AD mai mare decât protocolul principal):
Router(config)# ip route 192.168.20.0 255.255.255.0 10.0.0.6 200
! ^AD=200
! IPv6 static:
Router(config)# ipv6 route 2001:db8:2::/64 2001:db8:1::2
Router(config)# ipv6 route ::/0 2001:db8:1::1 ! Default IPv6
! Verificare:
Router# show ip route
Router# show ip route static
Router# show ipv6 route
11. OSPF (Open Shortest Path First)¶
11.1 Caracteristici OSPF¶
Tip: Link-State IGP
Standard: RFC 2328 (OSPFv2 pentru IPv4), RFC 5340 (OSPFv3 pentru IPv6)
Metric: Cost = Reference BW / Interface BW
(default ref BW = 100 Mbps → 10G și 1G au cost 1 ambele!)
Algoritm: Dijkstra (Shortest Path First)
Multicast: 224.0.0.5 (All OSPF Routers), 224.0.0.6 (DR/BDR)
Protocol: IP 89
AD: 110
Convergență: Rapidă (secunde)
Scalabilitate: Foarte bună (cu design corect al ariilor)
11.2 Arhitectura ierarhică OSPF (arii)¶
Area 0 (Backbone)
┌────────────────────┐
│ ABR1 ABR2 │
│ ┌──┐ ┌──┐ │
┌──┤ │R1│────────│R2│ ├──┐
│ │ └──┘ └──┘ │ │
│ └────────────────────┘ │
│ │
┌────┴─────┐ ┌──────┴────┐
│ Area 1 │ │ Area 2 │
│ │ │ │
│ R3──R4 │ │ R5──R6 │
│ (intern) │ │ (intern) │
└──────────┘ └───────────┘
ABR = Area Border Router (conectează 2 arii, una obligatoriu Area 0)
ASBR = Autonomous System Boundary Router (redistribuie rute externe)
Tipuri arii:
Normal: Primește toate tipurile de LSA
Stub: Nu primește rute externe (Type 5) → default route de la ABR
Totally Stub: Nu primește nici rute inter-area (Type 3) → doar default
NSSA: Stub dar permite redistribuire locală (Type 7 LSA)
11.3 Tipuri de rețele OSPF și alegerea DR/BDR¶
Broadcast (Ethernet):
- Alege DR (Designated Router) și BDR (Backup DR)
- Restul routerelor: DROTHER
- DR-ul reduce numărul de adiacențe: full mesh → hub-spoke
- Alegere: cel mai mare priority (default 1), apoi cel mai mare Router ID
Point-to-Point (serial, tunnel):
- Nu alege DR/BDR (doar 2 routere)
- Adiacență directă
Configurare OSPF network type:
Router(config-if)# ip ospf network point-to-point
Router(config-if)# ip ospf network broadcast
11.4 Configurare OSPF completă¶
! === Single-Area OSPF ===
Router(config)# router ospf 1 ! Process ID (local)
Router(config-router)# router-id 1.1.1.1 ! Router ID explicit
Router(config-router)# auto-cost reference-bandwidth 10000 ! 10 Gbps ref
Router(config-router)# passive-interface default ! Toate pasive implicit
Router(config-router)# no passive-interface Gi0/0 ! Activează OSPF pe trunk
Router(config-router)# no passive-interface Gi0/1
! Activare OSPF pe interfețe (metodă nouă, pe interfață):
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip ospf 1 area 0
Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip ospf 1 area 0
Router(config)# interface Loopback0
Router(config-if)# ip address 1.1.1.1 255.255.255.255
Router(config-if)# ip ospf 1 area 0
! === Multi-Area OSPF ===
! ABR (Area Border Router):
ABR(config)# interface Gi0/0
ABR(config-if)# ip ospf 1 area 0 ! Backbone
ABR(config)# interface Gi0/1
ABR(config-if)# ip ospf 1 area 1 ! Area internă
! Area stub:
ABR(config-router)# area 1 stub
! Pe TOATE routerele din Area 1:
R3(config-router)# area 1 stub
! Sumarizare inter-area (pe ABR):
ABR(config-router)# area 1 range 10.1.0.0 255.255.252.0
! === Verificare ===
Router# show ip ospf neighbor
Router# show ip ospf interface brief
Router# show ip ospf database
Router# show ip route ospf
Router# show ip ospf border-routers
11.5 Stările vecin OSPF (Neighbor States)¶
Down → Init → 2-Way → ExStart → Exchange → Loading → Full
Down: Niciun OSPF Hello primit
Init: Hello primit, dar nu ne-am văzut în lista de vecini
2-Way: Ambii se văd reciproc (pe broadcast: aici se alege DR/BDR)
ExStart: Se negociază master/slave pentru exchange-ul de DB
Exchange: Se trimit Database Description (DBD) packets
Loading: Se cer LSA-uri lipsă (LSR) și se primesc (LSU)
Full: Bazele de date sunt sincronizate → adiacență completă
Debugging:
Router# debug ip ospf adj
Router# show ip ospf neighbor detail
12. EIGRP (Enhanced Interior Gateway Routing Protocol)¶
12.1 Caracteristici¶
Tip: Advanced Distance Vector (hibrid)
Proprietar: Cisco (dar publicat ca RFC informativ)
Algoritm: DUAL (Diffusing Update Algorithm) — convergență rapidă
Metric: Compus din Bandwidth + Delay (default)
K1*BW + (K2*BW)/(256-load) + K3*Delay + K5/(reliability+K4)
Default: K1=1, K2=0, K3=1, K4=0, K5=0
→ Metric = BW_minim + Delay_cumulat
Multicast: 224.0.0.10
Protocol: IP 88
AD: 90 (internal), 170 (external), 5 (summary)
Convergență: Foarte rapidă (sub-secundă cu feasible successors)
12.2 Concepte DUAL¶
Successor: Cea mai bună rută (costul cel mai mic)
Feasible Distance: Distanța de la local la destinație prin successor
Feasible Successor: Rută de backup PRECOMPUTATĂ (gata de activare instant)
Reported Distance: Distanța anunțată de vecin la destinație
Condiție de Feasibility:
Un vecin este Feasible Successor dacă:
RD (al vecinului) < FD (al successor-ului curent)
→ Garantează lipsa buclelor fără a recalcula!
Exemplu:
R1 → R2 → Dest: cost 100 (Successor, FD=100)
R1 → R3 → Dest: cost 120, R3 anunță RD=60
60 < 100 → R3 este Feasible Successor!
Dacă R2 cade, R1 comută INSTANT pe R3 (fără query)
12.3 Configurare EIGRP¶
! Configurare EIGRP clasic:
Router(config)# router eigrp 100 ! AS number (trebuie identic pe toți)
Router(config-router)# eigrp router-id 1.1.1.1
Router(config-router)# network 192.168.10.0 0.0.0.255 ! Wildcard mask!
Router(config-router)# network 10.0.0.0 0.0.0.3
Router(config-router)# passive-interface GigabitEthernet0/2
Router(config-router)# no auto-summary
! Configurare EIGRP Named Mode (modern, recomandat):
Router(config)# router eigrp CAMPUS
Router(config-router)# address-family ipv4 unicast autonomous-system 100
Router(config-router-af)# eigrp router-id 1.1.1.1
Router(config-router-af)# network 192.168.10.0 0.0.0.255
Router(config-router-af)# af-interface GigabitEthernet0/2
Router(config-router-af-if)# passive-interface
Router(config-router-af-if)# exit
Router(config-router-af)# topology base
Router(config-router-af-topology)# auto-summary
Router(config-router-af-topology)# exit
! Verificare:
Router# show ip eigrp neighbors
Router# show ip eigrp topology
Router# show ip eigrp topology all-links
Router# show ip route eigrp
13. BGP (Border Gateway Protocol)¶
13.1 Concepte fundamentale¶
BGP = protocolul care ține Internetul funcțional.
Rutează între Autonomous Systems (AS) — organizații independente.
eBGP: între AS-uri diferite (AD=20)
iBGP: în cadrul aceluiași AS (AD=200)
Caracteristici:
- Path Vector protocol
- Conexiuni TCP port 179
- Convergență lentă (deliberat — stabilitate)
- Nu optimizează pentru viteză, ci pentru POLITICĂ
- Tabelă globală Internet: ~950,000+ prefixe IPv4 (2024)
AS Numbers:
Public: 1–64511, 131072–4199999999 (32-bit ASN)
Privat: 64512–65535, 4200000000–4294967294
13.2 Atributele BGP (ordinea de selecție)¶
Ordinea de selecție a celei mai bune rute BGP:
1. Weight (Cisco, local) — mai mare = mai bun (default 0, max 65535)
2. Local Preference — mai mare = mai bun (default 100)
3. Locally originated — rute generate local > primite
4. AS-Path length — mai scurt = mai bun
5. Origin — IGP < EGP < Incomplete
6. MED (Multi-Exit Discriminator) — mai mic = mai bun
7. eBGP > iBGP
8. IGP metric la next-hop — cel mai mic cost intern
9. Oldest route
10. Lowest Router ID
11. Lowest neighbor IP
Mnemonic: "We Love Oranges AS Oranges Mean Pure Refreshment"
(Weight, LP, Origin, AS-path, Origin, MED, Path, Router-ID)
13.3 Configurare BGP¶
! === eBGP peering ===
! Router R1 (AS 65001) conectat la ISP (AS 65002)
R1(config)# router bgp 65001
R1(config-router)# bgp router-id 1.1.1.1
R1(config-router)# neighbor 203.0.113.2 remote-as 65002 ! eBGP peer
R1(config-router)# network 198.51.100.0 mask 255.255.255.0 ! Anunță prefixul nostru
R1(config-router)# neighbor 203.0.113.2 description ISP-Uplink
! === iBGP peering ===
R1(config-router)# neighbor 10.0.0.2 remote-as 65001 ! iBGP (same AS)
R1(config-router)# neighbor 10.0.0.2 update-source Loopback0
R1(config-router)# neighbor 10.0.0.2 next-hop-self ! Rescrie next-hop
! === Filtrare cu prefix-list ===
R1(config)# ip prefix-list ALLOW-DEFAULT permit 0.0.0.0/0
R1(config)# ip prefix-list ALLOW-SPECIFIC permit 198.51.100.0/24
R1(config-router)# neighbor 203.0.113.2 prefix-list ALLOW-DEFAULT in
! === Route-map pentru politici complexe ===
R1(config)# route-map SET-LP permit 10
R1(config-route-map)# match ip address prefix-list PREFERRED-ISP
R1(config-route-map)# set local-preference 200
R1(config)# route-map SET-LP permit 20
! (permite restul fără modificări)
R1(config-router)# neighbor 203.0.113.2 route-map SET-LP in
! === Verificare ===
Router# show bgp summary
Router# show bgp ipv4 unicast
Router# show bgp ipv4 unicast neighbors 203.0.113.2 advertised-routes
Router# show bgp ipv4 unicast neighbors 203.0.113.2 received-routes
Router# show ip bgp
14. Redundanță la nivel gateway — HSRP, VRRP, GLBP¶
! HSRP (Hot Standby Router Protocol) — Cisco
! Virtual IP partajat între 2+ routere. Unul activ, unul standby.
R1(config)# interface Gi0/0
R1(config-if)# ip address 192.168.10.2 255.255.255.0
R1(config-if)# standby 1 ip 192.168.10.1 ! Virtual IP (gateway clienți)
R1(config-if)# standby 1 priority 110 ! Mai mare = Active
R1(config-if)# standby 1 preempt ! Reia rolul Active la revenire
R1(config-if)# standby 1 track GigabitEthernet0/1 decrement 20 ! Track uplink
R2(config)# interface Gi0/0
R2(config-if)# ip address 192.168.10.3 255.255.255.0
R2(config-if)# standby 1 ip 192.168.10.1
R2(config-if)# standby 1 priority 100 ! Standby (default)
R2(config-if)# standby 1 preempt
! Verificare:
Router# show standby brief
! VRRP (Virtual Router Redundancy Protocol) — standard IEEE
! Configurare similară dar cu comanda "vrrp" în loc de "standby"
! GLBP (Gateway Load Balancing Protocol) — Cisco
! Avantaj: load balancing ACTIV (ambele routere forwardează simultan)
15. ACL-uri (Access Control Lists)¶
15.1 Tipuri de ACL¶
Standard ACL (1-99, 1300-1999):
- Filtrează DOAR pe IP sursă
- Plasare: cât mai APROAPE de destinație
Extended ACL (100-199, 2000-2699):
- Filtrează pe: IP sursă, IP dest, protocol, port sursă, port dest
- Plasare: cât mai APROAPE de sursă
Named ACL:
- Identificate prin nume (recomandat)
- Permit editare individuală a liniilor
15.2 Configurare ACL extended¶
! Named Extended ACL:
Router(config)# ip access-list extended INTERNET-FILTER
! Permite HTTP/HTTPS din LAN spre orice
Router(config-ext-nacl)# permit tcp 192.168.10.0 0.0.0.255 any eq 443
Router(config-ext-nacl)# permit tcp 192.168.10.0 0.0.0.255 any eq 80
! Permite DNS
Router(config-ext-nacl)# permit udp 192.168.10.0 0.0.0.255 any eq 53
Router(config-ext-nacl)# permit tcp 192.168.10.0 0.0.0.255 any eq 53
! Permite ICMP (ping, traceroute)
Router(config-ext-nacl)# permit icmp any any
! Permite SSH doar de la admin
Router(config-ext-nacl)# permit tcp host 192.168.10.100 any eq 22
! Blochează tot restul (implicit la finalul oricărei ACL)
Router(config-ext-nacl)# deny ip any any log
! Aplicare pe interfață:
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip access-group INTERNET-FILTER in
! Verificare:
Router# show access-lists
Router# show ip access-lists INTERNET-FILTER
Router# show ip interface Gi0/0 | include access
16. NAT și PAT¶
NAT (Network Address Translation): traduce adrese IP private ↔ publice
! Static NAT (1:1 mapping):
Router(config)# ip nat inside source static 192.168.10.100 203.0.113.10
! Dynamic NAT (pool de adrese publice):
Router(config)# ip nat pool PUBLIC 203.0.113.10 203.0.113.20 netmask 255.255.255.224
Router(config)# access-list 1 permit 192.168.10.0 0.0.0.255
Router(config)# ip nat inside source list 1 pool PUBLIC
! PAT — Port Address Translation (overload — cel mai folosit):
! Mapează TOATE adresele interne pe O SINGURĂ adresă publică + porturi
Router(config)# access-list 1 permit 192.168.0.0 0.0.255.255
Router(config)# ip nat inside source list 1 interface GigabitEthernet0/1 overload
! Marcare interfețe:
Router(config)# interface Gi0/0
Router(config-if)# ip nat inside
Router(config)# interface Gi0/1
Router(config-if)# ip nat outside
! Verificare:
Router# show ip nat translations
Router# show ip nat statistics
Router# clear ip nat translation *
17. DHCP și DNS¶
! === DHCP Server pe router Cisco ===
Router(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.10 ! Rezervat
Router(config)# ip dhcp pool LAN-POOL
Router(dhcp-config)# network 192.168.10.0 255.255.255.0
Router(dhcp-config)# default-router 192.168.10.1
Router(dhcp-config)# dns-server 8.8.8.8 8.8.4.4
Router(dhcp-config)# domain-name company.local
Router(dhcp-config)# lease 7 ! 7 zile
! DHCP Relay (când serverul DHCP e pe alt subnet):
Router(config)# interface Gi0/0
Router(config-if)# ip helper-address 10.0.0.50 ! IP-ul serverului DHCP
! Verificare:
Router# show ip dhcp binding
Router# show ip dhcp pool
Router# show ip dhcp conflict
! === DNS ===
Router(config)# ip domain-lookup
Router(config)# ip name-server 8.8.8.8
Router(config)# ip domain-name company.local
18. Securitatea porturilor și 802.1X¶
18.1 Port Security¶
! Limitează numărul de MAC-uri pe un port (previne MAC flooding):
Switch(config)# interface Gi0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport port-security
Switch(config-if)# switchport port-security maximum 2
Switch(config-if)# switchport port-security violation restrict
! Violation modes:
! shutdown — dezactivează portul (default)
! restrict — drop + log, portul rămâne activ
! protect — drop silențios
Switch(config-if)# switchport port-security mac-address sticky
! sticky: învață automat MAC-urile și le salvează în running-config
Switch# show port-security interface Gi0/1
Switch# show port-security address
18.2 DHCP Snooping și DAI¶
! DHCP Snooping — previne rogue DHCP servers:
Switch(config)# ip dhcp snooping
Switch(config)# ip dhcp snooping vlan 10,20
! Porturile trunk și cel al serverului DHCP = trusted:
Switch(config)# interface Gi0/24
Switch(config-if)# ip dhcp snooping trust
! DAI (Dynamic ARP Inspection) — previne ARP spoofing:
Switch(config)# ip arp inspection vlan 10,20
Switch(config)# interface Gi0/24
Switch(config-if)# ip arp inspection trust
18.3 802.1X (autentificare per-port)¶
Componentele 802.1X:
Supplicant: Clientul (PC/laptop)
Authenticator: Switch-ul (controlează accesul fizic)
Auth. Server: RADIUS server (verifică credențialele)
Flux:
1. Client conectează cablul
2. Switch-ul trimite EAP-Request/Identity
3. Client răspunde cu credențiale
4. Switch relayază la RADIUS
5. RADIUS acceptă/refuză
6. Switch deschide/blochează portul
! Configurare pe switch:
Switch(config)# aaa new-model
Switch(config)# radius server ISE
Switch(config-radius-server)# address ipv4 10.0.0.50 auth-port 1812
Switch(config-radius-server)# key MyRadiusSecret
Switch(config)# aaa authentication dot1x default group radius
Switch(config)# dot1x system-auth-control
Switch(config)# interface range Gi0/1 - 24
Switch(config-if-range)# switchport mode access
Switch(config-if-range)# authentication port-control auto
Switch(config-if-range)# dot1x pae authenticator
19. VPN-uri — IPsec, GRE, DMVPN¶
19.1 IPsec Site-to-Site VPN¶
! Fazele IPsec:
! Faza 1 (IKE SA): autentificare reciprocă, negociere parametri
! - Algoritm criptare: AES-256
! - Hash: SHA-256
! - Autentificare: Pre-shared key sau certificate
! - DH Group: 14 sau 19 (ECDH)
! - Lifetime: 86400 sec (24h)
! Faza 2 (IPsec SA): negociere parametri protecție date
! - ESP (Encapsulating Security Payload) sau AH
! - Criptare: AES-256
! - Hash: SHA-256
! - PFS: DH Group 14
! - Lifetime: 3600 sec (1h)
! Configurare IKEv2 (modern):
R1(config)# crypto ikev2 proposal PROP1
R1(config-ikev2-proposal)# encryption aes-cbc-256
R1(config-ikev2-proposal)# integrity sha256
R1(config-ikev2-proposal)# group 14
R1(config)# crypto ikev2 policy POL1
R1(config-ikev2-policy)# proposal PROP1
R1(config)# crypto ikev2 keyring KR1
R1(config-ikev2-keyring)# peer SITE-B
R1(config-ikev2-keyring-peer)# address 203.0.113.2
R1(config-ikev2-keyring-peer)# pre-shared-key MySecretKey123
R1(config)# crypto ikev2 profile PROF1
R1(config-ikev2-profile)# match identity remote address 203.0.113.2
R1(config-ikev2-profile)# authentication remote pre-share
R1(config-ikev2-profile)# authentication local pre-share
R1(config-ikev2-profile)# keyring local KR1
! IPsec Transform Set:
R1(config)# crypto ipsec transform-set TSET esp-aes 256 esp-sha256-hmac
R1(cfg-crypto-trans)# mode tunnel
! Crypto Map:
R1(config)# access-list 100 permit ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
R1(config)# crypto map CMAP 10 ipsec-isakmp
R1(config-crypto-map)# set peer 203.0.113.2
R1(config-crypto-map)# set transform-set TSET
R1(config-crypto-map)# set ikev2-profile PROF1
R1(config-crypto-map)# match address 100
R1(config)# interface GigabitEthernet0/1
R1(config-if)# crypto map CMAP
! Verificare:
Router# show crypto ikev2 sa
Router# show crypto ipsec sa
Router# show crypto session
19.2 GRE over IPsec¶
! GRE creează un tunel point-to-point (suportă multicast, routing protocols)
! IPsec criptează traficul GRE
R1(config)# interface Tunnel0
R1(config-if)# ip address 10.255.0.1 255.255.255.252
R1(config-if)# tunnel source GigabitEthernet0/1
R1(config-if)# tunnel destination 203.0.113.2
R1(config-if)# tunnel protection ipsec profile IPSEC-PROF
! Acum putem rula OSPF/EIGRP peste tunel:
R1(config-if)# ip ospf 1 area 0
20. Wireless LAN (WLAN) — 802.11¶
20.1 Standardele Wi-Fi¶
| Standard | Wi-Fi | Bandă | Lățime canal | Viteză max | Anul |
|---|---|---|---|---|---|
| 802.11b | — | 2.4 GHz | 22 MHz | 11 Mbps | 1999 |
| 802.11a | — | 5 GHz | 20 MHz | 54 Mbps | 1999 |
| 802.11g | — | 2.4 GHz | 20 MHz | 54 Mbps | 2003 |
| 802.11n | Wi-Fi 4 | 2.4/5 GHz | 20/40 MHz | 600 Mbps | 2009 |
| 802.11ac | Wi-Fi 5 | 5 GHz | 20-160 MHz | 6.9 Gbps | 2013 |
| 802.11ax | Wi-Fi 6/6E | 2.4/5/6 GHz | 20-160 MHz | 9.6 Gbps | 2020 |
| 802.11be | Wi-Fi 7 | 2.4/5/6 GHz | 20-320 MHz | 46 Gbps | 2024 |
20.2 Securitate WLAN¶
Evoluție securitate:
WEP → SPART (nu mai folosi niciodată)
WPA (TKIP) → Vulnerabil
WPA2 (CCMP/AES) → Standard actual (personal=PSK, enterprise=802.1X)
WPA3 (SAE) → Cel mai sigur (Simultaneous Auth of Equals, forward secrecy)
Moduri:
WPA2-Personal: Pre-shared Key (parolă partajată) — SOHO
WPA2-Enterprise: 802.1X + RADIUS — corporații
WPA3-Personal: SAE (mai rezistent la dictionary attack)
WPA3-Enterprise: 192-bit security suite
20.3 Arhitecturi WLAN¶
Autonomous AP: Fiecare AP configurat individual (SOHO, mic)
Controller-Based: WLC (Wireless LAN Controller) gestionează centralizat AP-urile
AP-urile devin „lightweight" (CAPWAP tunnel la controller)
Cloud-Managed: Meraki, Aruba Central — management cloud, zero-touch deploy
21. QoS (Quality of Service)¶
21.1 Modelele QoS¶
Best Effort: Fără QoS — all traffic equal (default)
IntServ (RSVP): Rezervare de resurse per-flow — nu scalează
DiffServ: Clasificare în clase, tratament per-hop — standard actual
Clasificare (Layer 2 + Layer 3):
802.1p (CoS): 3 biți în tag-ul 802.1Q (0-7)
DSCP: 6 biți din câmpul ToS al IP header (0-63)
DSCP Values frecvente:
EF (Expedited Forwarding) = 46 → VoIP (low latency, low loss)
AF41 = 34 → Video conferencing
AF31 = 26 → Mission-critical data
AF21 = 18 → Transactional data
CS1 = 8 → Scavenger/bulk
DF (Default) = 0 → Best effort
21.2 Configurare QoS Cisco (MQC)¶
! 1. Class-Map: clasificare trafic
Router(config)# class-map match-any VOIP
Router(config-cmap)# match dscp ef
Router(config-cmap)# match protocol rtp
Router(config)# class-map match-any VIDEO
Router(config-cmap)# match dscp af41
Router(config)# class-map match-any BUSINESS
Router(config-cmap)# match dscp af31 af21
! 2. Policy-Map: definire acțiuni per clasă
Router(config)# policy-map WAN-QOS
Router(config-pmap)# class VOIP
Router(config-pmap-c)# priority percent 20 ! LLQ (Low Latency Queue)
Router(config-pmap-c)# class VIDEO
Router(config-pmap-c)# bandwidth percent 30 ! CBWFQ
Router(config-pmap-c)# class BUSINESS
Router(config-pmap-c)# bandwidth percent 25
Router(config-pmap-c)# class class-default
Router(config-pmap-c)# fair-queue ! WFQ pentru restul
! 3. Aplicare pe interfață:
Router(config)# interface GigabitEthernet0/1
Router(config-if)# service-policy output WAN-QOS
! Verificare:
Router# show policy-map interface Gi0/1
22. Managementul și monitorizarea rețelei¶
22.1 SNMP (Simple Network Management Protocol)¶
! SNMPv3 (recomandat — criptat și autentificat):
Router(config)# snmp-server group MONITOR-GRP v3 priv
Router(config)# snmp-server user monitor-user MONITOR-GRP v3 \
auth sha AuthPass123 priv aes 256 PrivPass456
Router(config)# snmp-server host 10.0.0.50 version 3 priv monitor-user
! SNMP traps:
Router(config)# snmp-server enable traps config
Router(config)# snmp-server enable traps ospf
Router(config)# snmp-server enable traps bgp
22.2 Syslog¶
! Nivele syslog (severity):
! 0 Emergency — sistem inutilizabil
! 1 Alert — acțiune imediată necesară
! 2 Critical — condiții critice
! 3 Error — erori
! 4 Warning — avertismente
! 5 Notification — normal dar notabil
! 6 Informational — mesaje informative
! 7 Debug — debug (foarte verbose)
Router(config)# logging host 10.0.0.50 ! Syslog server
Router(config)# logging trap informational ! Nivelul minim trimis
Router(config)# logging buffered 16384 debugging ! Local buffer
Router(config)# service timestamps log datetime msec localtime
22.3 NetFlow / IPFIX¶
! NetFlow v9 — colectare statistici de trafic per-flow:
Router(config)# flow exporter COLLECTOR
Router(config-flow-exporter)# destination 10.0.0.50
Router(config-flow-exporter)# transport udp 2055
Router(config-flow-exporter)# source Loopback0
Router(config)# flow monitor TRAFFIC-MONITOR
Router(config-flow-monitor)# exporter COLLECTOR
Router(config-flow-monitor)# record netflow ipv4 original-input
Router(config)# interface Gi0/0
Router(config-if)# ip flow monitor TRAFFIC-MONITOR input
Router# show flow monitor TRAFFIC-MONITOR cache
23. Automatizare și programabilitate (NetDevOps)¶
23.1 API-uri moderne de management¶
Evoluție management rețea:
CLI (telnet/SSH) → Screen scraping, fragil
SNMP → Limitări (mai ales la write)
NETCONF (RFC 6241)→ XML over SSH, tranzacțional, yang models
RESTCONF (RFC 8040)→ REST API (HTTP + JSON/XML), yang models
gNMI / gRPC → Streaming telemetry, modern, performant
23.2 Python + Netmiko — automatizare SSH¶
from netmiko import ConnectHandler
# Conectare la un switch Cisco:
device = {
"device_type": "cisco_ios",
"host": "192.168.1.1",
"username": "admin",
"password": "cisco123",
"secret": "enable_password",
}
with ConnectHandler(**device) as conn:
conn.enable() # Intră în enable mode
# Citire configurare:
output = conn.send_command("show ip interface brief")
print(output)
# Configurare VLAN pe multiple switch-uri:
config_commands = [
"vlan 100",
"name IoT-Devices",
"exit",
"interface range Gi0/10 - 15",
"switchport mode access",
"switchport access vlan 100",
"no shutdown",
]
output = conn.send_config_set(config_commands)
print(output)
# Salvare configurare:
conn.save_config()
23.3 Python + NAPALM — management multi-vendor¶
from napalm import get_network_driver
# NAPALM abstractizează diferențele între vendori (Cisco, Juniper, Arista...)
driver = get_network_driver("ios")
with driver("192.168.1.1", "admin", "cisco123") as device:
# Informații despre dispozitiv:
facts = device.get_facts()
print(f"Hostname: {facts['hostname']}, OS: {facts['os_version']}")
# Interfețe:
interfaces = device.get_interfaces()
for name, data in interfaces.items():
status = "UP" if data["is_up"] else "DOWN"
print(f" {name:20s} {status:5s} {data['description']}")
# BGP neighbors:
bgp = device.get_bgp_neighbors()
# Aplicare configurare cu rollback:
device.load_merge_candidate(filename="new_config.txt")
diff = device.compare_config()
print(f"Diff:\n{diff}")
if diff:
device.commit_config() # Aplică
# sau: device.discard_config() # Anulează
23.4 Ansible pentru rețea¶
# playbook.yml — configurare OSPF pe mai multe routere
---
- name: Configure OSPF on all routers
hosts: routers
gather_facts: no
vars:
ospf_process_id: 1
ospf_area: 0
tasks:
- name: Configure OSPF
cisco.ios.ios_ospfv2:
config:
processes:
- process_id: "{{ ospf_process_id }}"
router_id: "{{ router_id }}"
areas:
- area_id: "{{ ospf_area }}"
ranges:
- address: "{{ network }}"
netmask: "{{ netmask }}"
passive_interfaces:
default: true
interface:
set_interface: false
name:
- "{{ ospf_interface }}"
state: merged
- name: Save configuration
cisco.ios.ios_command:
commands:
- write memory
24. Troubleshooting sistematic¶
24.1 Metodologia de troubleshooting¶
1. Definire problemă — Ce simptome? Ce funcționa înainte? Ce s-a schimbat?
2. Colectare informații — show commands, logs, ping, traceroute
3. Analiză — Identifică stratul OSI afectat
4. Formulare ipoteză — Ce ar putea cauza problema?
5. Testare ipoteză — Aplică o schimbare / testează
6. Rezolvare sau repetare— Dacă nu funcționează, revino la pasul 3
Abordări:
Top-Down: Pornește de la Layer 7 (aplicație) și coboară
Bottom-Up: Pornește de la Layer 1 (fizic) și urcă
Divide & Conquer: Pornește de la Layer 3 (ping) și mergi sus sau jos
24.2 Comenzi esențiale de troubleshooting¶
! === Layer 1 (Physical) ===
show interfaces status ! Up/Down, Speed, Duplex
show interfaces Gi0/1 ! Erori CRC, collisions, input/output errors
show controllers ! Stare hardware
show power inline ! PoE status
! === Layer 2 (Data Link) ===
show mac address-table ! MAC table
show vlan brief ! VLAN assignments
show interfaces trunk ! Trunk status
show spanning-tree ! STP topology
show etherchannel summary ! EtherChannel status
show cdp neighbors ! Vecini Cisco (Layer 2 discovery)
show lldp neighbors ! Vecini standard (Layer 2 discovery)
! === Layer 3 (Network) ===
ping 192.168.10.1 ! Connectivity test
ping 192.168.10.1 source Loopback0 ! Ping de la o sursă specifică
traceroute 8.8.8.8 ! Traseul pachetelor
show ip route ! Routing table
show ip ospf neighbor ! OSPF adjacencies
show ip eigrp neighbors ! EIGRP neighbors
show bgp summary ! BGP peering status
show ip interface brief ! IP + status pe toate interfețele
show ip arp ! ARP table
show ip nat translations ! NAT translations active
! === Layer 4+ ===
show ip access-lists ! ACL hit counters
show policy-map interface ! QoS statistics
show crypto session ! VPN status
! === General ===
show running-config | section ospf ! Filtrare secțiune config
show logging ! Syslog mesaje locale
show clock ! Verificare ceas (NTP)
show ntp status ! Sincronizare NTP
show processes cpu sorted ! CPU usage
show memory statistics ! RAM usage
Anexe¶
A. Port-uri TCP/UDP de reținut¶
| Port | Protocol | Serviciu |
|---|---|---|
| 20/21 | TCP | FTP (data/control) |
| 22 | TCP | SSH |
| 23 | TCP | Telnet |
| 25 | TCP | SMTP |
| 53 | TCP/UDP | DNS |
| 67/68 | UDP | DHCP (server/client) |
| 69 | UDP | TFTP |
| 80 | TCP | HTTP |
| 110 | TCP | POP3 |
| 123 | UDP | NTP |
| 143 | TCP | IMAP |
| 161/162 | UDP | SNMP (query/trap) |
| 179 | TCP | BGP |
| 389 | TCP | LDAP |
| 443 | TCP | HTTPS |
| 500 | UDP | IKE (IPsec) |
| 514 | UDP | Syslog |
| 830 | TCP | NETCONF |
| 3389 | TCP | RDP |
| 4500 | UDP | IPsec NAT-T |
| 8443 | TCP | HTTPS alternativ (management) |
| 49 | TCP | TACACS+ |
| 1812 | UDP | RADIUS Authentication |
| 1813 | UDP | RADIUS Accounting |
B. Wildcard mask — referință rapidă¶
/32 → 0.0.0.0 (un singur host)
/30 → 0.0.0.3 (4 adrese)
/28 → 0.0.0.15 (16 adrese)
/24 → 0.0.0.255 (256 adrese)
/22 → 0.0.3.255 (1024 adrese)
/20 → 0.0.15.255 (4096 adrese)
/16 → 0.0.255.255 (65536 adrese)
/8 → 0.255.255.255 (16M adrese)
/0 → 255.255.255.255 (orice adresă = "any")
Calcul: wildcard = 255.255.255.255 - subnet_mask
Ex: /26 → mask 255.255.255.192 → wildcard = 0.0.0.63
C. Referință rapidă OSPF LSA Types¶
| Tip | Nume | Generat de | Scope | Descriere |
|---|---|---|---|---|
| 1 | Router LSA | Fiecare router | Intra-area | Rețelele și vecinii routerului |
| 2 | Network LSA | DR | Intra-area | Rețelele broadcast multi-access |
| 3 | Summary LSA | ABR | Inter-area | Rute sumarizate între arii |
| 4 | ASBR Summary | ABR | Inter-area | Locația ASBR-ului |
| 5 | External LSA | ASBR | Global | Rute externe redistribuite |
| 7 | NSSA External | ASBR în NSSA | NSSA | Rute externe în arii NSSA |
Curs realizat ca material de referință pentru ingineri de rețea, pregătire CCNA/CCNP și administrare infrastructură enterprise.
Pe această pagină