Pomocné příkazy

do <prikaz> - mohu používat příkazy z jiného režimu

int range f0/1-2 - místo jednoho mohu vybrat rozsah

$ipcalc <ip adresa site> -s <... pocet hostu pro jednotlive podsite (napr. 10 8 45)> - (ze stanice) vypíše rozdělení na podsítě podle zadání

Výpis informací

Switch#show ip int br - stav interfaců

Switch#show mac address-table - MAC tabulka

Switch#show vlan - info o VLAN

Switch#show int f0/5 switchport - L2 info o interfacu

Router#show running-config - aktuální konfigurace

Router#show ip route - routovací tabulka

Router#show ip ospf database - info o OSPF

Router#show ip nat statistics - info o NAT

Router#show standby - info o HSRP

Router#show vrrp - info o VRRP

Základní konfigurace SW

Nastavení VLAN

Dělám skoro vždy. Většinou na začátku.

Switch(config)#vlan <cislo VLANy>
Switch(config-vlan)#name <nazev>    #bonusova vec, nejde u VLAN 1
Switch(config-vlan)#exit
Switch(config)#interface vlan <cislo VLANy>
Switch(config-if)#ip add <ip> <maska>
Switch(config-if)#no shutdown

Umístění portů do VLAN

Pokud dělám VLANy, musím jim přiřadit dané porty.

Switch(config)#int <nazev interfacu>
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan <cislo VLANy>

Konzole

Switch(config)#line console 0
Switch(config-line)#loggin synchronous

Zabezpečení konzole

Switch(config)#line console 0
Switch(config-line)#password <heslo>
Switch(config-line)#login   #bez toho se heslo nepozaduje

Vzdálený přístup (SSH)

Switch(config)#line vty 0 15
Switch(config-line)#transport input ssh
Switch(config-line)#login local
Switch(config)#username <jmeno> privilege <hodnota (15)> password <heslo>
Switch(config)#ip domain-name <neco>
Switch(config)#crypto key generate rsa↵
#How many bits in the modulus [512]: 1024 (alespon)
Switch(config)#ip ssh version 2

Bannery

Zprávy při různých akcích.

Switch(config)#banner incoming c <zprava> c
Switch(config)#banner login c <zprava> c

Uložení konfigurace

Switch#copy running <nazev souboru>.conf

nebo

Switch#write

Reboot

Switch#reload

Smazat konfiguraci

Switch#erase startupconfig

Redundantní spoje na L2

  • Vždy musím konfigurovat celé skupiny portů (tam, kde jsou redundantní)
  • Mezi SW dávám switchport mode trunk

Na SW nastavím pro každou skupinu portů:

Switch(config)#int range <cisla interfacu>
Switch(config-if-range)#switchport mode trunk
Switch(config-if-range)#channel-group <cislo (1-6)> mode <active/passive>↵
#POZOR - cisla musi byt proti sobe stejna (davam active proti passive)

Směrování

Mezi VLANami (připojeno vše na jeden RT)

Pomocí RT

Nastavit TRUNK na spojení s RT

Switch(config)#int <nazev interfacu>
Switch(config-if)#switchport mode trunk

Virtuální port na RT

Router(config)#interface <nazev interfacu (napr. g0/0)>.↵
<cislo subinterfacu (idealne cislo VLANy)>
Router(config-subif)#encapsulation dot1Q <cislo VLANy>
Router(config-subif)#ip add <ip z VLANy (obvykle posledni pouzitelna)>↵
<maska VLANy>

Na PC nastavit gateway (IP adresa daného subinterfacu na RT)

Pomocí SW

V PT to nejde

Statické směrování

Pozor, u směrování většinou používáme adresu sítě!

  • Používáme sériovou linku mezi RT (červený blesk v PT). V reálu optika nebo něco vysokorychlostního.
  • Zadáváme IP sítě, kterou chceme přidat do naší směrovací tabulky.
  • Spojení prochází přes přímo připojeného souseda, u kterého zadáváme IP na společné lince.
