Enhanced Easy VPN

Daha önce Cisco IOS’ta Easy VPN yazımda sadece software client’ların değil router’ların da bir istemci gibi davranıp Remote-access VPN gateway’lerine bağlanabileceğinden bahsetmiş ve farklı istemci yapılandırmalarını incelemiştik. Bunun yanı sıra DVTI yazımda da Remote-access VPN’i dinamik crypto map yerine dinamik VTI kullanarak nasıl yapılandırabileceğimizi açıklamıştık. DVTI sayesinde VPN gateway’de her istemci için ayrı bir Virtual-access interface’i elde ediyorduk. Aynı şekilde router’ların istemci olarak davrandığı Easy VPN senaryosunda da DVTI kullanabiliriz. İstemci router’ların da bir tunnel interface aracılığıyla VPN’e dahil oldukları bu yapıya da Enhanced Easy VPN adı veriliyor.

Aşağıda örnek bir DVTI gateway yapılandırması mevcut.

Virtual-template interface’i IP’sini Loopback1’den kopyalıyor. ACL 101 ile split-tunneling yapılmış ve sadece 10.0.11.0/24 subnet’i öğretiliyor. Enhanced Easy VPN istemcisi bu subnet’i, bağlandığında oluşan Virtual-access interface’i üzerinden ulaşılabilir olarak görecek (ACL belirtilmeseydi full-tunnel çalışacak ve 0.0.0.0/0’ı Virtual-access üzerinden ulaşılabilir olarak görecekti).

Aşağıda da örnek bir Easy VPN istemcisi (client mode) yapılandırması mevcut.

Sonrasında bu yapılandırmayı Enhanced Easy VPN yapılandırması haline getiriyoruz. Bunun için öncelikle istemcide VTI modunda bir Virtual-template oluşturacağız.

Dikkat edilirse Virtual-template IP’sini Loopback 10000’den kopyalıyor ama böyle bir interface yok. Bu interface VPN kurulduğunda otomatik olarak oluşuyor ve gateway’in IP havuzundan atadığı IP’yi alıyor. Böylece Virtual-template interface’imiz de IP havuzundan atanan IP’yi kullanmış oluyor. Sonrasında bu interface’i referans etmek için aşağıdaki adımı uyguluyoruz.

Son olarak da ezvpn inside ve outside interface’leri tanımlıyoruz.

Böylece yapılandırmayı tamamlamış oluyoruz. NOT: İstemci yapılandırmasında işlem sırası önemli ve yukarıdaki şekilde yapılmasını tavsiye ederim. Farklı modları test ederken sorunla karşılaşırsanız işlem sırasını gözden geçirin.

Bu noktada artık VPN bağlantısı kurulduktan sonra Virtual-access interface’ine yönlendirilen tüm trafik VPN üzerinden gidecek. Ayrıca client mod olduğu için ezvpn inside olarak tanımlanan interface’ten virtual-access interface’e yönlendirilen tüm trafik önce gateway’in atamış olduğu IP’ye NAT’lanacak, sonra tünele girecek. Söz konusu IP ise gateway tarfından RRI (Reverse Route Injection) ile statik olarak kendi Virtual-access interface üzerinden ulaşılabilir olarak öğrenilmiş olacak.

NEM (Network Extension Mode) kullanacak olursak istemciye bir IP atanmayacak dolayısıyla gateway’de bir pool tanımlamaya gerek kalmayacak. Bu durumda virtual-template’in IP’sini başka bir yerden kopyalaması gerekecek. Bu moda geçmek için aşağıdaki adımları izliyoruz.

Bu modda da Virtual-access interface’ine yönlendirilen tüm trafik VPN üzerinden gider. ezvpn inside interface tanımlaması ise farklı bir amaca hizmet eder. NEM modunda ezvpn inside olarak tanımlanan interface’in subnet’i gateway tarafından RRI ile statik olarak Virtual-access üzerinden ulaşılabilir olarak öğrenilir.

NEM+ (network extension mode plus) kullandığımızda ise NEM gibi çalışır ancak client modunda olduğu gibi serverdan bir IP atanır ve Loopback 10000 interface’i oluşur. Bu sayede Virtual-template’in IP’sini direk burdan kopyalabiliriz. NEM gibi çalıştığı için NAT olmayacağını unutmayalım.

Buraya kadarki yapılandırmada istemcinin öğreneceği subnet’leri tanımlamak için split-tunneling kullandık yani ACL yazdık, gateway’in öğreneceği subnet’ler için ise (NEM ve NEM+ için) ezvpn inside interface tanımlaması yaptık. Yani Loopback 11 ve 21 arasında iletişimi sağladık. Fakat artık elimizde tünel interface’leri olduğu için aslında bunlar üzerinden dinamik routing de yapabiliriz. Bunun için öğretmek istediğimiz subnet’ler için girmemiz gereken network ifadelerinin yanı sıra tünel interface’leri üzerinden komşuluk kurulması için de network ifadesi girmeliyiz. Tünel IP’leri aynı subnet’te olmasa bile, o IP’ler için /32’lik bir network ifadesi yazmamız yeterli (Bu örnekte istemcinin Tünel IP’si değişken olduğu için istemci tarafında /24’lük yazdım). Örneğin Loopback 12 ve 22 arasında iletişim sağlamak için EIGRP kullanalım:

Server’da:

Client’ta:

Yani Enhanced Easy VPN’de erişilebilirliği sağlamak için IKE’ın yanı sıra dinamik yönlendirme de kullanılabilir. Elimizde de neredeyse tüm L3 interface komutlarını uygulayabileceğimiz VPN interface’leri olmuş olur. Bu topolojide aradaki link’i dinlersek iki tarafın Loopback 0 IP’leri arasında gidip gelen bir IPSEC trafiği görürüz. İstemcinin Virtual-access interface’ini dinleyecek olursak ise plain-text trafiği görebiliriz. Son olarak: Enhanced Easy VPN yapılandırması sadece VTI ile çalışmaktadır, GRE over IPSEC olarak (virtual-template altında tunnel mode gre ip) çalışmaz.

Bir sonraki yazıda görüşmek üzere.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir