Volek Jiří                                                                                                       Radim Koudela

Vol103                                                                                                          kou

 

 

Semestrální projekt do TPS

 

 

 
Zadání: Konfigurace OSPF

 

 

Specifikace:     Na vhodně zvolených příkladech demonstrujte konfiguraci a zapojeni routru

s protokolem OSPF.

1)      Demonstrujte redistribuci jiného protokolu do protokolu OSPF a naopak

(Např.: RIP)

2)      Demonstrujte redistribuci protokolu OSPF

3)      Demonstrujte redistribuci protokolu OSPF, kde jedna siť je typu stub

4)      Demonstrujte redistribuci protokolu OSPF, kde jedna siť není přímo připojena k area 0 (virtual link)

Vše realizujte v prostředí Linux.

 

 

Řešení:             Realizace a příklady jsou odzkoušeny a odladěny v prostředí Zebra 0.94 a operačním systémem Mandrake Linux 9.1.

 

Příklad zapojeni:

Mějme 3 routry nazvané A, B,C, které jsou připojeny na 2 segmenty sítě EthernetLAN a EthernetLAN1.   Na routrech máme nainstalovaný software zebra a spuštěny démony: zebra, ripd a ospfd. Přístup na stanoveny démon se realizuje příkazem telnet localhost port. Heslo pak obvykle bývá zebra.

                                   Kde uvedení démoni mají následující porty: Zebra                   2601

                                                                                                          Ripd                2602

                                                                                                          Ospf                2604

                       

Pro konfiguraci lze použít jak vty tak je možno použit konfigurační soubory ve složce             usr\local\etc\zebra.conf

                                                                       Ripd.conf

                                                                       Ospfd.conf      

                        V konfiguraci je možné i místo ip adres sítí a jejich masky uvést interface.                                          

 

1)      Nastavme na interfacech eth0 routru A a B protokol RIP. Na routru B navíc nastavme redistribuci protokolu OSPF do ripu. Pak nastavme na interfacech eth1 routru B a C protokol OSPF pro areu 0 a na routru B redistribuci protokolu RIP.

Návod:

Routr A:

            telnet localhost 2601

            >en

            #conf t

(config)#hostname A

            A(config)#int eth0

            A(config-if)#description A-eth0

            A(config-if)#ip add     192.168.1.1/24

            A(config-if)#no shut

            A(config-if)#exit

            A(config)#password zebra

A(config)#enable password zebra

A(config)#exit

A#write file

A#exit

            A>exit

 

            telnet localhost 2602

>en

            #conf t

(config)#hostname A

            A(config)#int eth0

            A(config-if)#description A-eth0

A(config-if)#exit

A(config)#router rip

A(config-router)#network 192.168.1.0/24

A(config-router)# distance 1

A(config-router)#redistribute connected

A(config-router)#exit

            A(config)#password zebra

A(config)#enable password zebra

A(config)#exit

A#write file

A#exit

            A>exit

 

Soubor zebra.conf:

!

! Zebra configuration saved from vty

!   2004/01/08 11:55:46

!

hostname A

password zebra

enable password zebra

!

interface lo

!

interface eth0

 description A-eth0

 ip address 192.168.1.1/24

!

line vty

!

 

Soubor ripd.conf:

!

! Zebra configuration saved from vty

!   2004/01/05 12:58:43

!

hostname A

password zebra

!

interface lo

!

interface eth0

 description A-eth0

!

router rip

network 192.168.1.0/24

redistribute connected

distance 1

!

line vty

!

 

Routr B:

            telnet localhost 2601

            >en

            #conf t

(config)#hostname B

            B(config)#int eth0

            B(config-if)#description B-eth0

            B(config-if)#ip add     192.168.1.2/24

            B(config-if)#no shut

            B(config-if)#exit

            B(config)#int eth1     

B(config-if)#description B-eth1

            B(config-if)#ip add     192.168.2.1/24

            B(config-if)#no shut

            B(config-if)#exit

            B(config)#password zebra

