Router on a Stick (RoaS) Yapılandırması

Daha önceki yapılandırmalarda her network için routerın bir interfacesini kullanıyorduk. Tabii her network için bir interface kullanma şansımız olmayabilir. Özellikle oluşturacağı maliyetten dolayı tercih edilmeyebilir. Bu gibi durumlarda imdata routing on a stick yetişiyor. Bu yöntem sayesinde bir interface üzerinde sanal interfaceler oluşturarak birden fazla network için gateway oluşturabiliyoruz.

Küçük bir örnek ile VLAN’lar arası yönlendirmeyi tek bir interface üzerinden yapalım.

Routing on a Stick
Routing on a Stick

Yukarıdaki gibi bir yapımız olsun. Ben PC0 için 192.168.10.5, PC1 için 192.168.20.5 IP adresini kullanacağım. Switch yapılandırmasını hemen kısaca yapalım;

Switch(config)#vlan 10
Switch(config-vlan)#vlan 20
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#switchport access vlan 10
Switch(config)#interface fastEthernet 0/2
Switch(config-if)#switchport access vlan 20
Switch(config)#interface gigabitEthernet 0/1
Switch(config-if)#switchport mode trunk

Şimdi gelelim routerdaki yapılandırmaya. gigabitEthernet 0/0/0 interfacesi için sanal interfaceler oluşturacağız ve bu interfacelerin VLAN kapsülleme protokolünü belirttikten sonra IP adreslerini gireceğiz.

Interfaceyi oluşturmak için interface gigabitEthernet 0/0/0 yazdıktan sonra . (nokta) koyup sanal interface için ID belirtiyoruz. İstenilen ID verilebilir ama VLAN ile aynı ID’de olması konfigürasyon okuması yaparken işimizi kolaylaştırır.


Önce interfaceyi oluşturuyoruz.

Router(config)#interface gigabitEthernet 0/0/0.10

Ardından kapsülleme protokolünü seçiyoruz ve VLAN ID’yi yazıyoruz.

Router(config-subif)#encapsulation dot1Q 10

Sonra ip adresi tanımlıyoruz.

Router(config-subif)#ip address 192.168.10.1 255.255.255.0

Aynı işlemleri VLAN 20 için de yapıyoruz.

Router(config)#interface gigabitEthernet 0/0/0.20
Router(config-subif)#encapsulation dot1Q 20
Router(config-subif)#ip address 192.168.20.1 255.255.255.0

Son olarak asıl interfacemizi açıyoruz.

Router(config)#interface gigabitEthernet 0/0/0
Router(config-if)#no shutdown

Komutu yazdıktan sonra  komut satırında asıl interfacenin ve sanal interfacelerin açıldığına dair bildiri gelecektir.

Artık routerdeki tek interface üzerinden VLAN yönlendirmelerini yapılacak ve network sorunsuz bir şekilde çalışacaktır.

SVI (Switch Virtual Interface) Yapılandırması

Farklı ağlarda iletişim sağlayabilmek için routing yani yönlendirmeye ihtiyaç vardır. Routing işlemi sadece routerlarda değil,  Layer  3 switchlerde de yapılabilmekte. Layer 3 switchte VLAN interfaceleri oluşturarak VLAN’lar arası routing yapmak mümkün hale geliyor.

Basit bir örnek ile yapalım:

SVI layer 3 routing

PC’ler için yaptığım yapılandırma:

PC1 : 192.168.1.2/24 Gateway: 192.168.1.1

PC1 : 192.168.2.2/24 Gateway: 192.168.2.1

Öncelikle SW1’de VLAN tanımlamalarını ve port atamalarını yapalım.

SW1(config)#vlan 10
SW1(config-vlan)#vlan 20
SW1(config-vlan)#exit
SW1(config)#interface fastEthernet 0/1
SW1(config-if)#switchport access vlan 10
SW1(config-vlan)#exit
SW1(config-if)#interface fastEthernet 0/2
SW1(config-if)#switchport mode access
SW1(config-if)#switchport access vlan 20
SW1(config)#interface gigabitEthernet 0/1
SW1(config-if)#switchport mode trunk