Router(config)#int <nazev interfacu>
Router(config-if)#ip add <ip adresa (idealne P2P)> <maska (255.255.255.252)>
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#ip route <ip a maska pripojovane VLANy (ta co je na protejsim RT)>↵
<ip linky primo pripojeneho souseda (pres co smerujeme)>

Nastavení default routy

Standardně ji dávám do internetu.

Router(config)#ip route 0.0.0.0 0.0.0.0 <ip linky, kam potrebuji>

Nastavení metriky

Používá se pro záložní cesty (ideálně kolem 200 (dynamické routování dává totiž kolem 100 a obecně ho nechceme předbíhat))

Router(config)#ip route <ip a maska pripojovane VLANy>↵
<ip linky primo pripojeneho souseda> <metrika (0 - 255)>

Dynamické směrování

RIP

Nastavíme, co mají routery inzerovat za sítě.

Router(config)#router rip
Router(config-router)#version 2
Router(config-router)#network <ip adresa site>
Router(config-router)#default-information originate #generuje default route

OSPF

  • Dělí sít na oblasti. Máme oblast backbone (AREA 0), která slouží k propojování ostatních.

  • ABR (Area Border Router) - router, přes který se připojuje jiná oblast na AREA 0

Nastavení
Router(config)#router ospf <cislo cehosi (na vsech RT stejne)>

Kde mám připojený SW, musím přidat jeho VLAN:

Router(config-router)#passive-interface g0/0    #smerem ke SW udelam interfacy pasivni
Router(config-router)#passive-interface g0/0.20 #totez pro subinterfacy
Router(config-router)#network <ip site> <reverzni maska> area 0↵
#pridat sit do oblasti (kazdou sit, ktera je k RT pripojena - vcetne te mezi RTs)

Na všech routerech:

Router(config-router)#redistribute connected    #zada pripojene interfacy

NENÍ JISTÉ - Pokud nedám redistribute connected, tak na všech RT přidám porty, kterých se má OSPF týkat (porty mezi RT):

Router(config-if)#int <nazev portu>
Router(config-if)#ip ospf 100 area 0

Pro default routu (na RT, který má na sobě nastavenou default routu):

Router(config-router)#default-information originate 
Router(config-router)#redistribute static

DHCP

Automatické přidělování IP adres.

Na RT

Pokud chci specifikovat, jaké IP nepoužívat (např. IP routeru):

Router(config)#ip dhcp excluded-addresses <zacatecni IP> <koncova IP>↵
#musim udelat pred poolem!!!

Na PC (pokud už má přidělenou adresu ze zakázaného rozsahu):

$ sudo dhclient -r   #pusti starou
$ sudo dhclient      #vyzada novou

Pro každou VLAN, ve které chci používat DHCP:

Router(config)#ip dhcp pool <nazev>
Router(dhcp-config)#dns-server 8.8.8.8
Router(dhcp-config)#default-router <ip interfacu, ktery funguje jako brana>
Router(dhcp-config)#network <ip site> <maska site | prefix>

Výpis tabulky přiřazených adres:

Router#show ip dhcp binding

NAT

Překlad adres za RT.

Musíme dát LABEL (IN - k LAN, OUT - k ISP), abychom věděli, které int/sub-int překládat.

Router(config)#int <nazev interfacu>
Router(config-if)#ip nat <in | out>

Nastavíme NAT pro celou síť:

Router(config)#access-list <cislo listu> permit <ip site> <reverzni maska>
Router(config)#ip nat inside source list <cislo listu> interface↵
<cislo interfacu, kam chci prekladat> overload 

Můžeme nastavit též pro všechny sítě najednou:

Router(config)#access-list <cislo listu> permit any
Router(config)#ip nat inside source list <cislo listu> interface↵
<cislo interfacu, kam chci prekladat> overload 