B(config)#enable password zebra

B(config)#exit

B#write file

B#exit

            B>exit

 

            telnet localhost 2602

>en

            #conf t

(config)#hostname B

            B(config)#int eth0

            B(config-if)#description B-eth0

B(config-if)#exit

B(config)#router rip

B(config-router)#network 192.168.1.0/24

B(config-router)#redistribute ospf

B(config-router)# distance 1

B(config-router)#redistribute connected

B(config-router)#exit

            B(config)#password zebra

B(config)#enable password zebra

B(config)#exit

B#write file

B#exit

            B>exit

 

telnet localhost 2604

>en

            #conf t

(config)#hostname B

            B(config)#int eth1

            B(config-if)#description B-eth1

            B(config-if)#ospf network broadcast

B(config-if)#exit

B(config)#router ospf

B(config-router)#network 192.168.2.0/24 area 0

B(config-router)#redistribute rip

B(config-router)#exit

            B(config)#password zebra

B(config)#enable password zebra

B(config)#exit

B#write file

B#exit

            B>exit

 

 

Soubor zebra.conf:

!

! Zebra configuration saved from vty

!   2004/01/08 11:55:46

!

hostname B

password zebra

enable password zebra

!

interface lo

!

interface eth0

 description B-eth0

 ip address 192.168.1.2/24

!

interface eth1

 description B-eth1

 ip address 192.168.2.1/24

!

 

line vty

!

 

Soubor ripd.conf:

!

! Zebra configuration saved from vty

!   2004/01/05 12:58:43

!

hostname B

password zebra

!

interface lo

!

interface eth0

 description B-eth0

!

router rip

redistribute ospf

network 192.168.1.0/24

redistribute connected

distance 1

 

!

line vty

!

 

Soubor ospfd.conf:

 

!

! Zebra configuration saved from vty

!   2004/01/08 12:18:35

!

hostname B

password zebra

enable password zebra

!

!

!

interface lo

!

interface eth1

 description B-eth1    

!

router ospf

  redistribute rip

  network 192.168.2.0/24 area 0

!

line vty

!

 

Routr C:

            telnet localhost 2601

            >en

            #conf t

(config)#hostname C

            C(config)#int eth1

            C(config-if)#description C-eth1

            C(config-if)#ip add     192.168.2.2/24

            C(config-if)#no shut

            C(config-if)#exit

            C(config)#password zebra

C(config)#enable password zebra

C(config)#exit

C#write file

C#exit

            C>exit

 

telnet localhost 2604

>en

            #conf t

(config)#hostname C

            C(config)#int eth1

            C(config-if)#description B-eth1

            C(config-if)#ospf network broadcast

C(config-if)#exit

C(config)#router ospf

C(config-router)#network 192.168.2.0/24 area 0

C(config-router)#exit

            C(config)#password zebra

C(config)#enable password zebra

C(config)#exit

C#write file

C#exit

            C>exit

 

 

Soubor zebra.conf:

!

! Zebra configuration saved from vty

!   2004/01/08 11:55:46

!

hostname C

password zebra

enable password zebra

!

interface lo

!

interface eth1

 description C-eth1

 ip address 192.168.2.2/24

!

line vty

!

 

Soubor ospfd.conf:

!

! Zebra configuration saved from vty

!   2004/01/08 12:18:35

!

hostname C

password zebra

enable password zebra

!

!

!

interface lo

!

interface eth1

 description B-eth1    

!

router ospf

  network 192.168.2.0/24 area 0

!

line vty

!

 

2,3}Nastaveni routru C je stejné jako v předchozím příkladě a na routrech A a B je stejný

soubor (konfigurace) zebra.conf.  Příklad 2 a 3 se liší jen příkazem area 1 stub, nebo area 1 stub no-summary. Při vynechání či zakomentování se jedna o příklad 2. Při uvedeni area 1 stub se vynechají externí cesty – příklad 3 a při no-summary se vynechají i interní cesty.

 