LAYER3 isimli switche geçelim. Burada da VLANları oluşturalım ve sonrasında esas konfigürasyonu yapalım.

LAYER3(config)#vlan 10
LAYER3 (config-vlan)#vlan 20
LAYER3 (config-vlan)#exit

VLAN 10 ve VLAN 20’nin interfacelerine girip IP vereceğiz. Bu IP adresleri ilgili VLAN’lar için gateway görevi görecektir. (router interface konfigürasyonu yapmakla aynı)

Yapılandırma şu şekilde olacak:

interface VLAN ID  (örneğin; interface vlan 10)

ip address [IP Adresi] [Subnet mask]   (örneğin; ip address 192.168.10.1 255.255.255.0)

LAYER3(config)#interface vlan 10
LAYER3(config-if)#
%LINK-5-CHANGED: Interface Vlan10, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan10, changed state to up
LAYER3(config-if)#ip address 192.168.1.1 255.255.255.0
LAYER3(config-if)#exit
LAYER3(config)#interface vlan 20
LAYER3(config-if)#
%LINK-5-CHANGED: Interface Vlan20, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan20, changed state to up
LAYER3(config-if)#ip address 192.168.2.1 255.255.255.0
LAYER3(config-if)#end

Son olarak configure terminalde ip routing komutunu giriyoruz ve artık VLAN’lar arası yönlendirme aktif oluyor.

show ip route komutu ile routing tablosuna bakalım.

show ip route

show ip interface brief  komutu ile de portlarımıza bakalım.

show ip interface brief

Görüldüğü gibi VLAN 10 ve VLAN 20 adında interface oluştu ve bunlarında IP adresleri var. Bu IP adresleri ilgili VLAN’lar için gateway görevi görüyor.

Şimdi PC’ler arası ping atalım.

ping

192.168.1.2’den 192.168.2.2’ye ping atabildim.  Routing işlemi tamamlandı. SVI (Switch Virtual Interface) işlemi bu kadar basit.

OSPF (Open Shortest Path First) Protokolü

Dinamik yönlendirme protokollerinden biri olan OSPF (Open Shortest Path First – İlk Açık Yöne Öncelik),  Link-State (Bağlantı Durumu) protokolüne göre çalışır. Tüm ağın topolojisi çıkartılarak en kısa yoldan nasıl ulaşılacağını hesaplar ve buna göre rota oluşturur.

En kısa yol seçilirken coast (maliyet) hesabı yapılır. Referans Bant Genişliği değerinin (100 Mbps) Interface Bant Genişliği değerine bölünmesi ile maliyet bulunur. Interface bant genişliği 10 Gbps, 1 Gbps ve 100 Mbps ise coast değeri 1’dir. 10 Mbps’lik ethernet portu için coast değeri 100Mbps/10Mbps = 10 olacaktır. 1,5 Mbps hızına sahip bir Serial interfacede ise coast 100Mpbs/1,5Mbps = 64 olacaktır. Bu maliyetlere göre en kısa yol rota olarak belirlenir.

OSPF’te tüm topoloji çıkartılır ve çıkarılan bu topoloji  DR(Designated Router) ve BDR (Backup Designated Router) olarak seçilen routerlarda tutulur. Tüm güncellemeleri DR olarak seçilen router yönetirken, DR routerda bir problem olması durumunda yönetimi BDR alır. Routerlar arasında DR-BDR seçimi ise şu şekilde yapılır: en yüksek Router-ID’ye sahip olan ya da en yüksek IP adresine sahip olan router DR seçilir, bir sonraki yüksek IP ya da router-ID’ye sahip olan routerda BDR seçilir.

OSPF’te AREA (alan) mantığı vardır. Büyük topolojilerde büyük kolaylık sağlamaktadır.  Backbone (omurga) diyebileceğimiz ana area,  AREA 0’dır. Diğer tüm AREA’ların 0’a bir şekilde bağlantısı olması gerekmektedir.

OSPF’te network tanımlarken SUBNET Mask değil, Wildcard Mask kullanılır. (255.255.255.255’ten Subnet değerini çıkarttığımızda Wildcard Mask değerini bulmuş oluruz. Örneğin, Subnet 255.255.255.0 ise, 255.255.255.255 – 255.255.255.0 = 0.0.0.255. Bulduğumuz 0.0.0.255 değeri bizim için Wildcard mask adresi oluyor.)

