[FreeBSD] Re: IPFW ve Squid ile transparan proxy

2008-11-25 Başlik Cagri Ersen
Tekrar merhaba,

Sorunu çözdüm, ileride belki başka arkadaşların da ihtiyacı olabilir;

IPFW'nin forward eden rule'u stateless olduğu için squid'in yaptığı istekler
için dışarıdan gelen cevaplar kabul edilmiyordu.
kurala keep-state parametresini ekleyerek sorunu cozdum. Bu sekilde
baglantinin durumu takip edildigi icin cevaben gelen paketler kabul
ediliyor.

$cmd 00500 fwd 127.0.0.1,3128 $log tcp from any to any 80 in recv $lanif
keep-state

Kolay gelsin.



2008/11/23 Cagri Ersen [EMAIL PROTECTED]

 Merhaba,

 IPFW+Squid ile transparan proxy yapılandırması ile uğraşıyorum.
 Bir FreeBSD 7.0 üzerinde IPFW'yi devreye aldım ve squid 2.7 kurdum.

 Squid'in conf dosyası aşağıdaki gibi:

 acl manager proto cache_object
 acl localhost src 127.0.0.1/32
 acl to_localhost dst 127.0.0.0/8
 acl all src all
 acl localnet src 192.168.12.0/24
 acl SSL_ports port 443
 acl Safe_ports port 80  # http
 acl Safe_ports port 21  # ftp
 acl Safe_ports port 443 # https
 acl Safe_ports port 70  # gopher
 acl Safe_ports port 210 # wais
 acl Safe_ports port 1025-65535  # unregistered ports
 acl Safe_ports port 280 # http-mgmt
 acl Safe_ports port 488 # gss-http
 acl Safe_ports port 591 # filemaker
 acl Safe_ports port 777 # multiling http
 acl CONNECT method CONNECT
 http_access allow manager localhost
 http_access deny manager
 http_access deny !Safe_ports
 http_access deny CONNECT !SSL_ports
 http_access allow localnet
 icp_access allow localnet
 icp_access deny all
 http_port 3128 transparent
 hierarchy_stoplist cgi-bin ?
 access_log /usr/local/squid/logs/access.log squid
 refresh_pattern ^ftp:   144020% 10080
 refresh_pattern ^gopher:14400%  1440
 refresh_pattern (cgi-bin|\?)0   0%  0
 refresh_pattern .   0   20% 4320
 icp_port 3130
 coredump_dir /usr/local/squid/cache


 IPFW'de, aşağıdaki örnek satırda görüldüğü gibi içeriden 80'e gelen
 istekleri 3128'e iletiyorum.

 $cmd 00500 fwd 127.0.0.1,3128 $log tcp from any to any 80 in recv
 $lanif   #PROXY


 Bu yapıda, eğer IPFW'de herşeyi allow edersem proxy transparan olarak
 çalışabiliyor ve iç networkteki bilgisayarlar
 Ancak firewall politikasini değiştirip herşeyi deny ettikten sonra izinli
 portlari vs. tanimlarsam sorun oluşuyor.

 Herşeyin deny edildiği örnek firewall rule'ları aşağıda.

 $cmd 00010 allow all from any to any via lo0

  $cmd 00015 check-state

 $cmd 00020 allow tcp from any to any established
 $cmd 00021 deny all from any to any frag in via $adslif
 $cmd 00025 allow all from me to any keep-state
 $cmd 00050 allow tcp from table() to any keep-state

 $cmd 00500 fwd 127.0.0.1,3128 $log tcp from any to any 80 in recv
 $lanif   #PROXY

 #DNS
 $cmd 00600 allow all from $lan to any 53
 $cmd 00602 allow udp from any 53 to any out via $lanif keep-state  #Geri
 donus
 $cmd 00603 allow udp from any 53 to any in via $adslif keep-state  #Geri
 donus

 $cmd 01500 allow all from $lan to any 443,25,110 keep-state
 $cmd 02000 deny $log all from any to any
 #Geri kalan hersey yasakli


 Bu yapıda deneme yaptığımda ipfw loglarında geçen herhangi bir ters duruma
 rastlamadım. ( ya da yakalayamadım.) Aynı zamanda, squid'in access logunda
 herhangi bir işlem kaydı bulunmuyor. Yani sanki ipfw yönlendirme işini
 yapamıyor gibi. Muhtemelen gözümden bir şey kaçıyor ama henüz çözüm
 bulamadım.

 Daha önce benzer bir durumla karşışatınız mı acaba ?
 Şimdiden teşekkür ederim.

 Not: Network bir dsl modemim arkasında bulunuyor ve kullanulan ip networkü
 192.168.12.0/24
 --
 Cagri Ersen




