Sophos XG Firewall OSPF over GRE Tunnel
Merhabalar,
Bu makalemde GRE Tunnel üzerinden OSPF yapılandırmasını anlatacağım. Tekrardan IPSEC, GRE ve OSPF kavramlarına detaylı değinmeyeceğim. Bahsettiğim teknolojiler hakkında detaylı bilgiye sahip olmak için aşağıda makalelerime göz atmanızda fayda var.
https://www.firatmeray.com/sophos-xg-firewall-ikev2-site-to-site-vpnipsec-yapilandirmasi/
https://www.firatmeray.com/sophos-xg-firewall-nat-over-site-to-site-vpn/
https://www.firatmeray.com/sophos-xg-firewall-ospf-yapilandirmasi
Bilginiz üzere Cisconun geliştirmiş olduğu GRE Tunnel teknolojisinde kendine ait bir şifreleme metodu bulunmamaktadır bu yüzden GRE Tunnel bağlantısı kurulan cihazlar arasında veri “Clear Text” olarak iletilmekte yani şifreleme olmamaktadır. Detaylı bilgi için aşağıdaki makalemi okumanızda fayda var.
https://www.firatmeray.com/sophos-xg-firewall-gre-tunnel-yapilandirmasi/
GRE Tunnel over IPSec bağlantısında Route önceliğini değiştirerek GRE üzerinden açılan trafiği IPsec paketi içerisine alıp karşı tarafa şifreli bir şekilde gönderilmesini sağlıyoruz. Detaylı bilgi için aşağıdaki makalemi okumanızda fayda var.
https://www.firatmeray.com/sophos-xg-firewall-gre-tunnel-over-ipsec/
GRE Tunnel over IPsec with OSPF deki amacımız ise GRE over IPSec tunnel bağlantısı sağlayarak Local Networklerin OSPF ile konuşturulmasını sağlamak. Bu yöntemde OSPF komşuluk ilişkilerinde paketler IPSEC üzerinden güvenli bir şekilde iletilmektedir. Detaylı bilgi için aşağıdaki makalemi okumanızda fayda var.
https://www.firatmeray.com/sophos-xg-firewall-gretunnel-over-ipsec-with-ospf/
OSPF over GRE Tunnel deki amacımız ise GRE tunnel bağlantısı sağlayarak Local Networklerin OSPF ile konuşturulmasını sağlamak. Bu yöntemde OSPF komşuluk ilişkilerinde paketler GRE Tunnel üzerinden şifreleme olmaksızın iletilmektedir.
Aşağıdaki şemamıza bakacak olursak öncelikle;
1. Adım: GRE Tunnel yapılandırıp Route önceliğini değiştirmeliyiz.
2. Adım: OSPF Network & Area tanımlaması yapmalıyız.

Branch Office (Şube) Sophos Firewall Config;
OSPF bağlantısı kurabilmemiz için WAN ETH MTU değerlerinin her iki cihaz içinde aynı olması gerekmektedir.Çünkü OSPF MTU değerini önemsemektedir. Eğer cihazlardan birinin Wan ETH MTU değeri farklı ise iletişim sağlanamayacaktır.
MTU (Maximum Transmission Unit) ağ iletişiminde bir birimin taşıyabileceğim maksimum bayt sayısını ifade etmektedir. Ethernet bağlantılarında MTU değeri maksimum 1500‘dür.
Eğer her iki lokasyonda xDSL devre kullanıyorsanız, xDSL ETH portlarda MTU değerini en uygun ve aynı değere çekmenizde fayda var. Detaylı bilgiye aşağıdaki linkten ulaşabilirsiniz.
https://www.firatmeray.com/sophos-xg-firewall-xdslpppoe-mtu-mss-hesaplama/
*** Not: Bir Lokasyonda xDSL diğer lokasyonda Metro Ethernet varsa MTU değerini default 1500 de bırakmalısınız.

Benim her iki lokasyonumda xDSL Line olduğu için en uygun MTU değerini 1492 MSS değerini ise 1444 olarak ayarladım.
MTU: 1492 – 48 (40 Byte(TCP 20 Bayt + IP 20 Bayt)) + (8 Byte PPP-Max-Payload))
MSS: 1444 olmalıdır.

Brach Office(Şube) GRE Config
MTU değerini ayarladıktan sonra GRE Tunnel bağlantımızı CLI üzerinden yazıyoruz.
system gre tunnel add name gre_hq local-gw Port2 remote-gw 78.188.34.94 local-ip 1.1.1.2 remote-ip 1.1.1.1
system gre tunnel show
Local-gw: Şube internet devresinin takılı olduğu port.
Remote-gw: Merkezdeki cihazın Wan ip adresi
Local-ip: GRE Virtual IP
Remote-ip: GRE Virtual IP

