2.0-RC3 (i386) NAT gereksizi ve port yönlendirme



  • merhaba
    http://forum.pfsense.org/index.php/topic,40865.0.html
    basliginda actigim konuda yanit alamayip, üzerine ekleme yapma gereksinimi duydugum icin affiniza siginarak yeni konu acma durumunda kaldim. simdi öncelikle nedir bu NAT in 2.0RC3 deki olayi biri net olarak izah edebilir mi?
    PFSense de Network Address Translation nasil calisir? örnegin port acmak istiyorum, bunu pfsense kullanirken neden nat üzerinden yapayim yaz fw rule i olsun bitsin. nat kismindan yaptiginda da zaten fw rule olarak eklemiyor mu?

    bu fw rule rezaletini de anlayamadim zaten.
    Source port range de aciklama kisminda yazan su ifadenin mantigi ne anlayamiyorum
    "Specify the source port or port range for this rule. This is usually random and almost never equal to the destination port range (and should usually be "any")."  gelen talep nasil rasgele porttan gelebilir ki? webden istekte bulunuyosan bu port 80 portudur, rdp yapiyosan 3389 dur https icin 443 dür vs vs. ki loglarda gördügüm source ip:56743,56731 gibi absürd portlar da bunu desteklemekte.

    şimdi ben web arayüzüne disaridan erisim icin 8998 gibi özel bir porttan giris yapmak istersem nasil bir kural tanimlayacagim?
    ya da localde varolan 2,3 tane uzakmasaüstü sunucusu icin;  source 3389 u x ip si 3389 a,  source 3390 u y 3389 a gibi portlari nasil yönlendirecegim?
    source port u any yaptigim zaman sikinti yok, (tek kural icin) ama belirli bir portu localde farkli bir porta yönlendirmeye calistigimda sorun oluyor

    tamam RC sürümü aday bir sürüm ama bir firewall da kurallari yönetemiyorsan kullanmanin ne anlami var ki?

    pfsense e bulasali henüz 2 gün oldu, ama bir kurali dahi dogru dürüst yazamadim :) ben mi cok beceriksizim yoksa RC sürümün eksiklikleri mi cok fazla?



  • bahsedilen rastgele port, kaynak bilgisayardan çıkışın yapıldığı port.
    yani siz bir web servera, hedef makinenin 80 nolu portuna giderek bağlanıyorsunuz, ancak kaynak makine de açılan port, örneğin 47756 gibi birşey olabilir.
    yani bir makinenin 80 nolu portu ile diğer makinenin 47756 nolu portu arasında veri alışverişi olur.

    forumda teorik bilgisi daha kuvvetli arkadaşlar var, onlar daha detaylı yazarlar belki.

    Şu anda pfsense'de nat ve firewall ile ilgili herhangi bir sorun yok aslında :)



  • @tekno:

    merhaba
    http://forum.pfsense.org/index.php/topic,40865.0.html
    basliginda actigim konuda yanit alamayip, üzerine ekleme yapma gereksinimi duydugum icin affiniza siginarak yeni konu acma durumunda kaldim. simdi öncelikle nedir bu NAT in 2.0RC3 deki olayi biri net olarak izah edebilir mi?
    PFSense de Network Address Translation nasil calisir? örnegin port acmak istiyorum, bunu pfsense kullanirken neden nat üzerinden yapayim yaz fw rule i olsun bitsin. nat kismindan yaptiginda da zaten fw rule olarak eklemiyor mu?

    bu fw rule rezaletini de anlayamadim zaten.
    Source port range de aciklama kisminda yazan su ifadenin mantigi ne anlayamiyorum
    "Specify the source port or port range for this rule. This is usually random and almost never equal to the destination port range (and should usually be "any")."  gelen talep nasil rasgele porttan gelebilir ki? webden istekte bulunuyosan bu port 80 portudur, rdp yapiyosan 3389 dur https icin 443 dür vs vs. ki loglarda gördügüm source ip:56743,56731 gibi absürd portlar da bunu desteklemekte.

    şimdi ben web arayüzüne disaridan erisim icin 8998 gibi özel bir porttan giris yapmak istersem nasil bir kural tanimlayacagim?
    ya da localde varolan 2,3 tane uzakmasaüstü sunucusu icin;  source 3389 u x ip si 3389 a,  source 3390 u y 3389 a gibi portlari nasil yönlendirecegim?
    source port u any yaptigim zaman sikinti yok, (tek kural icin) ama belirli bir portu localde farkli bir porta yönlendirmeye calistigimda sorun oluyor

    tamam RC sürümü aday bir sürüm ama bir firewall da kurallari yönetemiyorsan kullanmanin ne anlami var ki?

    pfsense e bulasali henüz 2 gün oldu, ama bir kurali dahi dogru dürüst yazamadim :) ben mi cok beceriksizim yoksa RC sürümün eksiklikleri mi cok fazla?

    Merhaba,
    Ben sorularınaza en alttan, üste doğru cevap vereceğim.
    *** pfsense e bulasali henüz 2 gün oldu, ama bir kurali dahi dogru dürüst yazamadim :) ben mi cok beceriksizim yoksa RC sürümün eksiklikleri mi cok fazla?**

    • Kendinizinde belirttiği gibi, henüz pfsense ile yeni tanışmanız şuana kadar başarısız olmanızda en büyük etken.
      Ancak pfsense yada benzeri ürünleri tanımaktan çok,
    • Temel network bilgisi, hatta büyük lokasyonlar için ciddi bir network bilgisi
    • Her durumda mesleki ingilizce ( teknik terimler için)
    • İşletim sistemlerini ve yapılarını tanıyabilme
      gibi yeterliliklere sahip olunmalı ve lokasyon büyüdükçe bu bilgiler üst seviyelere göre artmalıdır.

    *** tamam RC sürümü aday bir sürüm ama bir firewall da kurallari yönetemiyorsan kullanmanin ne anlami var ki?**

    • Pfsense 2. versiyonunu yayınladığı tarihten beri kullanıyorum ve neredeyse istediğim her hizmeti verdirmekteyim.
      Bug'ları olmakla birlikte, çözümler yazılım grubu yada kendi çapımızda çözümler ile yola devam etmekteyiz.
      2. versiyon yayına çıktığından beri rules tabında çok büyük hatalarlada karşılaşmadım.
      Üsttede belirttiğim gibi rule / nat yapılandırmalarında kafa yormanızı tavsiye ederim.

    *** şimdi ben web arayüzüne disaridan erisim icin 8998 gibi özel bir porttan giris yapmak istersem nasil bir kural tanimlayacagim?
    ya da localde varolan 2,3 tane uzakmasaüstü sunucusu icin;  source 3389 u x ip si 3389 a,  source 3390 u y 3389 a gibi portlari nasil yönlendirecegim?
    source port u any yaptigim zaman sikinti yok, (tek kural icin) ama belirli bir portu localde farkli bir porta yönlendirmeye calistigimda sorun oluyor**

    • En basit hali ile farklı portları içeriye yönlendirme için "basicnat" ekran görüntüsüne bakabilirsin.

    *** bu fw rule rezaletini de anlayamadim zaten.
    Source port range de aciklama kisminda yazan su ifadenin mantigi ne anlayamiyorum
    "Specify the source port or port range for this rule. This is usually random and almost never equal to the destination port range (and should usually be "any")."  gelen talep nasil rasgele porttan gelebilir ki? webden istekte bulunuyosan bu port 80 portudur, rdp yapiyosan 3389 dur https icin 443 dür vs vs. ki loglarda gördügüm source ip:56743,56731 gibi absürd portlar da bunu desteklemekte.**

    • Source port range özellikle farklı otomasyon sistemleri kullanan, çok lokasyonlu yada geniş subnetli projelerde kullanıyoruz.
      Önce koşmayı değil, emeklemeyi öğrenmeni tavsiye ederim.
      Birde ortada bir rezalet yok, anlayamadığın bir durum var. Bir fw rule yönetmek, basit bir durum değildir, networke yön verir.
      Konu gene bilgi eksikliğine gelir.

    *PFSense de Network Address Translation nasil calisir? örnegin port acmak istiyorum, bunu pfsense kullanirken neden nat üzerinden yapayim yaz fw rule i olsun bitsin. nat kismindan yaptiginda da zaten fw rule olarak eklemiyor mu?

    • Firewall rules tabında, genelde direk local network'e rule'lar oluşturur, çözümler sağlarsın.
      Standart olarak içden dışa direk çıkış sağlayabilir, dıştan içe erişim sağlayamazsın.
      Dıştan içe yollar nat ile yapılandırılır ve host - port-portlar bazında çalışır.
      Nat işlemini tamamladığında routing tabında yönlendirmen işleniyor ve verdiğin izinlere göre dıştan içe trafiği firewall yönetiyor.
      Gerekirse nat'ı kapatarak, pf transparent olarak kullanabilirsin. Pf / system / Advance / firewall- nat tabından gerçekleştirebilirsin.

    Son olarak herşey öğrenmeye çabalamak ile başlar. Pf hakkında türkçe ingilizce birçok makale ve türevi yazılar bulunmakta.
    İncelemeni tavsiye ederim.
    Keyifli çalışmalar




  • @tcjackal source port mantigini anlamadigim icin kullandigimiz malzemeye camur atmis oldum. yazilan kurallarda kullanilan source port: any ifadesinin ucu cok acik, burada problem olustu.

    source port mantigini pekistirmem icin herhangi bir örnek yazabilir misin?

    source port a dokunmadigimda hersey güllük gülistanlik (bunu önceki post da da yazmistim) demekki hic kurcalamasam sorun yasamayacaktim :)

    tesekkür eder iyi calismalar dilerim



  • @tekno:

    merhaba

    Merhaba

    @tekno:

    PFSense de Network Address Translation nasil calisir? örnegin port acmak istiyorum, bunu pfsense kullanirken neden nat üzerinden yapayim yaz fw rule i olsun bitsin. nat kismindan yaptiginda da zaten fw rule olarak eklemiyor mu?

    Evet ekliyor. Port yönlendirme yaptığınızda pfSense ilgili porta erişilmesi için otomatik olarak kural giriyor.

    @tekno:

    bu fw rule rezaletini de anlayamadim zaten.
    Source port range de aciklama kisminda yazan su ifadenin mantigi ne anlayamiyorum
    "Specify the source port or port range for this rule. This is usually random and almost never equal to the destination port range (and should usually be "any")."  gelen talep nasil rasgele porttan gelebilir ki? webden istekte bulunuyosan bu port 80 portudur, rdp yapiyosan 3389 dur https icin 443 dür vs vs. ki loglarda gördügüm source ip:56743,56731 gibi absürd portlar da bunu desteklemekte.

    Şahsi fikrimce ortada bir rezalet yok. Web (http) portu 80, rdp portu 3389, https portu 443 olarak tanımlanmıştır. Burada gözden kaçırdığınız nokta bu port numaralarının hedef port numaraları olduğu gerçeğidir. Sizin bilgisayarınız bir web sunucuna http istediği gönderirken, tpc başlık bilgisinde hedef port numarsı olarak 80 yazar. Ancak web sunucundan bize cevap dönebilmesi için bizim bilgisayarımızda da bir portun geçici olarak açılması gerekir ki bunu işletim sisteminiz 1024 den daha büyük rasgele bir port numarasını otomatik seçerek yapar. TCP iletişimi web sunucunun 80 nolu portu ile sizin sistemizde rasgele seçilmiş 1024 den büyük bir port arasında gerçekleşir. Sizin sisteminizedeki 3389 portuna gelen tcp paketlerinin "source port/kaynak port" değeri 3389 olmayacak, 1024 den büyük rasgele bir değer olacaktır…
    Bu durum Beej'in Ağ Programlama Kılavuzu ( http://www.belgeler.org/bgnet/bgnet.html ) isimli belgede şöyle ifade edilmiştir.

    "eğer connect() ile uzaktaki bir makinaya bağlanıyor ve yerel portunuzun ne olduğu ile ilgilenmiyorsanız (telnet uygulamasında olduğu gibi önemli olan sadece uzaktaki makinadaki port ise) kısaca connect() işlevini çağırırsınız ve zaten bu işlev de soketin bağlı olup olmadığını kontrol eder ve eğer soket bağlı değil ise bind() işlevini kullanarak bunu makinanızdaki kullanılmayan bir port numarasına bağlar."

    Uygulamarın bir çoğu gönderdikleri kaynak port ile ilgilenmezler işletim sisteminin kendilerine vereceği uygun bir portu kullanırlar. Durumu örneklemek için kendi sisteminde netstat komutuyla TCP bağlantılarını listelediğimde aşağıdaki gibi bir çıktı alıyorum.

    Aktif internet bağlantıları (servers and established)
    Proto Recv-Q Send-Q Local Address          Foreign Address        State     
    tcp        0      0 192.168.5.26:53728    69.64.6.7:80            ESTABLISHED
    tcp        0      0 192.168.5.26:53730    69.64.6.7:80            ESTABLISHED
    tcp        0      0 192.168.5.26:53733    69.64.6.7:80            ESTABLISHED

    Bu çıktıya bakılırsa 69.64.6.7 (forum.pfsense.org) sunucuna 80 nolu web portundan TCP bağlantısı yapmış durumdayım. Local Address kısmında ise benim bilgisayarım IP adrevi ve kullandığı yerel port numaraları yer alıyor. Benim bilgisayarımdaki 53728, 53730 ve 53733 portlardan 69.64.6.7 ip adresli forum.pfsense.org sunucunun 80 nolu web portuna 3 farklı TCP oturumu açılmış durumda. Bu bağlantılarda benim bilgisayarımdan çıkıp forum.pfsense.org sunucuna giden tüm paketlerin source port alanı 53728, 53730 veya 53733 olacaktır. Özetle; web istekleri için source port sizin düşündüğünüz gibi 80 OLMAYACAKtır. Temel TCP/IP konularına bir göz atmanız faydalı olabilir…

    @tekno:

    şimdi ben web arayüzüne disaridan erisim icin 8998 gibi özel bir porttan giris yapmak istersem nasil bir kural tanimlayacagim?
    ya da localde varolan 2,3 tane uzakmasaüstü sunucusu icin;  source 3389 u x ip si 3389 a,  source 3390 u y 3389 a gibi portlari nasil yönlendirecegim?
    source port u any yaptigim zaman sikinti yok, (tek kural icin) ama belirli bir portu localde farkli bir porta yönlendirmeye calistigimda sorun oluyor
    tamam RC sürümü aday bir sürüm ama bir firewall da kurallari yönetemiyorsan kullanmanin ne anlami var ki?
    pfsense e bulasali henüz 2 gün oldu, ama bir kurali dahi dogru dürüst yazamadim :) ben mi cok beceriksizim yoksa RC sürümün eksiklikleri mi cok fazla?

    Aynı portu doğrudan içerideki farklı sunuculara yönlendiremezsiniz. IP veya Source Port belirterek yönlendirme yapabilirsiniz. Ancak buradaki önemli nokta bağlantı sağlayacak uygulamaların pek çoğunun rasgele source port değerleri kullanacak olmasıdır. Bu nedenle yönledirmeniz çalışabilir, çalışmayabilir veya doğru çalışmayabilir. Her şey istemci makinede seçilen porta bağlı olacaktır.

    Bunun yerine; dışarıdan bağlacak IP adresleri sabit ise source IP kullanabilirsiniz. Ancak bu durumda sadece belirli IP adresleri, belirli sunuculara erişebilir. 11.22.33.44 IP Adresini A sunucuna yönlendirmişseniz, 11.22.33.44 IP adresli makine B sunucunuza aynı port üzerinden erişemez.

    İlla source port ile yönlendirme yapmak istiyorsanız, port forward sayfasında "Source port range" aralığını tanımlayarak yönlendirme yapabilirsiniz. Eğer iyi portlar seçmişseniz ve şanslıysanız yönlendirmeniz bazen çalışabilir :)

    Tek bağlantı için aşağıdaki alanları doğru şekilde seçerek port yönlendirme yaptığınızda pfsense üzerine düşen görevi yerine getirecektir.

    Interface: WAN
    Protocol: TCP
    Destination port range: 3389
    Redirect target IP: İç Ağdaki RDP Sunucu Adresi
    Redirect target port: 3389

    Eğer modeminzi NAT modunda çalışıyor ve pfSense cihazınız NAT ardında kalıyorsa bu durumda ilgili portları öncelikle modemden pfSense cihazınıza yönlendirmeniz gerekiyor tabii ki.

    @tekno:

    tamam RC sürümü aday bir sürüm ama bir firewall da kurallari yönetemiyorsan kullanmanin ne anlami var ki?
    pfsense e bulasali henüz 2 gün oldu, ama bir kurali dahi dogru dürüst yazamadim :) ben mi cok beceriksizim yoksa RC sürümün eksiklikleri mi cok fazla?

    pfSense için bazı sorunlar söz konusu olabilir, ama port yönlendirme veya firewall kurallarıyla iligli ciddi bir sorun olduğunu sanmıyorum. Muhemelen pfSense ile yeni tanıştığınızdan sorun yaşıyorsunuz. Biraz uğraşınca rahatlıkla çözüm üretebilirsiniz diye düşünüyorum…



  • Selamlar öncelikle,

    Aslına bakarsanız yapılmak isteneni çok kısa bir şekilde şöyle özetleyebilirim, ilk önce Firewall > Rules ta resim 1 deki gibi bir aralıga izin vereceksin. Bundan öncesinde eger ki adsl/Metro (yada bağlantınız ne ise) modeminizden ilgili portları pfsense in dış ip adresine yönlendirmiş olmanız gerekli. sonra da ikinci resimdeki gibi nat ayarlarını yapmalısınız Sonuçta kaçtane Rdp ya da port yönlendirmek istiyorsanız bunları NAT (Resim Nat_Rules) tablosunda göreceksiniz. Bendeki NAT tablsounda ipsec VPN de oldugu için o rullarıda göreceksin bu benim sistemimdeki ayarlardır. Örnek olması için gönderiyorum.

    Sabır ve Sevgiyle,
    SG








  • SGTR dediğin gibi 3389 portu açabildim işletmede spark şirket içi yazışma programı kullanıyoruz bunun 5222 5223 7777 portlarını 192.168.2.253 nolu ip ye yönlendirmem lazım dediğiniz gibi yaptım ama açılmadı port



  • @yozbek6:

    SGTR dediğin gibi 3389 portu açabildim işletmede spark şirket içi yazışma programı kullanıyoruz bunun 5222 5223 7777 portlarını 192.168.2.253 nolu ip ye yönlendirmem lazım dediğiniz gibi yaptım ama açılmadı port

    Selam tekrar,

    Bununla ilgili olarak modeminiz üzerinden ilgili portları pfSense wan ip adresine yönlendirip sonra da services > firewall > Wan sekmesine gelip izin vermek istediğiniz portları burada tanımlama yapıp sonra da NAT bölümünden yaptınız buna rağmen kurallarınız çalışmadı ise ekran görüntülerini paylaşırsanız yardımcı olmaya çalışayım.

    Sevgilerle,
    SGTR



  • bütün istediğim bütün portları yönlendirdim modemimden port açmadan pfsense üzerinde portlar açıldı. Modemi zaten bridge mode aldım yalnız bir tane kamera cihazımız var buna 81 portu atayacam ama olmuyor bu konuda yardımcı olurmusun



  • Selam,

    Bununla alakalı olarak firewall rules ve NAT tablonuzun ekran görüntülerini paylaşır mısınız?

    Sevgilerle,
    SGTR



  • :




  • :




  • Firewall rules resminiz okunamiyor. Çözünürlüğünü düzeltip tekrar yükler misiniz?

    Sevgilerle,
    SGTR



  • :




  • Kurallarınızın hepsi normal görünüyor. Burada size tavsiye edebileceğim şey networkunuzu sniff ederek gelen giden paketlerin davranışlarını (block, reject, deny vs) gözlemlemeniz daha dogru olacaktır. Gerekirse kameranın dökümanlarını okuyarak cihaz hakkında biraz bilgi sahibi olabilirsiniz. Dediğimi(network sniff) yapıp sonucu paylaşırsanız elimden geldiğince yardımcı olmaya çalışırım.

    Sevgilerle,
    SGTR



  • @yozbek6:

    bütün istediğim bütün portları yönlendirdim modemimden port açmadan pfsense üzerinde portlar açıldı. Modemi zaten bridge mode aldım yalnız bir tane kamera cihazımız var buna 81 portu atayacam ama olmuyor bu konuda yardımcı olurmusun

    Kamera cihazınızın varsayılan ağ geçidini kontrol edin. Büyük olasılıkla kamera cihazı gateway olarak pfsense'i kullanması gerektiğini bilmiyor…

    Saygılarımla...


Log in to reply