OSPF Single Area

Basit bir örnek üzerinden yapılandırmayı yapalım. Böylece daha anlaşılır olacaktır.

Örneğimde; R1-R2 arası için 1.1.1.0 networkünü, R1-R3 arası için 2.2.2.o networkünü, R1-R4 arası için 3.3.3.o networkünü, R2-R3 arası için 4.4.4.o networkünü, R3-R4 arası için 5.5.5.o networkü, PC1 için 192.168.10.0 networkünü, , PC2 için 192.168.20.0 networkünü, , PC3 için 192.168.30.0 networkünü ve , PC4 için 192.168.40.0 networkünü kullandım.

Temize çekmek gerekirse yapılandırmam şu şekilde oldu:

Router 1 için yapılandırma:

R1-PC1 yönü: GigabitEthernet 0/0/0 : 192.168.10.1/24
R1-R2 yönü : Serial  0/1/0 : 1.1.1.1/24
R1-R3 yönü : Serial  0/1/1 : 2.2.2.1/24
R1-R4 yönü : Serial  0/2/0 : 3.3.3.1/24

Router 2 için yapılandırma:

R2-PC2 yönü: GigabitEthernet 0/0/0 : 192.168.20.1/24
R2-R1 yönü : Serial  0/1/0 : 1.1.1.2/24
R2-R3 yönü : Serial  0/1/1 : 4.4.4.1 /24

Router 3 için yapılandırma:

R3-PC3 yönü: GigabitEthernet 0/0/0 : 192.168.30.1/24
R3-R1 yönü : Serial 0/1/1 : 2.2.2.2/24
R3-R2 yönü : Serial  0/1/0 : 4.4.4.2/24
R3-R4 yönü : Serial  0/2/1 : 5.5.5.1 /24

Router 4 için yapılandırma:

R4-PC4 yönü: GigabitEthernet 0/0/0 : 192.168.40.1/24
R4-R1 yönü : Serial 0/2/0 : 3.3.3.2/24
R4-R3 yönü : Serial 0/2/1 : 5.5.5.2/24

PCler için:

PC1 : 192.168.10.2/24  Gateway :192.168.10.1
PC2 : 192.168.20.2/24  Gateway :192.168.20.1
PC3 : 192.168.30.2/24  Gateway :192.168.30.1
PC4 : 192.168.40.2/24  Gateway :192.168.40.1

Bendeki bağlantılara göre böyle bir yapılandırma oluştu. Tek tek router IP verme ve port açma yapılandırmasını bu yazıya eklemeyeceğim. Zaten nasıl yapıldığını biliyoruz. Fakat hatırlatmak için bir tanesi ekleyeceğim.

Router 1

Router1(config)#interface gigabitEthernet 0/0/0
Router1(config-if)#ip address 192.168.10.1 255.255.255.0
Router1(config-if)#no shutdown

Tüm PC ve router yapılandırmalarını yaptıktan sonra gelelim OSPF yapılandırmasına;

Config modda iken router ospf yazıp ardından bir otonom numarası veriyoruz.

Router1(config)#router ospf 1

Ardından router için bir ID vereceğiz. Bu ID, IP şeklinde giriliyor. Genelde router numarasına göre ID verilir ki, config okunurken daha rahat bir şekilde anlaşılsın. (Router ID girmek zorunlu değil. Ayrıca burada IP şeklinde verilen ID’nin hiçbir şekilde normal IP ile alakası ve etkisi yoktur.)

Router1(config-router)#router-id 1.1.1.1

Ardından routerın bildiği netwokleri yazıyoruz. Yalnız burada şu fark var; network ID’sinden sonra Subnet değil Wildcard mask yazıyoruz. Wildcard masktan sonra da area yazıyoruz. Bu arada OSPF’te area’lar 0’dan başlar ve en az 1 tane area 0 bulunması gerekir. Biz hepsini area 0 yapacağız.

Router1(config-router)#network 192.168.10.0 0.0.0.255 area 0
Router1(config-router)#network 1.1.1.0 0.0.0.255 area 0
Router1(config-router)#network 2.2.2.0 0.0.0.255 area 0
Router1(config-router)#network 3.3.3.0 0.0.0.255 area 0