Brach Office(Şube) Route Precedence
system route_precedence show komutunu uyguladığınızda VPN routes, Static routes üzerinde olması gerekmektedir. Amacımız trafiğin IPsec üzerinden şifreli geçmesi olduğu için system route_precedence set policyroute vpn static komutu ile VPN yollarımızı Static yollarımızın üzerine çekiyoruz.
system route_precedence set policyroute vpn static
system route_precedence show
Her iki Firewalldada yollarımızın görüntüsü aşağıdaki gibi olmalıdır.

VPN bağlantısının oturup oturmadığını kontrol edebilmek için VPN üzerinden pinge izin veriyoruz.
Ayrıca VPN üzerinden OSPF komşuluk ilişkisi kurulabilmesi için Dynamic Routing alanını VPN Zonu için açıyoruz.

Brach Office(Şube) OSPF Config
Router ID alanına Şube Firewall Public IP adresini yazıyoruz.
Networks alanına GRE Tunnel ve Şube Local Networklerini yazıp Area alanlarını 0.0.0.0 olarak tanımlıyoruz.

Yada CLI üzerinden OSPF tanımlamak için aşağıdaki komutları kullanabilirsiniz.;
CLI\3.Route Configuration\1.Configure Unicast Routing\2.Configure OSPF
enable
configure terminal
router ospf
ospf router-id 62.29.19.179
network 1.1.1.0/24 area 0.0.0.0
network 192.168.2.0/24 area 0.0.0.0
write
OSPF tanımlamamızdan sonra Lokasyonların birbirine erişimi için Lan_To_VPN Access ve VPN_To_Lan Access kuralları tanımlamalıyız.
VPN_To_Lan Access Rule

Lan_To_VPN Access Rule

Head Office (Merkez) Sophos Firewall Config
OSPF bağlantısı kurabilmemiz için WAN ETH MTU değerlerinin her iki cihaz içinde aynı olması gerekmektedir.Çünkü OSPF MTU değerini önemsemektedir. Eğer cihazlardan birinin Wan ETH MTU değeri farklı ise iletişim sağlanamayacaktır.
MTU (Maximum Transmission Unit) ağ iletişiminde bir birimin taşıyabileceğim maksimum bayt sayısını ifade etmektedir. Ethernet bağlantılarında MTU değeri maksimum 1500‘dür.
Eğer her iki lokasyonda xDSL devre kullanıyorsanız, xDSL ETH portlarda MTU değerini en uygun ve aynı değere çekmenizde fayda var. Detaylı bilgiye aşağıdaki linkten ulaşabilirsiniz.
https://www.firatmeray.com/sophos-xg-firewall-xdslpppoe-mtu-mss-hesaplama/
*** Not: Bir Lokasyonda xDSL diğer lokasyonda Metro Ethernet varsa MTU değerini default 1500 de bırakmalısınız.

Benim her iki
lokasyonumda xDSL Line olduğu için en uygun MTU değerini 1492
MSS değerini ise 1444 olarak
ayarladım.
MTU: 1492 – 48 (40 Byte(TCP 20 Bayt
+ IP 20 Bayt))
+ (8 Byte
PPP-Max-Payload))
MSS: 1444 olmalıdır.

HQ Office(Merkez) GRE Config
MTU değerini ayarladıktan sonra GRE Tunnel bağlantımızı CLI üzerinden yazıyoruz.
system gre tunnel add name gre_office local-gw Port2 remote-gw 62.29.19.179 local-ip 1.1.1.1 remote-ip 1.1.1.2
system gre tunnel show
Local-gw: Şube internet devresinin takılı olduğu port.
Remote-gw: Merkezdeki cihazın Wan ip adresi
Local-ip: GRE Virtual IP
Remote-ip: GRE Virtual IP

HQ Office(Merkez) Route Precedence
system route_precedence show komutunu uyguladığınızda VPN
routes, Static routes üzerinde olması gerekmektedir.
Amacımız trafiğin IPsec üzerinden şifreli geçmesi olduğu
için system
route_precedence set policyroute vpn static komutu
ile VPN yollarımızı Static yollarımızın
üzerine çekiyoruz.
system
route_precedence set policyroute vpn static
system
route_precedence show
Her iki Firewalldada yollarımızın görüntüsü aşağıdaki gibi olmalıdır.

VPN bağlantısının oturup oturmadığını kontrol edebilmek için VPN üzerinden pinge izin veriyoruz.
Ayrıca VPN üzerinden OSPF komşuluk ilişkisi kurulabilmesi için Dynamic Routing alanını VPN Zonu için açıyoruz.

