Android

Centos 7 üzerine squid proxy nasıl kurulur ve yapılandırılır

Настройка Squid в CentOS 7

Настройка Squid в CentOS 7

İçindekiler:

Anonim

Squid, HTTP, HTTPS, FTP ve daha fazlası gibi popüler ağ protokollerini destekleyen tam özellikli bir önbellek proxy'dir. Squid'i bir web sunucusunun önüne yerleştirmek, tekrarlanan istekleri önbelleğe alarak, web trafiğini filtreleyerek ve coğrafi kısıtlamalı içeriğe erişerek sunucu performansını büyük ölçüde artırabilir.

Bu eğitimde, Squid'i CentOS 7'de nasıl kuracağınız ve Firefox ve Google Chrome web tarayıcılarının proxy'yi kullanacak şekilde nasıl yapılandırılacağı açıklanmaktadır.

SOS'u CentOS'a Yükleme

Squid paketi varsayılan CentOS 7 depolarına dahildir. Kurmak için sudo kullanıcısı olarak aşağıdaki komutu çalıştırın:

sudo yum install squid

Kurulum tamamlandıktan sonra Squid hizmetini başlatın ve etkinleştirin:

sudo systemctl start squid sudo systemctl enable squid

Yüklemenin başarılı olduğunu doğrulamak için hizmet durumunu yazdıracak aşağıdaki komutu yazın:

sudo systemctl status squid

● squid.service - Squid caching proxy Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2019-07-13 16:47:56 UTC; 12s ago…

Squid'i Yapılandırma

Squid, /etc/squid/squid.conf dosyası düzenlenerek yapılandırılabilir. “İnclude” yönergesi kullanılarak yapılandırma seçeneklerine sahip ek dosyalar dahil edilebilir.

Herhangi bir değişiklik yapmadan önce, orijinal yapılandırma dosyasını cp komutuyla yedekleyin:

sudo cp /etc/squid/squid.conf{,.orginal} Dosyayı düzenlemek için metin düzenleyicinizde açın:

sudo nano /etc/squid/squid.conf

Varsayılan olarak Squid, sunucudaki tüm ağ arabirimlerinde 3128 numaralı bağlantı noktasını dinleyecek şekilde yapılandırılmıştır.

/etc/squid/squid.conf

# Squid normally listens to port 3128 http_port IP_ADDR:PORT

Squid'i tüm arayüzlerde ve varsayılan portta çalıştırmak çoğu kullanıcı için uygun olmalıdır.

Erişim Kontrol Listelerini (ACL) kullanarak Squid sunucusuna erişimi kontrol edebilirsiniz.

Squid varsayılan olarak yalnızca localhost ve localnet erişimine izin verir.

Proxy'yi kullanacak tüm istemcilerin statik bir IP adresi varsa, izin verilen IP'leri içeren bir ACL oluşturabilirsiniz.

IP adreslerini ana yapılandırma dosyasına eklemek yerine, IP'leri tutacak yeni bir özel dosya oluşturacağız:

/etc/squid/allowed_ips.txt

192.168.33.1 # All other allowed IPs

Tamamlandığında ana yapılandırma dosyasını açın ve allowed_ips adlı yeni bir ACL oluşturun (ilk vurgulanan satır) ve http_access yönergesini (ikinci vurgulanan satır) kullanarak bu ACL'ye erişime izin verin:

/etc/squid/squid.conf

#… acl allowed_ips src "/etc/squid/allowed_ips.txt" #… http_access allow localnet http_access allow localhost http_access allow allowed_ips # And finally deny all other access to this proxy http_access deny all

http_access kurallarının sırası önemlidir. http_access deny all önce satırı eklediğinizden emin olun.

http_access yönergesi, güvenlik duvarı kurallarına benzer şekilde çalışır. Kalamar, kuralları yukarıdan aşağıya okur ve bir kural eşleştiğinde aşağıdaki kurallar işlenmez.

Yapılandırma dosyasında her değişiklik yaptığınızda, değişikliklerin etkili olması için Squid hizmetini yeniden başlatmanız gerekir:

sudo systemctl restart squid

Kalamar Kimlik Doğrulaması

Squid, kimliği doğrulanmış kullanıcılara Samba, LDAP ve HTTP temel kimlik doğrulaması gibi farklı arka uçlar kullanabilir.

Bu örnekte, Squid'i temel kimlik doğrulaması kullanacak şekilde yapılandıracağız. HTTP protokolünde yerleşik olan basit bir kimlik doğrulama yöntemidir.