-- 
Cagri Ersen


Re: [FreeBSD] Re: IPFW ve Squid ile transparan proxy

2008-11-25 Başlik Zafer BAHADIR

FreeBSD üzerinde bu şekilde bir deneyimim hiç olmadı. :)

Örneğinizi denemek istiyorum, çalıştığından emin olduktan sonra izin 
verirseniz sitemizde yayınlamak isteriz çünkü bu değerli deneyimler 
kaybolmasın ve denemek isteyenler için kolayca erişilebilsin.


Cagri Ersen yazmış:

Tekrar merhaba,

Sorunu çözdüm, ileride belki başka arkadaşların da ihtiyacı olabilir;

IPFW'nin forward eden rule'u stateless olduğu için squid'in yaptığı 
istekler için dışarıdan gelen cevaplar kabul edilmiyordu.
kurala keep-state parametresini ekleyerek sorunu cozdum. Bu sekilde 
baglantinin durumu takip edildigi icin cevaben gelen paketler kabul 
ediliyor.


$cmd 00500 fwd 127.0.0.1 http://127.0.0.1/,3128 $log tcp from any to 
any 80 in recv $lanif keep-state


Kolay gelsin.



2008/11/23 Cagri Ersen [EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED]


Merhaba,

IPFW+Squid ile transparan proxy yapılandırması ile uğraşıyorum.
Bir FreeBSD 7.0 üzerinde IPFW'yi devreye aldım ve squid 2.7 kurdum.

Squid'in conf dosyası aşağıdaki gibi:

acl manager proto cache_object
acl localhost src 127.0.0.1/32 http://127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 http://127.0.0.0/8
acl all src all
acl localnet src 192.168.12.0/24 http://192.168.12.0/24
acl SSL_ports port 443
acl Safe_ports port 80  # http
acl Safe_ports port 21  # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70  # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
icp_access allow localnet
icp_access deny all
http_port 3128 transparent
hierarchy_stoplist cgi-bin ?
access_log /usr/local/squid/logs/access.log squid
refresh_pattern ^ftp:   144020% 10080
refresh_pattern ^gopher:14400%  1440
refresh_pattern (cgi-bin|\?)0   0%  0
refresh_pattern .   0   20% 4320
icp_port 3130
coredump_dir /usr/local/squid/cache


IPFW'de, aşağıdaki örnek satırda görüldüğü gibi içeriden 80'e
gelen istekleri 3128'e iletiyorum.

$cmd 00500 fwd 127.0.0.1 http://127.0.0.1,3128 $log tcp from
any to any 80 in recv $lanif   #PROXY

 
Bu yapıda, eğer IPFW'de herşeyi allow edersem proxy transparan

olarak çalışabiliyor ve iç networkteki bilgisayarlar
Ancak firewall politikasini değiştirip herşeyi deny ettikten sonra
izinli portlari vs. tanimlarsam sorun oluşuyor.

Herşeyin deny edildiği örnek firewall rule'ları aşağıda.

$cmd 00010 allow all from any to any via lo0  

 $cmd 00015 check-state  

$cmd 00020 allow tcp from any to any established  
$cmd 00021 deny all from any to any frag in via $adslif

$cmd 00025 allow all from me to any keep-state
$cmd 00050 allow tcp from table() to any keep-state

