Monthly Archives: septembre 2015

ACL

Les ACL, acess control list

– securité basique d’un routeur
– permet de filtrer les flux tentant de traverser le routeur (aussi ceux à destination du routeur)

Une ACL est une collection séquentielle d’instructions (ACE: access control entries) vérifiant des valeurs d’en-têtes (ip src, dst, proto, services …) aboutissant à une autorisation où un refus

Les ACL sont crées globalement et sont appliquées à une ou plusieurs interfaces pour un sens de traffic (entrant ou sortant), par protocole routé (ip, ipx, appletalk).
Il ne peut y avoir qu’une seule ACL sur une même interface dans le même sens.

On va du plus précis au plus général.

Il y a trois types d’ACL

ACL standard: avec un numéro entre 1 et 99, permet de vérifier l’IP sources des paquets. Elle doit donc être appliquée au plus proche de la destination

(config)# access-list 1 {permit|deny} ipsource wildcardmask (masque inversé)

ACL etendue: avec un numéro de 100 à 199, permet de vérifier IP source, IP dest, protocole (niveau 3: tcp, udp, icmp, ospf, eigrp, hsrp …), numéro de port (niveau 4). Il faut l’appliquer au plus proche de la source.

(config)# access-list 101 {permit|deny} protocole ipsource wildcardmask ipdest wildcardmask [operator operand] [log]

Operator: eq neq gt lt range
Operande: numéro de port ou type ICMP si le proto est le proto

ACL nommées: définies par un nom plutôt qu’un numéro, peut être standard ou étendue

(config)# ip access-list {standard|extended} nom
(config-stp|xtd)#{permit|deny} protocole ipsource wildcardmask ipdest wildcardmask [operator operand] [log]

Exemple

ip access-list extended MonACL1
permit ip 192.168.1.0 0.0.0.15 192.168.2.0 0.0.0.255
permit tcp 192.168.1.0 0.0.0.15 host 192.168.2.250 eq www
permit tcp 192.168.1.0 0.0.0.15 host 192.168.2.250 eq domain
permit udp 192.168.1.0 0.0.0.15 host 192.168.2.250 eq domain
deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
permit ip 192.168.1.0 0.0.0.255 any
end
conf t
int fa0/0
ip access-group MonACL1 in

Le wildcard mask: permet d’indiquer à quelle portion de l’IP on s’intéresse. Les bits à zéro sont vérifiés, pas ceux à 1.
Vérifier le pc 10.14.15.16 donne 10.14.15.16 0.0.0.0 ou host 10.14.15.16
Vérifier toues les ip donne 0.0.0.0 255.255.255.255.255 ou any
Vérifier les IP de 10.10.10.64 à 10.10.10.95: il y a 32 ip, 32 est une puissance de 2 et la permière IP (64) est un multiple de 32 soit 255.255.255.224 donc 0.0.0.31.
Le wildcard est le pas du réseau moins 1 donc ce sera 10.10.10.64 0.0.0.31

Vérifier le réseau de 172.16.0.0/16 à 172.31.0.0/16. On a 16 blocs, puissance de 2, et 16 (le premier réseau) est un multiple de 16, ce qui donne 172.16.0.0 0.15.255.255

Vérifier les IP de 192.168.1.1 à 192.168.1.15 donne 192.168.1.0 0.0.0.15

Appliquer une ACL:

(config-if)# ip access-group {n°|nom} {in|out}

Vérifier une ACL:

# show access-list

On peut appliquer une ACl aux linges vty

(config)# ip access-list standard VTY_ACCESS
permit host 10.0.0.1
deny any log
(config)# line vty 0 4
access-class VTY_ACCESS in

OSPF

Open Shortest Path First

C’est un protocole de routage normalisé de couche 3.

Il est state link (connait l’état des liens pour arriver à sa cible), donc le split-horizon, holdown timer et poison reverse, sont inutiles car les routeurs on une connaissance approfondie de la topologie du réseau.

Distance administrative: 110