Můžeme nastavit též jen pro jeden PC:

Router(config)#ip nat inside source static <ip pc, kterou chceme prekladat>↵
<ip, na kterou chceme prekladat>

FIRST HOP redundancy

Nastavíme, že jeden RT bude fungovat jako záloha pro druhý, pokud vypadne.

Protokoly - VRRP (open source), HSRP (Cisco)

HSRP

Postup

  1. Nastaví se virtuální IP adresa pro oba RT (nejprve musí mít nastavenou skutečnou - musejí na sebe pingnout)
    • zároveň se jim sama nastaví jedna virtuální MAC
  2. DHCP - RT musí dávat přes DHCP virtuální IP
  3. Preemption - určuje, zda se má po nahození původního primáru opět stát primárem, či nikoliv (může být nestabilní a výpadek se bude opakovat)
  4. Object tracking (nejde v PT) - monitoring fungování inerfaců a co dělat při problému s nimi

Na obou RT:

Router(config)#int g0/0     #k LAN
Router(config-if)#standby ip 192.168.1.250
Router(config-if)#standby priority 50
Router(config-if)#standby preempt   #take mi aktivuje zmenenou prioritu
Router(config-if)#exit

Pokud děláme DHCP (a máme již nastaveno):

Router(config)#ip dhcp pool 1
Router(dhcp-config)#default-router 192.168.1.250

A na PC:

$ sudo dhclient -r   #pusti starou
$ sudo dhclient      #vyzada novou

Pokud ještě nemáme, uděláme DHCP jako klasicky, ale default-router bude náš nový a spojený.

VRRP

Postup je obdobný jako u HSRP.

Nastavení sloučení:

Router(config)#int <nazev interfacu>
Router(config-if)#vrrp <zvolene cislo sdruzeni (na obou RT stejne)> ip <ip slouceni>
Router(config-if)#vrrp <predesle cislo sdruzeni> priority↵
<cislo (cim vetsi, tim vyssi priorita)>

Object Tracking

Trackuje nám, jestli nedošlo k selhání interfacu a na základě toho upravuje prioritu RT.

Router(config)#track <zvolene cislo tracku> int <nazev interfacu, ktery sledujeme>↵
line-protocol

Přidáme track k VRRP:

Router(config)#int <nazev interfacu, kterym jsou RT spojeny (pravdepodobne)>
Router(config-if)#vrrp <predesle cislo sdruzeni> track <predesle cislo tracku>↵
decrement <o kolik chci snizit prioritu>

IP SLA

Vylepšení Object Tracking. Dovoluje mi sledovat selhání i za RT.

  • Zadávám IP adresu nějakého serveru v síti. Protokol na ni periodicky posílá ICMP pakety, aby otestoval dostupnost. Pokud není, bere to jako selhání na cestě (což může být chyba - vypadne server, ale zbytek internetu bude přístupný).
Router(config)#ip sla <zvolene cislo sledovani>
Router(config-ip-sla)#icmp-echo <ip serveru, jehoz pripojeni chci testovat↵
(napr. 8.8.8.8)> source-interface <nazev interfacu, ktery sleduji>

Poté musím začít chyby trackovat (pozor na předešlou konfiguraci tracku, nesmím ji mít, jinak nastane kolize):

Router(config)#track <zvolene cislo tracku> ip sla <predesle cislo sledovani> reachability
Router(config)#ip sla schedule <predesle cislo sledovani> start-time now

Monitoring sítě

SNMP

SNMP community - administrativní doména (podle ní se řídí přístup)

Nastavení

Router(config)#snmp-server community <nazev komunity (zvolim si sam)>↵
<opravneni (napr. ro - read-only)>

Dotaz na SNMP info (ze stanice):

$ snmpwalk -v1 -c <nazev komunity> <ip dotazovaneho oruteru (kde bezi SNMP)>↵
<OID reference, napr. 1.3.6.1.2.1.2.2>