Sayfa: [1]   Aşağı git
  Yazdır  
Gönderen Konu: Debian Üzerine Squid Proxy Kurulumu  (Okunma Sayısı 428 defa)
redputty
Ziyaretçi
« : 22 Nisan 2008, 17:30:22 »

Debian üzerine Squid Proxy kurulumu



Adim 1 (Squid Kurulur)

Kod:
#apt-get install squid

Gelen uyariya evet yada enter ile onay verilir ve  squid 'in guncel versiyonu indirilir ve kurulur.


Adim 2 (Temel Yapilandirma)

Squid kurulum islemi basariyla tamamlandi ise bu adim ile devam edebiliriz.

sysctl.conf dosyasinda ip forward 'i enable etmemiz icin net/ipv4/ip_forward=1 satirinin olmasi gerekiyor. Verilen komut ile bu islemi dosyayi acmadan zahmetsiz bir sekilde ekleyebilirsiniz.

Kod:
#cat >> etc/sysctl.conf
net/ipv4/ip_forward=1

CTRL + C ile kaydediyoruz.

Artik ip forward 'i aktif etmis durumdayiz.

Kod:
#etc/init.d/networking restart
  komutlari ile ag konfigurasyonlarini yeniden baslatarak ayarlarin etkin olmasini saglayabiliriz.

Kod:
#cat proc/sys/net/ipv4/ip_forward

komutu ile ip_forward dosyasina bakarak 1 sonucu gormemiz gerekiyor. Sayet 0 goruyorsak Adim 2 konfigurasyonlarini tekrar gozden gecirmeniz lazim.


Adim 3  (Temel Yapilandirma)

Bu adimda iptables ile istemcilerden 80. porta gelen isteklerini 3128. porta yonlendirmemiz gerekiyor. 3128 portu squid 'in calistigi standart porttur. İstege gore degistirilebilir.
Burada benim Squid kurdugum bilgisayarin IP adresi 192.168.1.37 ağ gecidim ise 192.168.1.1 o yuzden konsolda asagidaki komutu verecegim.

Kod:
#iptables -t nat -A PREROUTING -d 192.168.1.1 -p tcp --dport 80 -j DNAT --to 192.168.1.37:3128




Adim 4 (Squid Yapilandirma)

Squid ile ilgili ayarlari yapacagimiz dosya squid.conf 'dur.

Oncelikle; http_accel_host virtual   ile baslayan kisimlari squid.conf icerisine eklememiz gerekiyor. Asagidaki komut ile direkt ekleyebilirsiniz.

Konsoldan

Kod:
#cat >> etc/squid/squid.conf
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_ proxy on
httpd_accel_uses_host_header on


satirlarini yazdiktan sonra CTRL + C tusu ile kaydediyoruz.



Adim 5  (Squid Yapilandirma)

Kod:
#nano etc/squid/squid.conf
komutu ile squid.conf dosyasini nano editoru ile aciyoruz.

Buradaki islemler Squid Yapilandirmayla ilgili islemlerdir.

Squid.conf dosyasinda bir cok ilgili ayarlar tanimlidir. Biz bu makalede hepsine deginmeyecegiz.

Ornegin
#http_port 3128  bu alanda standart portta hizmet verdigini gosteriyor. Bunu kendinize gore uyarlayabilirsiniz. Ancak dikkat etmeniz onemli hususlardan birisi hizmette olan bir port numarasi vermeyiniz.
Aksi takdirde o port numarasindaki hizmet ile squid arasinda cakisma durumu olabilir.

Nano editoru ile squid.conf dosyasi icerisindeyken CTRL + W tuslari yaridimi ile arama yontemini kullanarak;
arama cubuguna acl manager proto cache_object yazalim. Squid.conf dosyasi oldukca buyuktur.
Asagidaki satirlari bulmaniz oldukca uzun surer diye ben anahtar bir tanim belirtmek istedim.