Parolaları oluşturmak ve username:password çiftini aşağıda gösterildiği gibi tee komutuyla /etc/squid/htpasswd dosyasına eklemek için /etc/squid/htpasswd :

printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd

Örneğin, “ Pz$lPk76 ” şifresiyle “mike” adında bir kullanıcı oluşturmak için şunu çalıştırırsınız:

printf "mike:$(openssl passwd -crypt 'Pz$lPk76')\n" | sudo tee -a /etc/squid/htpasswd

mike:2nkgQsTSPCsIo

Bir sonraki adım Squid'i HTTP temel kimlik doğrulamasını etkinleştirecek ve dosyayı kullanacak şekilde yapılandırmaktır.

Ana yapılandırmayı açın ve aşağıdakileri ekleyin:

/etc/squid/squid.conf

#… auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/htpasswd auth_param basic realm proxy acl authenticated proxy_auth REQUIRED #… http_access allow localnet http_access allow localhost http_access allow authenticated # And finally deny all other access to this proxy http_access deny all

Vurgulanan ilk üç satırla, authenticated adında yeni bir ACL oluşturuyoruz. Son vurgulanan satır, kimliği doğrulanmış kullanıcılara erişime izin verir.

Squid hizmetini yeniden başlatın:

sudo systemctl restart squid

Güvenlik duvarını yapılandırma

sudo firewall-cmd --permanent --add-port=3128/tcp firewall-cmd --reload Squid, varsayılan olmayan başka bir bağlantı noktasında çalışıyorsa, o bağlantı noktasındaki trafiğe izin vermeniz gerekir.

Tarayıcınızı Proxy Kullanacak Şekilde Yapılandırma

Artık Squid'i kurduğunuza göre, son adım tercih ettiğiniz tarayıcıyı kullanmak üzere yapılandırmaktır.

Firefox

Aşağıdaki adımlar Windows, macOS ve Linux için aynıdır.

  1. Sağ üst köşede, Firefox'un menüsünü açmak için hamburger simgesini tıklayın:

    ⚙ Preferences bağlantısını tıklayın.

    Network Settings bölümüne gidin ve Settings… düğmesine tıklayın.

    Yeni bir pencere açılacaktır.

    • Manual proxy configuration radyo düğmesini seçin. HTTP Host alanına Squid sunucusu IP adresinizi ve Port alanına 3128 girin. Use this proxy server for all protocols onay kutusunu OK . Ayarları kaydetmek için OK düğmesini OK .

Bu noktada, Firefox'unuz yapılandırılmıştır ve Squid proxy'si üzerinden Internet'e göz atabilirsiniz. Doğrulamak için google.com açın, “ google.com nedir” yazın ve Squid sunucusu IP adresinizi görmelisiniz.

Varsayılan ayarlara geri dönmek için Network Settings gidin, Use system proxy settings radyo düğmesini seçin ve ayarları kaydedin.

Ayrıca, Firefox'un FoxyProxy gibi proxy ayarlarını yapılandırmanıza yardımcı olabilecek birkaç eklenti de vardır.

Google Chrome

Google Chrome, varsayılan sistem proxy ayarlarını kullanır. İşletim sistemi proxy ayarlarınızı değiştirmek yerine, SwitchyOmega gibi bir eklenti kullanabilir veya komut satırından Chrome web tarayıcısını başlatabilirsiniz.

Chrome'u yeni bir profil kullanarak başlatmak ve Squid sunucusuna bağlanmak için aşağıdaki komutu kullanın:

Linux:

/usr/bin/google-chrome \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

Mac os işletim sistemi:

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

Pencereler:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"

Profil yoksa otomatik olarak oluşturulur. Bu şekilde, aynı anda birden çok Chrome örneğini çalıştırabilirsiniz.

Proxy sunucunun düzgün çalıştığını doğrulamak için google.com açın ve “ip'im nedir” yazın. Tarayıcınızda gösterilen IP, sunucunuzun IP adresi olmalıdır.

Sonuç

CentOS 7'ye kalamar kurmayı ve tarayıcınızı kullanacak şekilde yapılandırmayı öğrendiniz.

Squid, en popüler proxy önbellek sunucularından biridir. Web sunucusunun hızını artırır ve kullanıcının İnternet'e erişimini kısıtlamanıza yardımcı olabilir.

proxy centos