İşlem bu kadar basit. Tüm routerlarda OSPF aktif ettikten sonra networkleri tanımlıyoruz. Routerlar kendi aralarında network bilgilerini paylaşarak metrik değerlerine göre route tabloları oluşturacak ve ağımız hazır olacak.

Router2(config)#router ospf 1
Router2(config-router)#router-id 2.2.2.2
Router2(config-router)#network 1.1.1.0 0.0.0.255 area 0
Router2(config-router)#network 4.4.4.0 0.0.0.255 area 0
Router2(config-router)#network 192.168.20.0 0.0.0.255 area 0

Router3(config)#router ospf 1
Router3(config-router)#router-id 3.3.3.3
Router3(config-router)#network 2.2.2.0 0.0.0.255 area 0
Router3(config-router)#network 4.4.4.0 0.0.0.255 area 0
Router3(config-router)#network 5.5.5.0 0.0.0.255 area 0
Router3(config-router)#network 192.168.30.0 0.0.0.255 area 0

Router4(config)#router ospf 1
Router4(config-router)#router-id 4.4.4.4
Router4(config-router)#network 3.3.3.0 0.0.0.255 area 0
Router4(config-router)#network 5.5.5.0 0.0.0.255 area 0
Router4(config-router)#network 192.168.40.0 0.0.0.255 area 0

Konfigürasyon yaparken komşuluklar kuruldukça CLI ekranına bildirimler gelecektir. Şu an tüm konfigürasyon tamam. Route tablomuza show ip route komutu ile bakalım.

show ip route

Router1’deki route tablomuza baktığımızda 192.168.10.0, 1.1.1.0, 2.2.2.0 ve 3.3.30 networklerinin lokal networkler olduğunu; 4.4.4.0, 5.5.5.0, 192.168.20.0, 192.168.30 ve 192.168.40.0 networklerinin OSPF ile öğrenildiğini görüyoruz. PC’ler arası ping attığımızda hiçbir problemin olmadığını göreceğiz.

Multi Area OSPF

Bir önceki örneğimiz tek alan yani single area idi. OSPF’nin büyük ölçekli ağlarda çok sık kullanılmasının sebebinin ise area yapılandırmasının olmasından ve area yapılandırmasının büyük topolojilerde büyük kolaylıklar getridiğinden bahsetmiştik. Şimdi ise bir önceki örneği multi area yapalım ve bakalım nasıl yapılandırma yapılıyor.

multi area ospf

Önceki örneğimizde her alan AREA 0’da idi. Şimdi ise routerların birbirlerine bakan kısımları AREA 0, diğer kısımları ise AREA 1,2,3,4 şeklinde yaptık. Bu durumda nasıl bir konfigürasyon yapacağız peki? Diğer örnekteki gibi yapılandırma yapacağız ama bir tek fark olacak: artık routerların gigabitEthernet 0/0/0 kısımlarındaki network tanımlamalarında AREA 0 değil 1,2,3,4 olacak. Yani şöyle olacak:

Router1(config-router)#network 192.168.10.0 0.0.0.255 area 1
Router2(config-router)#network 192.168.10.0 0.0.0.255 area 2
Router3(config-router)#network 192.168.10.0 0.0.0.255 area 3
Router4(config-router)#network 192.168.10.0 0.0.0.255 area 4

Görüldüğü gibi gayet basit 🙂

Son olarak kullanabileceğimiz bazı show  komutlarına bakalım.

show ip protocols komutu ile routerda aktif olan protokollere bakabiliriz. Çıktıya baktığımızda ospf 1’in olduğunu ve metrik değerlerini görebiliyoruz.

show ip protocols

show ip ospf neighbor komutu ile kurulan komşuluklara bakabiliriz.

show ip ospf neighbor

show ip ospf database komutu ile kurulan komşuluklara ve ne kadar süredir komşuluk olduğuna bakabiliriz.

show ip ospf database

show ip route ospf komutu ile sadece OSPF protokolü ile oluşturulan route tablolarına bakabiliriz.

show ip route ospf