$cmd 00500 fwd 127.0.0.1 http://127.0.0.1,3128 $log tcp from
any to any 80 in recv $lanif   #PROXY

#DNS
$cmd 00600 allow all from $lan to any 53
$cmd 00602 allow udp from any 53 to any out via $lanif
keep-state  #Geri donus
$cmd 00603 allow udp from any 53 to any in via $adslif
keep-state  #Geri donus

$cmd 01500 allow all from $lan to any 443,25,110 keep-state
$cmd 02000 deny $log all from any to
any#Geri kalan hersey yasakli


Bu yapıda deneme yaptığımda ipfw loglarında geçen herhangi bir
ters duruma rastlamadım. ( ya da yakalayamadım.) Aynı zamanda,
squid'in access logunda herhangi bir işlem kaydı bulunmuyor. Yani
sanki ipfw yönlendirme işini yapamıyor gibi. Muhtemelen gözümden
bir şey kaçıyor ama henüz çözüm bulamadım.

Daha önce benzer bir durumla karşışatınız mı acaba ?
Şimdiden teşekkür ederim.

Not: Network bir dsl modemim arkasında bulunuyor ve kullanulan ip
networkü 192.168.12.0/24 http://192.168.12.0/24
-- 
Cagri Ersen





--
Cagri Ersen



FreeBSD 6 kitabi: http://www.acikakademi.com/catalog/freebsd6
-
Listeye soru sormadan once lutfen http://ipucu.enderunix.org sitesine bakiniz.

Cikmak icin, e-mail: [EMAIL PROTECTED]
Liste arsivi: http://news.gmane.org/gmane.org.user-groups.bsd.turkey




Re: [FreeBSD] Re: IPFW ve Squid ile transparan proxy

2008-11-25 Başlik Cagri Ersen
Aslında, yaptığım kurulumların notlarını, döküman olması açısından kendi
blogumda yayınlıyorum; IPFW + Squid ile transparan proxy uygulaması için de
notları paylaşacağım. Bu konu dışında nacizane bir kaç not daha mevcut.
Elbette istediğiniz gibi alıp yayınlayabilirsiniz.

http://blog.cagriersen.net/arsiv/

Selamlar.

2008/11/25 Zafer BAHADIR [EMAIL PROTECTED]

 FreeBSD üzerinde bu şekilde bir deneyimim hiç olmadı. :)

 Örneğinizi denemek istiyorum, çalıştığından emin olduktan sonra izin
 verirseniz sitemizde yayınlamak isteriz çünkü bu değerli deneyimler
 kaybolmasın ve denemek isteyenler için kolayca erişilebilsin.

 Cagri Ersen yazmış:

 Tekrar merhaba,

 Sorunu çözdüm, ileride belki başka arkadaşların da ihtiyacı olabilir;

 IPFW'nin forward eden rule'u stateless olduğu için squid'in yaptığı
 istekler için dışarıdan gelen cevaplar kabul edilmiyordu.
 kurala keep-state parametresini ekleyerek sorunu cozdum. Bu sekilde
 baglantinin durumu takip edildigi icin cevaben gelen paketler kabul
 ediliyor.

 $cmd 00500 fwd 127.0.0.1 http://127.0.0.1/,3128 $log tcp from any to
 any 80 in recv $lanif keep-state

 Kolay gelsin.



 2008/11/23 Cagri Ersen [EMAIL PROTECTED] mailto:
 [EMAIL PROTECTED]

Merhaba,

IPFW+Squid ile transparan proxy yapılandırması ile uğraşıyorum.
Bir FreeBSD 7.0 üzerinde IPFW'yi devreye aldım ve squid 2.7 kurdum.

Squid'in conf dosyası aşağıdaki gibi:

acl manager proto cache_object
acl localhost src 127.0.0.1/32 http://127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 http://127.0.0.0/8
acl all src all
acl localnet src 192.168.12.0/24 http://192.168.12.0/24

