Bu Blogda Ara

HA PROXY

Merhabalar, bildiğiniz gibi pfsense üzerinde çalışmalar yapıyorum ve bu çalışmalarımı araştırıp yaparak yazıya döküp faydalı olması açısından sizlerle de paylaşıyorum.

Bu yazımda  öncelikle size haproxy nedir ne amaçla kullanılır onlardan biraz bahsedeyim.
Yük dengeleme özelliklerine sahip bir http/tcp servisidir. GitHub, Reddit, Twitter ve Tumblr gibi siteler bu servisi kullanan birkaç örnek sayfalardır.
HaProxy, ön uc ve arka uc olarak adlandırılan üstünde iki yapı işletiyor.
Ön uc; gelen trafiğin HAProxy'nin arkasındaki makinelere nereye ve nasıl yönlendirildiğini belirler. Yük dengeleyicinin gelen ve giden trafiği izleyerek trafiği yönlendirecek kurallar (ACL'ler) kurmamıza olanak tanır.
Arka uc; trafiğin ön uçlarınızda yapılandırdığınız kurallara göre yönlendirileceği yerdir.
Arka uç kaynak grupları tek bir sunucudan veya birden çok sunucudan oluşabilir.
Yukarıda bahsettiğim ACL, " Access Control List " birden fazla arka uç içeren ve çok hassas bir yönlendirmeye ihtiyaç duyan daha derinlemesine ve karmaşık yapılandırmaların omurgasıdır.
HAProxy, OSI modelinde Katman 4 veya Katman 7 üzerinde denge yükleyebildiğinden, birden fazla ön uç ve arka uçla aynı anda birkaç farklı kullanım için etkili bir şekilde yapılandırabilirsiniz.

Topoloji:


Uygulama:
Pfsense üzerinde ilk önce package manager üzerinden haproxy servisini aratarak kuruyoruz. Bende daha öncesinde kurulu olduğu için sizde de kurulduğunda aşağıdaki şekilde gözükecektir.

Bu uygulamayı yapabilmemiz için en az iki bilgisayarınızın olması lazım. Ben 4 bilgisayar üzerinde ve  dns server olarak toplam 5 bilgisayar üzerinde işlemleri gerçekleştirdim. DNS'in neden gerekli olduğunu ileriki aşamalarda gösterip anlatacağım. Bu arada sanal bilgisayarlar üzerinden de yapabilirsiniz.

2- Kurduğumuz bilgisayarlar üzerinde IIS servisini kuralım.

Server üzerinde kuracaksak eğer;



Windows bilgisayar üzerinde denetim masasından IIS servisini kurmamız gerekmektedir.


Kurulumlardan sonra IIS servislerini ayarlayım. Resimlerle adım adım ilerleyeceğim.



 Physical path: IIS servisini kurduktan sonra C: nin altında klasör oluşur. Yaptığınız sitelerin yolunu buradan ekliyoruz.

IIS-1


IIS-2
IIS-2

IIS-3
IIS-3

IIS-4

3- DNS Ayarları
DNS üzerinde Forward Lookup Zone oluşturup her birine Host (A) kayıtları ekliyoruz. Host (A) kaydı eklememizin sebebi ise "www" olduğunu belirtmektir. Aksi halde siteye localhosttan bile ulaşılamaz. Zoneları oluşturup Host (A) kayıtlarını girdikten sonra www.noblue.com yazarak siteye ulaşılabilirim.



4- Pfsense üzerinde ayarlamalar
Servislerden HAProxy'i seçip backend ve frontend ayarlamarına geçelim.
4.a- Backend



4.b- Frontend






4.c- Aliases

IIS bilgisayarımızın ip adreslerini tek tek ekliyoruz. Buradaki olay bu dört ISS cihazları arasında load balance işlemini gerçekleştirmektir.




4.d- Rules

HTTP portları 80/443'tür. Backend tarafında adres portlarına 80 yazdık. Bu firewall üzerindeki bütün 80 portlarına izin ver anlamında rule oluşturuyoruz.




5- Test Aşaması

Benim test ortamımdaki dış bacak (WAN) ip adresim 172.16.40.236 ve www.noblue.com adresine sorgu göndermek istiyorum. Bunu curl ile uyguluyorum.


Aynı sorguyu iki kere gönderdiğim zaman bana farklı IIS bilgisayarlarından yanıt geldi. Biri web server 2 / 172.30.1.82 diğeri ise web server 3 / 172.30.1.84 

Diğer sorguyuda www.nored.com sitesine gönderelim.


Aynı şekilde farklı IIS bilgisayarından cevap döndü. HaProxy ile load balance işlemimiz başarılı şekilde çalışmıştır.

Elimden geldiğince size aktarmaya çalıştım. Umarım yardımcı olur.

Herkese kolay gelsin.


Hiç yorum yok:

Yorum Gönder