HQ Office(Merkez) OSPF Config
Router ID alanına Şube Firewall Public IP adresini yazıyoruz.
Networks alanına GRE Tunnel ve Şube Local Networklerini yazıp Area alanlarını 0.0.0.0 olarak tanımlıyoruz.

Yada CLI üzerinden OSPF tanımlamak için aşağıdaki komutları kullanabilirsiniz.;
CLI\3.Route Configuration\1.Configure Unicast Routing\2.Configure OSPF
enable
configure terminal
router ospf
ospf router-id 78.188.34.94
network 1.1.1.0/24 area 0.0.0.0
network 192.168.1.0/24 area 0.0.0.0
write
OSPF tanımlamamızdan sonra Lokasyonların birbirine erişimi için Lan_To_VPN Access ve VPN_To_Lan Access kuralları tanımlamalıyız.
VPN_To_Lan Access Rule

Lan_To_VPN Access Rule

Configure\Routing\Information alanından kontrol ettiğimizde OSPF Neighbor bilgisini görebiliriz.

##### Show Commands #####
system gre tunnel show
system gre route show
system route_precedence show
##### OSPF Show Commands #####
CLI\3.Route Configuration\1.Configure Unicast Routing\2.Configure OSPF
show ip ospf
show ip ospf neighbor
show ip ospf database
show ip ospf route
show ip ospf border-routers
show ip ospf interface gre_hq
show running-config show startup-config
##### Test #####
system gre tunnel show
system gre route show
system route_precedence show

show ip ospf

show ip ospf database

show ip ospf neighbor

show ip ospf route

show ip ospf interface gre_hq
show ip ospf interface gre_office

Head Office Ping + Tracert Test

Branch Office Ping + Tracert Test

Genel Config Özeti
##### Head Office #####
system gre tunnel add name gre_office local-gw Port2 remote-gw 62.29.19.179 local-ip 1.1.1.1 remote-ip 1.1.1.2
##### Branch Office #####
system gre tunnel add name gre_hq local-gw Port2 remote-gw 78.188.34.94 local-ip 1.1.1.2 remote-ip 1.1.1.1
##### Route Priority #####
system route_precedence set policyroute vpn static
##### Show Commands #####
system gre tunnel show
system gre route show
system route_precedence show
CLI / 5.Device Management / 3.Advanced Shell / route -n
##### OSPF Show Commands #####
CLI\3.Route Configuration\1.Configure Unicast Routing\2.Configure OSPF
show ip ospf
show ip ospf neighbor
show ip ospf database
show ip ospf route
show ip ospf border-routers
show ip ospf interface gre_hq
enable
configure terminal
show running-config
show startup-config
##### TCP Dump #####
Detaylı TCP Dump için aşağıdaki komutları kullanabilirsiniz.
CLI\5. Device Management\3. Advanced Shell
tcpdump -nei any host 192.168.1.5
CLI\4. Device Console
tcpdump “dst host 192.168.1.5”
CLI\5.Device Management\3.Advanced Shell
route -n
##### OSPF CLI Config #####
BO (Branch Office)
CLI\3.Route Configuration\1.Configure Unicast Routing\2.Configure OSPF
enable
configure terminal
router ospf
ospf router-id 62.29.19.179
network 1.1.1.0/24 area 0.0.0.0
network 192.168.2.0/24 area 0.0.0.0
write
HQ (Head Office)
CLI\3.Route Configuration\1.Configure Unicast Routing\2.Configure OSPF
enable
configure terminal
router ospf
ospf router-id 78.188.34.94
network 1.1.1.0/24 area 0.0.0.0
network 192.168.1.0/24 area 0.0.0.0
write
##### Delete GRE #####
HQ Office
system gre tunnel del name gre_office
Branch Office
system gre tunnel del name gre_hq
##### OSPF Kernel Route #####
*** Not: Varsayılan olarak OSPF Route‘ları Routing tablosunda gösterilmektedir. Böylelikle OSPF yollarının tekrardan kernel yönlendirme tablosuna(kernel routing table) eklenmesi sınırlandırılmıştır. Eğer KernelRouting tablosuna OSPF yolunu manuel eklemek isterseniz “ospf push-default-route-to-kernel” komutunu uygulamanız gerekmektedir. KernelRouting tablosundan eklemiş olduğunuz OSPF yollarını silmek isterseniz “no ospf push-default-route-to-kernel” komutunu uygulamanız gerekmektedir.
Umarım sizler için faydalı bir paylaşım olmuştur.
Fırat Meray | Network and Information Security Specialist
Bilginizi ve bilgilerinizi paylaştığınız için teşekkür ederiz, çok yararlı ve anlaşılır