Eyni protokol üzərindən port forwarding

Salam,

Son zamanlar belə bir problemlə üzləşmişəm. Firewall-a kənardan daxil olan sorğularda qeyd olunan müraciətlərin URL-indən asılı olaraq fərqli serverlərə port forwarding həyata keçirmək lazımdır. Misal üçün https:\\contoso.com\test-1 (və ya https:\\test-1.contoso.com) daxildə 192.168.1.1 veb serverinə, https:\\contoso.com\test-2 (və ya https:\\test-2.contoso.com) isə daxildə 192.168.1.2 veb serverinə yönləndirilsin. Hal-hazırda bizdə Cisco ASA quraşdırıldığından qeyd olunan avadanlığın bu imkanı yoxdur. Ancaq fikirləşirəm ki, daxildə hər hansı soft Firewall (Kerio, TMG və s.) qaldırıb bütün https trafiki Cisco ASA-da bu soft firewalla yönəltmək, və artıq soft firewall üzərində URL-dən asılı olan bu yönəltməni yerinə yetirmək olar.

Sual isə budur ki, siz hər hansı bir soft firewall üzərindən bu tip əməliyyat yerinə yetirmisiz? Və ya bəlkə qeyd olunan problemlə artıq üzləşmisiniz və daha rahat həll yolu bilirsiniz?  Bu sahədə təcrubəsi olan mütəxəssislərin məsləhətini dinləmək istərdim.

Səs: 0. Bəyənilsin Zəifdir

Baxılıb: 3005 dəfə

Cavablar ( 9 )

  1. Salam. Adətən, siz qeyd etdiyiniz funksiyanallıq Load Balancing adlandırılır. Və bu tip işləri də ele Load Balancer appliance’lar görür. Bunlar əsasən çox böyük trafikləri üçün istifadə olunur. Barracuda və Radware şirkətlərinin məhsullarını nümunə göstərə bilərəm. Onların hətta virtual appliance versiyaları da mövcuddur. Amma sadəcə veb linkə əsasən yönləndirməni Linux distributivləri üzərində qurulmuş sistemlərlə (HAProxy) etmək də olar.
    P.S. Firewall’da load balancing dedikdə, adətən bir neçə WAN/ Internet interfeysdən outgoing traffikin paylanması/bölüşdürülməsi başa düşülür. Məsələn, Cisco ASA bunu dəstəkləyir. Software firewall olaraq qeyd edilən Kerio Control’da da load balancing dedikdə bu nəzərdə tutulur. Yəni, Kerio Control incoming load balancing edə bilmir.

    • Salam Azər bəy,

      Cavabınız üçün təşəkkür edirəm, ancaq ola bilin siz sualı düzgün başa düşməmisiz. Load balancing məndə hal hazırda sazlanıb və işləkdir. Mən etmək istədiyim tam fərqli bir şeydir. 

      • Salam, 

         “URL-indən asılı olaraq fərqli serverlərə “port forwarding” həyata keçirmək” – bu bizim bildiymiz Layer 7 load balancing’dir (Load Balancer ADC). Aşağıdakı linkdə  nəzər yetirərdiz:

        https://www.nginx.com/resources/glossary/layer-7-load-balancing/

        Layer 7 load balancing operates at the high-level application layer, which deals with the actual content of each message. HTTP is the predominant Layer 7 protocol for website traffic on the Internet. Layer 7 load balancers route network traffic in a much more sophisticated way than Layer 4 load balancers, particularly applicable to TCP-based traffic such as HTTP. A Layer 7 load balancer terminates the network traffic and reads the message within. It can make a load-balancing decision based on the content of the message (the URL or cookie, for example). It then makes a new TCP connection to the selected upstream server (or reuses an existing one, by means of HTTP keepalives) and writes the request to the server. 

         

         

      • Məncə, siz “load balancing” ifadəsini birbaşa mənasında qəbul edirsiz. Bunun işi yalnız yükü nod’lar arasında bərabər/tarazlaşmış paylamaqdan ibarət deyil. Layer 7 Load balancer həmçinin gələn sorğuya (Http URL kimi) əsasən həmin sorğunu məhz qeyd olunmuş servere yönəltmək imkanına malikdir. Bu daha çox Enterprise level də istifadə olunur. Kiçik və orda proyektlərdə əlbəttədə ki, daha sadə həllər lazım olur.      

        • Azər bəy sizinlə tamamilə razıyam, sadəcə mən praktikamda daha əvvəllər belə bir şey etməmişəm. Bu səbəbdən sualı yazdım ki, bəlkə konkret olaraq bu problemlə daha əvvəl üzləşən və onu həll edə bilən bir kimsə mənə kömək edər və vaxt sərfiyyatım azalar.

          Cisco ASA və Kerioda bu imkanı ümumiyyətlə görmədim. TMG-yə ümid edirdim ancaq o da öhdəsindən gəlmədi və ya mən sazlamanı düz eləmədim. Hər hansı digər vasitə məsləhət görə bilərsinizsə minnətdar olaram.

  2. Salam,
    İlk öncə daxildə yoxlamaq lazımdır ki,
    https:\\test-1.contoso.com – 192.168.1.1
    https:\\test-2.contoso.com – 192.168.1.2
    bu ünvanlandırma işləyirmi?

    Əgər işləyirsə, bu zaman TMG`dən istifadə edə bilərsiniz. Aşağıdakı məqalə yə baxmağınızı tövsiyyə edirəm.
    http://www.vkernel.ro/blog/publishing-multiple-http-web-sites-with-tmg-2010

    • Salam Turqut bəy,

      Köməkliyiniz üçün təşəkkür edirəm, TMG ilə bu problemi həll etməyə çalışaram. Nəticəsi barədə burada bildirəcəm.

      • TMG ilə variantı yoxladım ancaq nəsə alınmadı. Bəlkədə mən düz eləmirəm nəyisə, TMG-dən elə də dərin biliklərim yoxdur. Ancaq nəticə bu oldu ki, birinci serverə qoşulma yarandı, ancaq ikinci serverə yönəlməli olan URL də birinci serverə yönəldi.

  3. Salamlar,

    TGM-ile bunu etmek mumkundur. Ama nisbeten daha sade yolla da etmek olar. Mes:

    Bir Linux server qurursuz. Apache web server  install edirsiniz.  Apache -de 2 VirtualHost config edirsiniz.  VirtualHostun birini  https:\test-1.contoso.com digerini ise   https:\test-2.contoso.com

    serverine yoneldirsiniz. (Bunun ucun mod_proxy  istifade ede bilersiniz.   https://confluence.atlassian.com/doc/using-apache-with-virtual-hosts-and-mod_proxy-173685.html)  ProxyPass hissesinde arxada web url-ler ucun dayanan serverlerin adlearini  ve ya ip lerini yazirsiniz.Adla yazdiginiz halda Linux server bu adlari resolve ede bilmeldi.

    Cisco ASA-da  80 -ci portu daxilde olan bu Linux serverin 80 ci portuna yonlendirirsiniz.  Linux server ASA-dan aldigi web sorgunun HTTP Headerinde Host fieldine (userin browserde daxil etdiyi unvan) esasen  bu http sorgunun hansi web servere yoneldilmeli olduguna qerar verir ve yoneltmeni edir ve neticede siz istedyinizi elde etmis olacaqsiniz.  Http den https- e yoneltmeni de hemin bu Linux server uzerinde ede   ve ya bu isi  arxada dayanan her bir serverin oz uzerinde de ede bilersiniz.

    Ugurlar.

     

     

     

Cavab yazın