acl izinsiz1 url_regex deneme
acl ic_ag src 192.168.1.0/255.255.255.0
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443          # https
acl SSL_ports port 563          # snews
acl SSL_ports port 873          # rsync
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 Safe_ports port 631         # cups
acl Safe_ports port 873         # rsync
acl Safe_ports port 901         # SWAT
acl purge method PURGE
acl CONNECT method CONNECT

Yukaridaki alanda tanimlanmak istenen  port ve aglarin tanimlamalasi yapilmistir. Ancak altini cizmek isterim sadece tanimlamalar yapilmistir. Gerekli izin ayarlari Adim 6 da yapilacaktir.

Ben kendi ag ayarim olarak ic_ag isminde bir tanimlamada bulundum. Bunu yapmamin amaci sadece benim agimin proxy i kullanmasina izin verecegim.
Yukaridaki ic_ag tanimindaki ip araliklari benim ip blogumdur. Sizde kendi ip blogunuzu giriniz.

Yine farkindaysaniz izinsiz1 isminde bir tanimlamada bulundum ve deger olarak "deneme" yazdim. Adim 6 ' da tanimlamis oldugum izinsiz1 taniminin erisimini belirtecegim.


Adim 6

Nano editoru ile squid.conf icerisindeyken CTRL + W tuslarina basarak arama cubuguna  And finally deny all other access to this proxy
  anahtar deyimini girelim ve entera basalim Arama tamamlandiginda asagidaki ilgili satir cikacaktir.

# And finally deny all other access to this proxy
http_access deny izinsiz1
http_access allow localhost
http_access allow ic_ag
http_access deny all

Yukaridaki ilgili satiri squid.conf icerisinde bularak yazmis oldugumuz tanimlarin erisim izinlerini belirttik.
Burada http_access deyimi ile basladik ve deny ifadesi ile izinsiz1 taniminin erisimini engelledik. ve Proxy 'imizi sadece
yerel agimiz kullansin ve baskalari kullanamasin diye sadece ic_ag tanimina allow ile  izin verdik. http_access deny all deyimi ile
geriye kalan tum aglarin erisimini kapattik. Boylece Proxy imizi sadece bizim agimiz (ic_ag) ve localhostumuz kullanabilecek.

Squid Proxy cok genis bir yapiya sahip. Bu alanda internet erisim ile ilgili yapamayacagimiz sey yok.
Ornegin;
Uzanti, domain adresi, kelime gibi bir cok faktorleri kisitlayabildigimiz gibi bu ayarlari bazi bilgisayarlarin kullanimina acarken bazi bilgisayarlarin kullanimina kapatabilmekteyiz.

Mesela squid ile exe uzantisini kisitlamak istiyoruz;

acl izinsiz_uzanti1 urlpath_regex \.[eE][xX][eE]   tanimini Adim 5 ' teki tanim alanina belirttikten sonra

http_access deny izinsiz_uzanti1
ile erisimini kapattik.

Burada [eE][xX][eE] deyimi hem EXE yani buyuk harf ile baslayan uzanti ismi ve exe yani kucuk harfle baslayan uzanti ismini erisim kontrolunu saglasin diye belirttik

Siz isterseniz sadece acl_izinsiz1 urlpath_regex \.exe olarak belirtebilirsiniz.
Ancak bu sekilde belirtirseniz, buyuk harfle baslayan uzanti isimlerini squid engellemeyecektir.

Tanimlarin erisim ayarlarini http_access deny all ifadesinin en ustune yazmaniz gerekiyor. Yoksa squid tanimlarin erisimlerini atlar.


Bazi tanimlama turleri;

acl izinsiz_domain1 dstdomain   domainadi.com.tr
acl Safe_ports port 8443
acl izinsiz_uzanti1 urlpath_regex \.jpg

Tanimlarin erisim ayarlarinin belirtilmesi;

