Pardus Kurumsal 2 – Squid Kurulumu (Web Proxy)(Vekil Sunucu)

Pardus deposundan paket yöneticisi ile Squid kurulumu yaptığımızda temel ayarları yapılmış olarak kuruluyor. Bu kurulumun ardından 3-4 temel ayar ile Proxy Sunucumuz hazır hale gelecek.
Ben tek bir ethernet kartı ile Proxy Sunucu kullanılması için gereken ayarları anlatacağım.
Proxy Sunucu için sabit ip adresi tanımlıyorum. 192.168.2.200 (Adsl Modem ip si 192.168.2.1 dolayısıyla Proxy Sunucu varsayılan ağ geçidini 192.168.2.1 olarak ayarladım.)

Kurulum anlatımlarını terminal penceresi üzerinden anlatacağım, konsol kullanımı başlangıçta zor gibi gözükse de aslında daha kolay kullanım ve adımları takip edebilme olanağı sağlıyor. Aklıma gelmişken konsol kullanırken TAB tuşu ile klasör, dosya ve komutlarda otomatik tamamlama özelliği büyük kolaylık sağlıyor.

Sabit ip ayarından sonra programın kurulumuna geçiyoruz. Squid programını Paket Yönetici (PİSİ) yardımıyla da kurabilirsiniz.
Kurulum için Terminal Penceresinde

sudo pisi it squid

yazıyoruz. Ardından, squid.conf dosyasında yapılması gereken düzenlemeler için,

kdesu kwrite /etc/squid/squid.conf

yazıyoruz ve aşağıdaki düzenlemeleri yapıyoruz.
dediğim gibi paketi hazırlayan arkadaşlar temel ayarlar ile hazırladıkları için,
sadece 1-2 değişiklik yeterli oluyor.

aşağıdaki satırlarda ip adreslerini kendi ip adreslerime göre yapıyorum.

acl allowed_hosts src 192.168.2.0/24
acl localnet src 192.168.2.0/24

aşağıdaki kod, Proxy’nin kullanacağı Ram Miktarını belirliyor.

cache_mem 200 MB

aşağıdaki kod ile depolanacak önbellek klasörünün dosya boyutu sınırını belirliyoruz.
standart kod 100mb olarak belirlenmiş,

cache_dir ufs /var/cache/squid 100 16 256

ben okulda kullanacağım ve eğitim sitelerindeki animasyon dosyalarının önbelleklenmesini istediğim için ve aynı zamanda yer problemi olmadığı için dosya boyutunu 20gb olarak belirliyorum.

cache_dir ufs /var/cache/squid 20000 16 256

Şimdilik temel Proxy işlevi için yapacağımız ayarlar bu kadar. squid.conf dosyası bir derya deniz, performans için bir dolu ayar gerekiyor benim yaptığım ayarlar ile ne kadar performanslı olacak bilmiyorum. Bu konu, üzerine araştırma gerektiren başka bir yazı konusu olabilir.

Dosyayı kaydedip kapattıktan sonra çok sevdiğimiz konsola geri dönüyoruz.

Aşağıdaki komutlar ile Squid servisini durdurup yeniden başlatıyoruz.

sudo service squid stop
sudo service squid start

aslında restart komutu da var fakat bende sağlıklı çalışmadı nedeni nedir bilmiyorum, servis durduktan sonra çalışmıyor.
Bu ayarları dilerseniz sistem menüsü altından Servis Yöneticisi ile de yapabilirsiniz.
Aşağıdaki komut ile servisin durumu hakkında bilgi alabiliyoruz.

sudo service squid status

son olarak

sudo service squid on

komutu ile servisin sistem her açıldığında otomatik olarak çalışmasını sağlıyoruz.

Evet artık vekil Sunucu çalışmaya başladı Tarayıcınızın ağ ayarlarından vekil sunucu bölümünden sunucu ip adresini ve portunu girebilirsiniz. Bizim örneğimizde Sunucu ip no: 192.168.2.200 ve port 3128

(Transparent Proxy) Eğer vekil sunucu herhangi bir ayar yapmadan sadece varsayılan ağ geçidi ayarlarını sunucu adresi olarak tanımladıktan sonra otomatik olarak çalışsın isteniyorsa port yönlendirmesi yapılması gerekir.
Bunun için aşağıdaki komutu uygulayarak 3128 nolu portu 80. porta yönlendiriyoruz.

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

düzeltme: dikkat edin kopyala yapıştır sırasında –to-port ve –dport parametrelerinden önce iki tire “–” var.
“sudo iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 3128”
Sonrasında “sudo iptables-save” komutunu uygulamak gerekiyor.
Kullandığım squid.conf dosyasının tamamı

# Transparent Squid proxy configuration for Pardus Linux

http_port 3128 transparent

visible_hostname localhost

pid_filename /var/run/squid.pid

icp_port 0

cache_mem 200 MB

cache_dir ufs /var/cache/squid 20000 16 256
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
coredump_dir /var/cache/squid

acl allowed_hosts src 192.168.2.0/24
acl localhost src 127.0.0.1
acl localnet src 192.168.2.0/24
acl SSL_ports port 443
acl purge method PURGE
acl CONNECT method CONNECT

acl manager proto cache_object
acl to_localhost dst 127.0.0.0/8
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 Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow allowed_hosts
http_access allow manager localhost
http_access deny manager

http_access allow purge localhost
http_access deny purge

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access allow localhost
http_access allow allowed_hosts
http_access deny all

icp_access allow allowed_hosts
icp_access deny all

miss_access allow allowed_hosts
miss_access deny all

hierarchy_stoplist cgi-bin ?

acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY

acl apache rep_header Server ^Apache

error_directory /etc/squid/errors

Bir yorum yaz