acl SSL_ports port 443
acl Safe_ports port 80  # http
acl Safe_ports port 21  # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70  # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
icp_access allow localnet
icp_access deny all
http_port 3128 transparent
hierarchy_stoplist cgi-bin ?
access_log /usr/local/squid/logs/access.log squid
refresh_pattern ^ftp:   144020% 10080
refresh_pattern ^gopher:14400%  1440
refresh_pattern (cgi-bin|\?)0   0%  0
refresh_pattern .   0   20% 4320
icp_port 3130
coredump_dir /usr/local/squid/cache


IPFW'de, aşağıdaki örnek satırda görüldüğü gibi içeriden 80'e
gelen istekleri 3128'e iletiyorum.

$cmd 00500 fwd 127.0.0.1 http://127.0.0.1,3128 $log tcp from
any to any 80 in recv $lanif   #PROXY

Bu yapıda, eğer IPFW'de herşeyi allow edersem proxy transparan
olarak çalışabiliyor ve iç networkteki bilgisayarlar
Ancak firewall politikasini değiştirip herşeyi deny ettikten sonra
izinli portlari vs. tanimlarsam sorun oluşuyor.

Herşeyin deny edildiği örnek firewall rule'ları aşağıda.

$cmd 00010 allow all from any to any via lo0
 $cmd 00015 check-state
$cmd 00020 allow tcp from any to any established  $cmd
 00021 deny all from any to any frag in via $adslif
$cmd 00025 allow all from me to any keep-state
$cmd 00050 allow tcp from table() to any keep-state

$cmd 00500 fwd 127.0.0.1 http://127.0.0.1,3128 $log tcp from
any to any 80 in recv $lanif   #PROXY

#DNS
$cmd 00600 allow all from $lan to any 53
$cmd 00602 allow udp from any 53 to any out via $lanif
keep-state  #Geri donus
$cmd 00603 allow udp from any 53 to any in via $adslif
keep-state  #Geri donus

$cmd 01500 allow all from $lan to any 443,25,110 keep-state
$cmd 02000 deny $log all from any to
any#Geri kalan hersey yasakli


Bu yapıda deneme yaptığımda ipfw loglarında geçen herhangi bir
ters duruma rastlamadım. ( ya da yakalayamadım.) Aynı zamanda,
squid'in access logunda herhangi bir işlem kaydı bulunmuyor. Yani
sanki ipfw yönlendirme işini yapamıyor gibi. Muhtemelen gözümden
bir şey kaçıyor ama henüz çözüm bulamadım.

Daha önce benzer bir durumla karşışatınız mı acaba ?
Şimdiden teşekkür ederim.

Not: Network bir dsl modemim arkasında bulunuyor ve kullanulan ip
networkü 192.168.12.0/24 http://192.168.12.0/24
--Cagri Ersen




 --
 Cagri Ersen



 FreeBSD 6 kitabi: http://www.acikakademi.com/catalog/freebsd6
 

Re: [FreeBSD] Re: IPFW ve Squid ile transparan proxy

2008-11-25 Başlik Zafer BAHADIR

Yayınlıyorsanız sorun yok. :)
İhtiyacım olduğunda sitenizden bakarım.
Teşekkürler.

Cagri Ersen yazmış:
Aslında, yaptığım kurulumların notlarını, döküman olması açısından 
kendi blogumda yayınlıyorum; IPFW + Squid ile transparan proxy 
uygulaması için de notları paylaşacağım. Bu konu dışında nacizane bir 
kaç not daha mevcut. Elbette istediğiniz gibi alıp yayınlayabilirsiniz.


http://blog.cagriersen.net/arsiv/

Selamlar.

2008/11/25 Zafer BAHADIR [EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED]


FreeBSD üzerinde bu şekilde bir deneyimim hiç olmadı. :)

Örneğinizi denemek istiyorum, çalıştığından emin olduktan sonra
izin verirseniz sitemizde yayınlamak isteriz çünkü bu değerli
deneyimler kaybolmasın ve denemek isteyenler için kolayca
erişilebilsin.

