Cisco IOS'ta Easy VPN

Merhaba

Bildiğiniz gibi bir Cisco router’ı VPN geçidi olarak tanımlayıp, uzak istemcileri bu router ile IPSEC bağlantısı kurmaları suretiyle iç ağa güvenli bir şekilde dahil etmek mümkündür. Genel adı remote-access olan bu yapı Cisco terminolojisinde Easy VPN olarak geçiyor.

Easy VPN kavramı sadece üzerinde bir VPN yazılımı olan son kullanıcı cihazlarını kapsamamaktadır. Uzak noktalardaki router’lar da bir IPSEC VPN istemcisi olarak yapılandırılabilir. Yani IPSEC VPN gateway olarak yapılandırılan bir router’a son kullanıcıların yanı sıra başka ağ cihazları da bağlanabilir. Bu yazıda ben daha çok istemci router yapılandırmasını ve farklı istemci yapılandırmalarındaki özellikleri inceleyeceğim.

Hem hatırlatma hem de referans amaçlı olarak yazının başında ISAKMP Profile ile oluşturulmuş temel bir Easy VPN Server yapılandırması bulunsun. Detaylı bilgi için Taner’in Easy VPN yazısına ve benim ISAKMP Profile yazıma bakabilirsiniz.  Loopback 0 server’ın arkasındaki LAN’ temsil etsin.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Easy VPN Client yapılandırması  ise tek section’dan oluşuyor. Bu yapılandırma ilgili interface’lere atandığı zaman da yapılandırma tamamlanmış oluyor. Yine  Loopback 0 client’ın arkasındaki LAN’ temsil etsin.

 

 

 

 

 

 

 

 

 

Easy VPN client yapılandırmasında group USERS key KEY komutuyla client’ta group authentication bilgileri tanımlanıyor. peer komutuyla da Easy VPN Server IP’si belirtiliyor. connect auto komutu otomatik olarak bağlanılmasını sağlıyor. Bunun yerine connect manual  komutu girilirse bağlantıyı başlatmak için privileged exec modda crypto ipsec client ezvpn connect EZVPN komutunu girmek gerekiyor. Diğer bir yol da conect acl komutuyla bağlantıyı tetiklemesi istenen trafiği tarif eden bir ACL belirtmek.

User authentication için de iki farklı yöntem var.  Easy VPN client yapılandırmasını varsayılan ayarlarında bırakırsak (varsayılanda yapılandırmada xauth userid mode interactive komutu vardır) her bağlantıda CLI’dan kullanıcı adı ve şifre girmemiz gerekir. Bunun için de bağlantıyı başlattıktan sonra user authentication aşamasına gelindiğinde privileged exec modda crypto ipsec client ezvpn xauth komutunu girmek gerekir. Eğer VPN için tanımlanan kullanıcı adı ve şifreyi yukarıdaki gibi username netuser password userpass komutuyla belirtirsek (bu komutu girer girmez varsayılandaki komut xauth userid mode local olarak değişiyor) user authentication da otomatik olarak gerçekleşiyor. Ancak her seferinde otomatik olarak gerçekleşebilmesi için Easy VPN Server’da şifre kaydetmeye izin vermeliyiz. Bunun için de crypto isakmp client configuration group USERS altında save-password komutunu girmek gerekiyor.

Gelelim Easy VPN modlarına. Cisco IOS’ta Easy VPN Client’ın kullanabileceği üç farklı mod var: client, network-extension ve network-extension-plus. Yukarıdaki örnek mode client komutundan da anlaşılacağı üzere client modda çalışıyor. Client mod son kullanıcının kurduğu IPSEC VPN’e en çok benzeyen moddur diyebiliriz. Bu modda client’ta bir loopback interface oluşur ve bu interface server’da tanımlanan VPN havuzundan bir IP alır. Bu interface’i sh run, sh ip int brief gibi komutların çıktısında da görebiliriz. Server’ın arkasındaki network ile bu IP arasındaki iletişim VPN üzerinden gider. Buna ek olarak, client’ta inside olarak tanımlanan network’ten server’ın arkasındaki network’e giden trafik de bu IP’ye NAT’lanarak gider (yapılandırmaya bağlı olarak İnternete giden trafik de aynı şekilde bu IP’ye NAT’lanıp Server üzerinden gidebilir veya doğrudan da gidebilir). Böylece Client’ın arkasındaki network iç ağa ulaşabilir ancak NAT’landığı için Server’ın arkasındaki network’ten client’ın arkasındaki network’e trafik başlatmak mümkün olmaz.

Önemli bir nokta şu: VPN’in tetiklenebilmesi için her şeyden önce oluşturulan trafiğin VPN’in başlatılacağı interface’e yönlendirilebilmesi lazım. Yani client tarafında bir routing – en azından bir default rota tanımı – yapmak gerekiyor. Ancak RRI (Reverse Route Injection) sayesinde server’da böyle bir zorunluluk yok. crypto dynamic-map DMAP 10 altındaki reverse-route komutu sayesinde server’ın routing table’ında şöyle bir satır otomatik olarak oluşuyor.

S        10.0.1.11/32 [1/0] via 20.0.0.2

Dikkat edilirse server client’a verdiği IP’yi, client’ın gerçek IP’si üzerinden ulaşılabilecek şekilde routing table’ına ekliyor. Client’a geri dönen trafiğin server’da VPN encapsulation’ını tetiklemesini işte bu satır sağlıyor. Bu durum, yani RRI mekanizması gerçekten de Easy VPN’de server’ın işini oldukça “kolaylaştırmaktadır”.

mode network-extension komutuyla network-extension moda geçtiğimizde; client modda olduğu gibi client’ta bir loopback oluşturma, bu interface’e VPN havuzundan bir IP verme, inside interface’lerden gelen trafiği bu IP’ye NAT’lama durumları artık yoktur (Dolayısıyla Server’da bir VPN havuzu yapılandırmasına da gerek yoktur). Bunun yerine server RRI ile doğrudan client’taki inside interface’in network’ünü öğrenir.

S        10.0.2.0/24 [1/0] via 20.0.0.2

Bu yöntem hem client moda göre biraz daha basit hem de bu yöntemde client’ın ve server’ın arkasındaki network’ler birbirlerine doğrudan erişebilir.

mode network-plus komutuyla geçilen network-extension-plus modu ise önceki iki modun bir birleşimi gibidir. Client modda olduğu gibi client’ta bir loopback oluşturulur, bu loopback’e server’daki VPN havuzundan bir IP verilir (yani bu modda server’da bir VPN havuzu oluşturmak gerekli) ve bu IP RRI ile server’ın routing table’ına eklenir. Ancak bu loopback daha çok test amaçlı kullanılır. Çünkü RRI ile server’ın routing table’ına doğrudan client’ın arkasındaki network de eklenir. Dolayısıyla client’ın ve server’ın arkasındaki network’ler birbirlerine doğrudan erişir, client tarafında bir NAT işlemi olmaz.

Son olarak yukarıdaki örnekte kurduğumuz bir VPN bağlantısını elle sonlandırmak için privileged exec modda clear crypto ipsec client ezvpn EZVPN komutunu girebiliriz.

Özetle Easy VPN’in tek kolaylığı RRI, geri kalan her şey çok karışık 🙂 Şaka bir yana Easy VPN son kullanıcıların yanı sıra, multipoint VPN topolojilerinde de ihtiyaca bağlı olarak gayet tercih edilebilecek bir teknoloji. Bu yazımda Easy VPN client yapılandırmasının detaylarını açıklamaya çalıştım. Umarım faydalı olmuştur. 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