Metrique: chez Cisco c’est le coût d’une interface (10exp8 / BW en bps), c’est l’inverse de 100Mb
1Mb = 100
10Mbs = 10
100Mbs = 1
1Gb = 1, soit on force le coût des interfaces, soit on change la bande passante de référence (100Mbs)

Calcul de la métrique: cumul des coûts des liens traversés

Algorythme: Dijkstra

Trois tables: table de voisinnage, table de base de données topologique qui contient des LSA (link state advertisement), table routage

OSPF utilise le multicast: 224.0.0.5 et 224.0.0.6

OSPF est classless (tiens en compte du masque associé au réseau).

OSPF utilise un système d’aire qui permet de segmenter l’AS. Chaque air a sa propre lsdb (links state database) qui permet de confiner des moficationss topologique dans une aire. Cela permet d’avoir des LSDB plus petites donc des calculs plus rapides.

Two level hierarchy: aire 0 backbone et les autres aires connectées à l’aire 0

Configuration d’OSPR sur Cisco

router ospf 1

Le numéro 1 est le numéro de processus local au routeur, numéro arbitraire qui peut être différent d’un routeur à l’autre.
Indiquer ensuite les réseaux à router

network a.b.c.d w.x.y.z area 0

Avec w.x.y.z sous forme de masque inversé.
Et on ne transmet pas le routage sur le interfaces LAN

passive-interface fa0/0

Exemple:

BORDEAUX>sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

     1.0.0.0/30 is subnetted, 3 subnets
O IA    1.1.1.4 [110/128] via 1.1.1.13, 00:36:49, Serial0/0/0
O IA    1.1.1.8 [110/128] via 1.1.1.13, 00:36:39, Serial0/0/0
C       1.1.1.12 is directly connected, Serial0/0/0
     11.0.0.0/29 is subnetted, 1 subnets
O IA    11.1.1.0 [110/129] via 1.1.1.13, 00:34:00, Serial0/0/0
O IA 192.168.0.0/24 [110/65] via 1.1.1.13, 00:36:49, Serial0/0/0
O IA 192.168.1.0/24 [110/129] via 1.1.1.13, 00:34:00, Serial0/0/0
O IA 192.168.2.0/24 [110/130] via 1.1.1.13, 00:28:40, Serial0/0/0
O IA 192.168.3.0/24 [110/130] via 1.1.1.13, 00:27:25, Serial0/0/0
O IA 192.168.4.0/24 [110/129] via 1.1.1.13, 00:29:35, Serial0/0/0
C    192.168.5.0/24 is directly connected, FastEthernet0/0
O E2 200.200.200.0/24 [110/20] via 1.1.1.13, 00:24:20, Serial0/0/0

Types de routes (Link State Advertisment)

Routes 0 au sein de l’aire
Type 1 (router)
Type 2 (net link)

Routes O IA des autres aires
Type 3 (summary)

Tours OE1 et OE2, externes
Type 4 (summary ABS)
Type 5 (AS external)

Les types d’aires
– ordinaire: accepte toutes les LSA
– stub: remplace les routes externes par une route par défaut
– totally stub: remplace les routes externes et les routes inter area par une route par défaut

Configuration stub et totally stub
Sur tous les routeurs de l’aire concernée

(config-router)# area 1 stub
(config-router)# area 2 stub no-summary

Une aire qui ne dispose que d’une seule connexion à un backbone peut être définie comme totally stub: c’est à dire:

BORDEAUX(config-router)#do sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

     1.0.0.0/30 is subnetted, 3 subnets
O IA    1.1.1.4 [110/128] via 1.1.1.13, 00:05:03, Serial0/0/0
O IA    1.1.1.8 [110/128] via 1.1.1.13, 00:05:13, Serial0/0/0
C       1.1.1.12 is directly connected, Serial0/0/0
     11.0.0.0/29 is subnetted, 1 subnets
O IA    11.1.1.0 [110/129] via 1.1.1.13, 00:05:13, Serial0/0/0
O IA 192.168.0.0/24 [110/65] via 1.1.1.13, 00:05:03, Serial0/0/0
O IA 192.168.1.0/24 [110/129] via 1.1.1.13, 00:05:03, Serial0/0/0
C    192.168.5.0/24 is directly connected, FastEthernet0/0
O E2 200.200.200.0/24 [110/20] via 1.1.1.13, 00:05:23, Serial0/0/0

On passe l’aire en totally stub

area x stub no-summary

Ce qui donne:

BORDEAUX#sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is 1.1.1.13 to network 0.0.0.0

     1.0.0.0/30 is subnetted, 1 subnets
C       1.1.1.12 is directly connected, Serial0/0/0
C    192.168.5.0/24 is directly connected, FastEthernet0/0
O*IA 0.0.0.0/0 [110/65] via 1.1.1.13, 00:00:02, Serial0/0/0

ABR: area border router
Ce router sert à connecter une ou plus aire à l’aire zéro.

ASBR: autonomous system boundary router
Ce routeur connecte l’AS à un autre AS.

PARIS1#sh ip ospf database
            OSPF Router with ID (192.168.0.254) (Process ID 1)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
192.168.0.254   192.168.0.254   810         0x80000004 0x007689 3
192.168.1.254   192.168.1.254   809         0x80000004 0x006c92 3

                Summary Net Link States (Area 0)
Link ID         ADV Router      Age         Seq#       Checksum
1.1.1.12        192.168.0.254   805         0x80000002 0x005554
192.168.5.0     192.168.0.254   805         0x80000003 0x002322
11.1.1.0        192.168.1.254   765         0x80000002 0x00b33a
192.168.2.0     192.168.1.254   765         0x80000003 0x00c4c1
192.168.3.0     192.168.1.254   765         0x80000004 0x00b7cc
1.1.1.8         192.168.0.254   755         0x80000004 0x007932

                Router Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum Link count
192.168.0.254   192.168.0.254   762         0x80000005 0x00fe36 1

                Summary Net Link States (Area 1)
Link ID         ADV Router      Age         Seq#       Checksum
0.0.0.0         192.168.0.254   816         0x80000001 0x008e67
192.168.0.0     192.168.0.254   806         0x80000002 0x00d9b1
1.1.1.4         192.168.0.254   806         0x80000003 0x00a30d
1.1.1.12        192.168.0.254   806         0x80000004 0x005156
192.168.5.0     192.168.0.254   806         0x80000005 0x001f24
192.168.1.0     192.168.0.254   801         0x80000006 0x0049fc
11.1.1.0        192.168.0.254   761         0x80000008 0x003177
192.168.2.0     192.168.0.254   761         0x80000009 0x0042fe
192.168.3.0     192.168.0.254   761         0x8000000a 0x00350a

                Router Link States (Area 2)

Link ID         ADV Router      Age         Seq#       Checksum Link count
192.168.0.254   192.168.0.254   811         0x80000004 0x001b4b 2
192.168.5.254   192.168.5.254   811         0x80000004 0x0026bd 3

                Summary Net Link States (Area 2)
Link ID         ADV Router      Age         Seq#       Checksum
0.0.0.0         192.168.0.254   816         0x80000001 0x008e67

                Type-5 AS External Link States
Link ID         ADV Router      Age         Seq#       Checksum Tag
200.200.200.0   192.168.0.254   819         0x80000001 0x008875 0

DR: designated router, garant de la mise à jour de la LSDB pour tous les routeurs du réseau de broadcast, il permet de limiter le nombre d’adjacences

BDR: backup DR

Attention: la notion d’aire et de DR est totalement disjointe

Les types de réseau OSPF
OSPF ne fonctionne pas de la meme manière selon le type de réseau
4 types de réseaux
– point à point: interface HDLC, PPP et les sous interfaces point à point frame relay et ATM, une seule adjacence, OPSF utilise 224.0.0.5, pas de DR/BDR
– broadcast: interfaces Ethernet, plusieurs adjacences (tous les routeurs se voient entre eux), multicast 224.0.0.5 et 6, il y a des DR et BDR
– NBMA non broadcast multiple access: plusieurs adjacences mais tout le monde ne se voit pas forcement directement, interface physique et sous interfaces multipoint frame relay ou ATM, multicast 224.0.0.5 et 224.0.0.6, il y a des DR et BDR
– reseau multipoint: meme caractéristiques que NGMA, pas d’élection DR/BDR, pour les réseaux FR et ATM qui ne sont pas full mesh