Cagri Ersen yazmış:

Tekrar merhaba,

Sorunu çözdüm, ileride belki başka arkadaşların da ihtiyacı
olabilir;

IPFW'nin forward eden rule'u stateless olduğu için squid'in
yaptığı istekler için dışarıdan gelen cevaplar kabul edilmiyordu.
kurala keep-state parametresini ekleyerek sorunu cozdum. Bu
sekilde baglantinin durumu takip edildigi icin cevaben gelen
paketler kabul ediliyor.

$cmd 00500 fwd 127.0.0.1 http://127.0.0.1
http://127.0.0.1/,3128 $log tcp from any to any 80 in recv
$lanif keep-state

Kolay gelsin.



2008/11/23 Cagri Ersen [EMAIL PROTECTED]
mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]


   Merhaba,

   IPFW+Squid ile transparan proxy yapılandırması ile uğraşıyorum.
   Bir FreeBSD 7.0 üzerinde IPFW'yi devreye aldım ve squid 2.7
kurdum.

   Squid'in conf dosyası aşağıdaki gibi:

   acl manager proto cache_object
   acl localhost src 127.0.0.1/32 http://127.0.0.1/32
http://127.0.0.1/32
   acl to_localhost dst 127.0.0.0/8 http://127.0.0.0/8
http://127.0.0.0/8
   acl all src all
   acl localnet src 192.168.12.0/24
http://192.168.12.0/24 http://192.168.12.0/24

   acl SSL_ports port 443
   acl Safe_ports port 80  # http
   acl Safe_ports port 21  # ftp
   acl Safe_ports port 443 # https
   acl Safe_ports port 70  # gopher
   acl Safe_ports port 210 # wais
   acl Safe_ports port 1025-65535  # unregistered ports
   acl Safe_ports port 280 # http-mgmt
   acl Safe_ports port 488 # gss-http
   acl Safe_ports port 591 # filemaker
   acl Safe_ports port 777 # multiling http
   acl CONNECT method CONNECT
   http_access allow manager localhost
   http_access deny manager
   http_access deny !Safe_ports
   http_access deny CONNECT !SSL_ports
   http_access allow localnet
   icp_access allow localnet
   icp_access deny all
   http_port 3128 transparent
   hierarchy_stoplist cgi-bin ?
   access_log /usr/local/squid/logs/access.log squid
   refresh_pattern ^ftp:   144020% 10080
   refresh_pattern ^gopher:14400%  1440
   refresh_pattern (cgi-bin|\?)0   0%  0
   refresh_pattern .   0   20% 4320
   icp_port 3130
   coredump_dir /usr/local/squid/cache


   IPFW'de, aşağıdaki örnek satırda görüldüğü gibi içeriden 80'e
   gelen istekleri 3128'e iletiyorum.

   $cmd 00500 fwd 127.0.0.1 http://127.0.0.1
http://127.0.0.1,3128 $log tcp from

   any to any 80 in recv $lanif   #PROXY

   Bu yapıda, eğer IPFW'de herşeyi allow edersem proxy
transparan
   olarak çalışabiliyor ve iç networkteki bilgisayarlar
   Ancak firewall politikasini değiştirip herşeyi deny
ettikten sonra
   izinli portlari vs. tanimlarsam sorun oluşuyor.

   Herşeyin deny edildiği örnek firewall rule'ları aşağıda.

   $cmd 00010 allow all from any to any via lo0  
$cmd 00015 check-state  
   $cmd 00020 allow tcp from any to any established  
   $cmd 00021 deny all from any to any frag in via $adslif

   $cmd 00025 allow all from me to any keep-state
   $cmd 00050 allow tcp from table() to any keep-state

   $cmd 00500 fwd 127.0.0.1 http://127.0.0.1
http://127.0.0.1,3128 $log tcp from

   any to any 80 in recv $lanif   #PROXY

   #DNS
   $cmd 00600 allow all from $lan to any 53
   $cmd 00602 allow udp from any 53 to any out via $lanif
   keep-state  #Geri