Návod:

 

Routr A:

 

telnet localhost 2604

>en

            #conf t

(config)#hostname A

            A(config)#int eth0

            A(config-if)#description A-eth0

            A(config-if)#ospf network broadcast

A(config-if)#exit

A(config)#router ospf

A(config-router)#network 192.168.1.0/24 area 1

<A(config-router)#area 1 stub)>

<A(config-router)#area 1 stub no-summary>

A(config-router)#exit

            A(config)#password zebra

A(config)#enable password zebra

A(config)#exit

A#write file

A#exit

            A>exit

 

 

Soubor ospfd.conf:

!

! Zebra configuration saved from vty

!   2004/01/05 13:04:52

!

hostname A

password zebra

enable password zebra

!

!

interface lo

!

interface eth0

 description A-eth0

!

router ospf

 network 192.168.1.0/24 area 1

!area 1 stub

!area 1 stub no sumary

!

line vty

!

 

Routr B:

 

telnet localhost 2604

>en

            #conf t

(config)#hostname B

            B(config)#int eth0

            B(config-if)#description B-eth0

            B(config-if)#ospf network broadcast

B(config-if)#exit

B(config)#int eth1

            B(config-if)#description B-eth1

            B(config-if)#ospf network broadcast

B(config-if)#exit

B(config)#router ospf

B(config-router)#network 192.168.1.0/24 area 1

B(config-router)#network 192.168.2.0/24 area 0

 

<B(config-router)#area 1 stub)>

<B(config-router)#area 1 stub no-summary>

B(config-router)#exit

            B(config)#password zebra

B(config)#enable password zebra

B(config)#exit

B#write file

B#exit

            B>exit

 

Soubor ospfd.conf:

!

! Zebra configuration saved from vty

!   2004/01/05 13:04:52

!

hostname B

password zebra

enable password zebra

!

!

interface lo

!

interface eth0

 description B-eth0

!

interface eth1

 description B-eth1

!

router ospf

 network 192.168.1.0/24 area 1

 network 192.168.2.0/24 area 0

!area 1 stub

!area 1 stub no sumary

!

line vty

!

           

4)Příklad na virtuál link. Nastavení souboru zebra.conf (i u konzele) zůstává u routrů A a B

stejné. Máme areu 2 kterou představují routry A a B, areu 1 přes kterou je připojena area 2 představují routry B a C a areu 0 pak routry C a D. Nastavení ospfd.conf (popřípadě i nastavení v konzoli) u routru A a B, zůstává stejné s tím rozdílem, že areu 0 zaměníme na za areu1 a areu 1 zaměníme za areu2 a u routru B se přidájí příkazy

B(config-router)# area 1 virtual-link 192.168.2.2

B(config-router)#router-id 192.-168.2.1

a v souboru ospfd.conf            area 1 virtual-link 192.168.2.2

                                               router-id 192.168.2.1

 

 

 

 

 

 

 

 

Schéma zapojení:

 

 

 

 

Návod:

 

Routr C:

 

            telnet localhost 2601

            >en

            #conf t

(config)#hostname C

C(config)#int eth0

            C(config-if)#description C-eth0

            C(config-if)#ip add     192.168.3.1/24

            C(config-if)#no shut

            C(config-if)#exit

            C(config)#int eth1     

C(config-if)#description C-eth1

            C(config-if)#ip add     192.168.2.2/24

            C(config-if)#no shut

            C(config-if)#exit

            C(config)#password zebra

C(config)#enable password zebra

C(config)#exit

C#write file

C#exit

            C>exit

 

telnet localhost 2604

>en

            #conf t

(config)#hostname C

            C(config)#int eth0

            C(config-if)#description B-eth0

            C(config-if)#ospf network broadcast

C(config-if)#exit