Election DR/BDR
1) basée sur la priorité OSPF de l’interface le routeur qui a la priorité la plus élevée devient le DR. Si les routeurs n’arrivent pas à se départager sur la priorité ils se baseront sur leur
2) routeur ID: chaque routeur a son router ID unique dans l’AS (au format d’une IP). Celui qui a l’ID le plus élevé devient DR et le suivant backup

(config-router)# router-id 255.255.255.255

si le routeur-id n’est pas définit manuellement alors c’est l’IP la plus élevée parmi toutes les interfaces loopbacks qui sont up up.

Interface loopback: interface pour administrer le routeur sans se soucier de l’état des interfaces réelles. le masque est en /32 et l’IP est annoncée dans le routage.

Redistribuer des routes statiques:

(config-router)# redistribute static subnet

Redistribuer la route par défaut:

(config-router)# default-information originate

Metrique:
Changer la bande passante de référence:

(config-router)# auto-cost reference-bandwidth 1000 (c'est 10Gb)

Modfiier le param-tre bandwidth de l’interface

(config-router)# bandwidth xxx (en kbps)

Forcer le cout d’une interface (il ne se base plus sur bandwidth)

(config-router)# ip ospf cost xxx

DR/BDR
Changer la priorité

(config-if)# ip ospf priority xxx

Changer le router id

(config-router)# router-id 255.255.255.255

Créer une interface loopback

(config)# interface loopback 0
(config-if)# ip address 10.0.0.1 255.255.255.255
(config-if)# exit
(config)# router ospf 1
(config-router)# network 10.0.0.1 0.0.0.0 area 0

Forcer une réelection en mode privilégié

# clear ip ospf process

Visu et dépannage

# sh ip ospf neighbour
# sh ip ospf database
# sh ip ospf interface
# sh ip ospf interface fa0/0
# debug ip ospf events/packtes/adj

What to do with your new Cisco device ?

Here are the basic steps I do when integrating Cisco hardware (mainly router&switch) in my network, starting in console mode:

– user creation
– ssh config
– time and snmp settings
– basic IP configuration

Make a console connection with putty: use interface serial on the relevant port COM and a speed of 9600.
In case you use USB/RS232 converter you may need to get the drive to make COM port appear in windows settings: download driver here: Windows installer for the USB RS-232 adaptor (Win7 32/64bits)

After being console connected, get in config mode, I assume there is no password:

enable
conf t

Change hostname, then specify a domain name (needed to generad RSA key):

hostname CORESWITCH
ip domain-name naze.mine.nu

Configure ssh:

crypto key generate rsa general-keys modulus 1024
ip ssh version 2
ip ssh logging events
ip ssh time-out 60
ip ssh authentication-retries 3

Adding a user with password encrypted in config, give maximum rights so that there is no need of a password at enable command:

service password-encryption
username admin password 0 mysecurepassword
username admin privilege 15

Disable telnet access on all screens:

line vty 0 4
login local
transport input ssh

Display ssh config:

show ip ssh

Have your command not cut with syslog messages:

line console 0
logging synchronous

Get date & date from time server:

ntp server 192.168.0.124
clock timezone gmt 1
clock summer-time cest recurring last Sun Mar 3:00 last Sun Oct 3:00

Display time settings:

ntp associations

Configure SNMP

snmp-server community public ro

Display SNMP communities:

show snmp community

It could be good to make the switch available on the network. In this example port 1 to 12 will be included in VLAN 300 that will get an IP address

interface range 1/0/1-12
switchport mode access
switchport access vlan 300
exit
vlan 300
ip address 192.168.0.250 255.255.255.0