Bu yazımızda Cisco tarafından geliştirilen kapsülleme protokolü olan GRE yapısını inceleyeceğiz. GRE yapısından kısaca bahsetmek gerekirse, IP paketine içerisine GRE başlığı eklenir. Eklenen bu başlıkta oluşturulan tünelin kaynak ve hedef IP’leri bulunur. Böylelikle iki lokal alandaki network arasında bir bağlantı oluşturulur. Yalnız bu bağlantı IP paketinin içerisinde ekstra şifreleme olmadığı için trafik akışı görüntülenebilir. Bundan dolayı IPSec yapılması gerekir. Bu konuya ise başka bir yazıda değineceğiz.
Aşağıdaki yapı üzerinden konumuza giriş yapalım. Merkez ve Şube routerlarımızın internet bağlantısı bulunmaktadır. Normalde bu iki networkü haberleştirebilmem için Dış IP’ler ile çalışma yapmam ve NAT ile uğraşmam gerekecekti. GRE tünelleme sayesinde sanki Merkez router ile Şube routerı birbirine doğrudan bağlıymış gibi sanal bir yapı oluşacak ve bu iki network birbiri ile konuşabilecek. Aslında yaptığımız şey bir VPN bağlantısı.
GRE yapılandırmasına geçmeden önce tüm yapılandırmamızı yapalım. Ben tüm bağlantılar için subnet 24 kullanacağım.
ISP(config)#interface gigabitEthernet 0/0 ISP(config-if)#ip address 11.11.11.1 255.255.255.0 ISP(config-if)#no shutdown ISP(config-if)#exit ISP(config)#interface gigabitEthernet 1/0 ISP(config-if)#ip address 12.12.12.1 255.255.255.0 ISP(config-if)#no shutdown MERKEZ(config)#int gigabitEthernet 0/0 MERKEZ(config-if)#ip address 12.12.12.2 255.255.255.0 MERKEZ(config-if)#no shutdown MERKEZ(config)#int gigabitEthernet 2/0 MERKEZ(config-if)#ip address 192.168.10.1 255.255.255.0 MERKEZ(config-if)#no shutdown MERKEZ(config-if)#exit MERKEZ(config)#ip route 0.0.0.0 0.0.0.0 11.11.11.1 SUBE(config)#interface gigabitEthernet 1/0 SUBE(config-if)#ip address 12.12.12.2 255.255.255.0 SUBE(config-if)#no shutdown SUBE(config-if)#exit SUBE(config)#interface gigabitEthernet 2/0 SUBE(config-if)#ip address 192.168.20.1 255.255.255.0 SUBE(config-if)#no shutdown SUBE(config-if)#exit SUBE(config)#ip route 0.0.0.0 0.0.0.0 12.12.12.1 PC1>ip 192.168.10.2/24 192.168.10.1 PC2>ip 192.168.20.2/24 192.168.20.1
Gelelim GRE yapılandırmasına. Yapılandırmaya geçmeden önce kısaca nasıl yapıldığından bahsedeyim; Öncelikle bir tunnel interfacesi oluşturuyoruz. Bu tunnel interfacesi sanki iki router birbiri ile bağlıymış gibi bir bağlantı noktası oluşturuyor. Bu yüzden normalde routerları birbirine bağladığımızda nasıl yapılandırma yapıyorsak bunda da onu yapıyoruz. Her iki tarafa da aynı networkten IP’ler veriyoruz. Daha sonra tunnel’in kaynak ve hedef IP’lerini belirtiyoruz. Bu kaynak ve hedef IP’ler ise routerların WAN tarafına bakan IP’leri oluyor yani dış IP’leri. Son olarak da bu iki lokal networkün birbiri ile haberleşebilmesi için rota yazıyoruz. Tabii bu rotalarda hedef noktayı (next hoop) tünel için oluşturduğumuz IP adresini yazıyoruz.
Yapılandırmaya başlayalım. Tunnel Interfacesi için kullanılabilir aralık 0-2147483647 arasında. Ben örnekte 0’ı kullanacağım.
MERKEZ(config)#interface tunnel 0 ( tunnel 0 oluşturuldu) MERKEZ(config-if)#ip address 192.168.30.1 255.255.255.0 (oluşturulan sanal interfaceye IP verildi) MERKEZ(config-if)#tunnel source 11.11.11.2 (kaynak routerın dış IP'si eklendi) MERKEZ(config-if)#tunnel destination 12.12.12.2 (hedef routerın dış IP'si yeklendi) MERKEZ(config-if)#tunnel mode gre ip (Tunnel modu belirtildi. Default olarak mod GRE'dir, yazılmasa da olur) MERKEZ(config-if)#exit MERKEZ(config)#ip route 192.168.20.0 255.255.255.0 192.168.30.2 (Hedef network için rota yazıldı. Yazılan bu rotada karşı tarafın tünel IP'si yazıldı)
SUBE(config-if)#ip address 192.168.30.2 255.255.255.0 SUBE(config-if)#tunnel mode gre ip SUBE(config-if)#tunnel source 12.12.12.2 SUBE(config-if)#tunnel destination 11.11.11.2 SUBE(config-if)#exit SUBE(config)#ip route 192.168.10.0 255.255.255.0 192.168.30.1
Yapılan işlemler bu kadar. Artık WAN üzerinden iki networkümüz birbirine fiziksel bağlantı varmış gibi bağlanabilir. PC1’den PC2’ye trace atalım ve sonucu görelim.
192.168.20’li networke yapılan tünel sayesinde, ISP tarafında ekstra bir işleme gerek kalmadan erişim sağlayabildik.