C(config)#int eth1

            C(config-if)#description B-eth1

            C(config-if)#ospf network broadcast

C(config-if)#exit

C(config)#router ospf

C(config-router)#network 192.168.2.0/24 area 1

C(config-router)#network 192.168.3.0/24 area 0

C(config-router)# area 1 virtual-link 192.168.2.1

C(config-router)#router-id 192.-168.2.2

C(config-router)#exit

            C(config)#password zebra

C(config)#enable password zebra

C(config)#exit

C#write file

C#exit

            C>exit

 

Soubor zebra.conf:

!

! Zebra configuration saved from vty

!   2004/01/08 11:55:46

!

hostname C

password zebra

enable password zebra

!

interface lo

!

interface eth0

 description C-eth0

 ip address 192.168.3.1/24

!

interface eth1

 description C-eth1

 ip address 192.168.2./24

!

 

line vty

!

 

Soubor ospfd.conf:

!

! Zebra configuration saved from vty

!   2004/01/05 13:04:52

!

hostname C

password zebra

enable password zebra

!

!

interface lo

!

interface eth0

 description C-eth0

!

interface eth1

 description C-eth1

!

router ospf

 network 192.168.2.0/24 area 1

 network 192.168.3.0/24 area 0

 area 1 virtual-link 192.168.2.1

router-id 192.168.2.2

!

line vty

!

Routr D:

 

            telnet localhost 2601

            >en

            #conf t

(config)#hostname D

            D(config)#int eth0

            D(config-if)#description D-eth0

            D(config-if)#ip add     192.168.3.2/24

            D(config-if)#no shut

            D(config-if)#exit

            D(config)#password zebra

D(config)#enable password zebra

D(config)#exit

D#write file

D#exit

            D>exit

 

 

telnet localhost 2604

>en

            #conf t

(config)#hostname D

            D(config)#int eth0

            D(config-if)#description D-eth0

            D(config-if)#ospf network broadcast

D(config-if)#exit

D(config)#router ospf

D(config-router)#network 192.168.3.0/24 area 0

D(config-router)#exit

            D(config)#password zebra

D(config)#enable password zebra

D(config)#exit

D#write file

D#exit

            D>exit

 

Soubor zebra.conf:

!

! Zebra configuration saved from vty

!   2004/01/08 11:55:46

!

hostname D

password zebra

enable password zebra

!

interface lo

!

interface eth0

 description D-eth0

 ip address 192.168.3.2/24

!

line vty

!

 

Soubor ospfd.conf:

!

! Zebra configuration saved from vty

!   2004/01/05 13:04:52

!

hostname D

password zebra

enable password zebra

!

!

!

interface lo

!

interface eth0

 description d-eth0

!

router ospf

 network 192.168.3.0/24 area 0

!

line vty

!

 

Závěr:

V praxi se pak používá kombinace těchto uvedených příkladu, Kde hlavni je Area 0 a k ni se připojují další oblasti area 1 atd. V případě, že připojujeme firmu, která má v rámci své sítě nastaveny směrovací protokol RIP, připojíme jí ke své síti OSPF a nastavíme na hraničním routru redistribuci OSPF a RIP. Když máme firmu, uživatel připojeného pomoci 1 routru a neprochází přes jeho areu provoz lze pro ušetření paměti a velikosti ospf tabulek nastavit tuto oblast jako stub. To je celkem aktualní hlavně u připojování malých firem či uživatelů, kteří chtějí vlastní areu a není předpoklad průchozího trafiku, nebo více připojení čí poskytovatelů.

Když máme firmu, kterou nelze připojit k area 0, z cenového hlediska či jiných důvodu a máme poblíž jinou areu, lze tuto firmu připojit k dané areji s tím, že se přes ní nastaví virtual link a logicky se to tváří jako by daná firma byla přímo připojena k area 0.

Příklady:

spf23

spf6

 

Zdroj informaci:         www.cisco.com

                                   www.zebra.org