http_access deny izinsiz_domain1       (Tanimlanan domain adini kisitlar)
http_access deny !Safe_ports           (Tanimlanan portlar disindaki tum portlari kisitlar. Burada ! isareti belirtilen portlarin aksi oldugunu belirtmektedir.)
http_access deny izinsiz_uzanti1       (Tanimlanan uzantiyi kisitlar. Burada jpg uzantisini kisitladik web sitelerinde .jpg uzantisina sahip tum resimleri gostermeyecek.)

Squid Yapilandirmasini yaptik ve ayarlari uygulamak kaldi.

Kod:
#squid -k reconfigure
komutu ile squid durmaksizin yapmis oldugumuz degisiklikleri aninda uygulamaktadir.

Yine squid bir   hizmet oldugu icin etc/init.d/squid altindan kontrol edilebilir.

Squid ' i calistirmak icin
Kod:
#squid -z
komutunu vermek yeterlidir.


Hepsi bu kadar artik Squid Proxy sorunsuz bir sekilde calisiyor.

Kurmus oldugumuz Squid  Transparent (Zorunlu) bir proxy i degildir. Zorunlu proxy yapabilmek icin ayni bilgisayari ag gecidi olarak kullanmamiz gerekir. Yada Active Directory gibi Istemci ve kullanici kontrollu yazilimlarla proxy zorunlu kilinabilir.

Bu yuzden İstemcilerden ayarlari manuel olarak yapmamiz gerekiyor.

Internet Explorer icin Ayarlar;

1- Internet Explorer ikonuna  sag tiklanir. Özellikler denir yada Internet Explorer ikonuna cift tiklanir. Araçlar menusu altindan Internet Secenekleri menusune girilir.
2- Acilan pencerede yukarida bulunan sekmelerden Baglantilar 'a tiklanir.
3- Acilan pencerede Yerel Ag Ayarlari basligi altinda bulunan Yerel Ag Ayarlari butonuna tiklanir.
4- Acilan pencerede Proxy Sunucusu basligi altindaki ilk ilk onay kutusu isaretlenir.
5- Aktif olan kutularda Adres yazan kisima Proxy Sunucunuzun ip adresi yazilir. Burada ben 192.168.1.37 yazmam gerekiyor.
6- B.noktasi yani Baglanti Noktasi kismina ise Proxy Sunucumuzun hizmet verdigi port numarasini yazmaliyiz. Yine burada ben 3128 yazmam gerekiyor.
7- Tamam diyerek ayarlari Uyguluyoruz.

Mozilla Firefox icin Ayarlar;

1- Mozilla Firefox ikonuna cift tiklanir. Araçlar menusu altindan Seçenekler menusune girilir.
2- Acilan pencerede yukarida bulunan sekmelerden Gelişmiş 'e girilir.
3- Acilan pencerede Sekmelerin altindaki alt menulerde bulunan Ag menusune girilir.
4- Baglanti basliginin altinda Ayarlar butonuna tiklanir.
5- "Vekil Sunucuları Düzenleyin" basligi altinda Vekil Sunucu ayarlari bolumu aktif hale getirilir.
6- HTTP Vekil Sunucusu yazan bolume proxy ip adresini yaziyoruz.
7- Port yazan kisima Proxy Sunucumuzun hizmet verdigi port numarasini yaziyoruz.
8- Tamam diyerek ayarlari uyguluyoruz.
« Son Düzenleme: 24 Nisan 2008, 17:50:34 Gönderen: redputty » Logged
emir
Debian
Uzman Penguen
*
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 255



« Yanıtla #1 : 22 Nisan 2008, 18:06:45 »

Katkınız için teşekkür ederiz.
Logged



Bir Tutkudur Debian
fortran
Usta Penguen
*
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 161



« Yanıtla #2 : 22 Nisan 2008, 18:17:49 »

Güzel bir katkı, teşekkürler redputty.
Logged

Proton
Uzman Penguen
*
Offline Offline

Mesaj Sayısı: 170



« Yanıtla #3 : 22 Nisan 2008, 19:31:52 »

Teşekkürler elinize sağlık Smiley
Logged

Sayfa: [1]   Yukarı git
  Yazdır  
 
Gitmek istediğiniz yer: