squid wpad/pac proxy ayarı

ee /usr/local/www/nginx/proxy.pac

Aşağıdakini az önce oluşturduğunuz dosyaya yapıştırın. Proxy adresimi (192.168.1.1) sizinkiyle değiştirin.

function FindProxyForURL(url,host)
{
  // If the requested website is hosted within the internal networks, send direct.
  if (isPlainHostName(host) ||
    shExpMatch(host, "*.local.lan") ||
    isInNet(dnsResolve(host), "10.0.0.0", "255.0.0.0") ||
    isInNet(dnsResolve(host), "172.16.0.0",  "255.240.0.0") ||
    isInNet(dnsResolve(host), "192.168.0.0",  "255.255.0.0") ||
    isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0"))
    return "DIRECT";

  //Default rule: all other traffic use below proxy
  return "PROXY 192.168.1.1:3128";
}
Diğer iki dosya varyasyonunu bağlantılar oluşturarak oluşturun. Bu tercih edilir çünkü gelecekte herhangi bir değişiklik yaparsanız tüm sürümleri senkronize tutar.

ln -s /usr/local/www/nginx/proxy.pac /usr/local/www/nginx/wpad.dat

ln -s /usr/local/www/nginx/proxy.pac /usr/local/www/nginx/wpad.da



İşlem tamamlandığında klasörünüzün buna benzer göründüğünü doğrulayın.
$ ls -l
-rw-r--r--  1 root  wheel  537 Jul 19 12:07 50x.html
-rw-r--r--  1 root  wheel  612 Jul 19 12:07 index.html
-rw-r--r--  1 root  wheel  212 Aug  6 11:43 proxy.pac
lrwxr-xr-x  1 root  wheel    9 Aug  6 11:45 wpad.da -> proxy.pac
lrwxr-xr-x  1 root  wheel    9 Aug  6 11:45 wpad.dat -> proxy.pac


İkinci bir nginx web sunucusu kurun


ee /usr/local/etc/nginx/nginx-wpad.conf

Aşağıdaki içerikleri bu dosyaya yapıştırın.
worker_processes  1;
pid               /var/run/nginx-wpad.pid;

events {
    worker_connections  1024;
}

http {
    include       wpad-mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  wpad;

        location / {
            root   /usr/local/www/nginx;
            index  index.html index.htm;
        }
    }
}
 

Ek dosya türleri ekleyin



nano /usr/local/etc/nginx/wpad-mime.types
types {
    text/html                             html htm shtml;
    text/css                              css;
    image/jpeg                            jpeg jpg;
    text/plain                            txt;

    application/x-ns-proxy-autoconfig     pac;
    application/x-ns-proxy-autoconfig     dat;
    application/x-ns-proxy-autoconfig     da;
}

İkinci nginx’in çalıştığını doğrulayın

/usr/local/sbin/nginx -c /usr/local/etc/nginx/nginx-wpad.conf

Her iki Nginx sunucusunun da çalıştığını şu komutu girerek doğrulayabilirsiniz:

$ ps ax | grep -i "nginx: master"
ps ax | grep -i "nginx: master"
52936  -  Is       0:00.00 nginx: master process /usr/local/sbin/nginx -c /var/etc/nginx-webConfigurator.conf (nginx)
75222  -  Is       0:00.00 nginx: master process /usr/local/sbin/nginx -c /usr/local/etc/nginx/nginx-wpad.conf (nginx)
84471  2  S+       0:00.00 grep -i nginx: master

nginx-wpad’i otomatik çalıştırmaya ayarlayın

ee /root/check_proxy_wpad.sh

#!/bin/sh
pgrep -F /var/run/nginx-wpad.pid
if [ $? == 0 ];then
    /bin/echo running
else
    /usr/local/sbin/nginx -c /usr/local/etc/nginx/nginx-wpad.conf
fi

Bu betiği yürütülebilir olarak ayarlayın

chmod +x /root/check_proxy_wpad.sh

 

pfSense WPAD/PAC proxy yapılandırma kılavuzu

Son revizyon 11 Aralık 2017.

Artık reklam filtreleme için ağımda bir proxy kullanmıyorum çünkü daha fazla kontrol ve esneklik sağlayan pfBlockerNG’ye geçtim ancak güncellenmiş bir kılavuz için çok sayıda istek aldım, işte burada. Başlangıçta proxy’mi şeffaf bir şekilde çalışacak şekilde ayarladım ancak bu yöntem ağımda yapılan tüm son değişikliklerle tam olarak çalışmadı. Filtreleme sistemimin çalışmaya devam etmesini sağlamak için her cihazı ayrı ayrı 3128 portunu kullanacak şekilde yapılandırmam gerekiyordu ve bu da bir rahatsızlıktı. WPAD/PAC (Web Proxy Otomatik Keşif Protokolü ve Proxy Otomatik Yapılandırma) adlı bir sistem kolay bir geçici çözüm ve cihazların ağlarıma bağlanırken kendilerini otomatik olarak yapılandırma yeteneği vaat ediyordu. Bu, kısmen farklı cihazların yapılandırma dosyalarına erişmenin farklı yollarına sahip olması nedeniyle beklediğim kadar kolay olmadı.

Proxy keşif dosyaları oluştur

Öncelikle proxy yapılandırma dosyalarını oluşturun. Farklı tarayıcıların proxy yapılandırma bilgilerini elde etmek için farklı dosya adları kullanmaları nedeniyle bunlardan üçü gereklidir.

İlk dosyayı oluşturacağız proxy.pacve ardından hepsini senkronize tutmayı kolaylaştıracak iki adet ‘bağlantılı’ wpad.datdosya oluşturacağız.wpad.da

ee /usr/local/www/nginx/proxy.pac

Aşağıdakini az önce oluşturduğunuz dosyaya yapıştırın. Proxy adresimi (192.168.1.1) sizinkiyle değiştirin.

function FindProxyForURL(url,host)
{
  // If the requested website is hosted within the internal networks, send direct.
  if (isPlainHostName(host) ||
    shExpMatch(host, "*.local.lan") ||
    isInNet(dnsResolve(host), "10.0.0.0", "255.0.0.0") ||
    isInNet(dnsResolve(host), "172.16.0.0",  "255.240.0.0") ||
    isInNet(dnsResolve(host), "192.168.0.0",  "255.255.0.0") ||
    isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0"))
    return "DIRECT";

  //Default rule: all other traffic use below proxy
  return "PROXY 192.168.1.1:3128";
}

Bu PAC dosyası, aranan ana bilgisayarın düz bir ana bilgisayar adı olup olmadığını, yani “intranet” olup olmadığını veya yerel ağlarda olup olmadığını kontrol eder, eğer öyleyse, erişim proxy’yi atlar (“DIRECT”). Yukarıdaki koşullardan hiçbiri karşılanmazsa, erişim proxy ve 3128 portu üzerinden yapılır.

Bu PAC dosyalarının işlevselliğini, kara/beyaz listeler vb. gibi özellikleri içerecek şekilde genişletmek mümkündür.

Diğer iki dosya varyasyonunu bağlantılar oluşturarak oluşturun. Bu tercih edilir çünkü gelecekte herhangi bir değişiklik yaparsanız tüm sürümleri senkronize tutar.

ln -s /usr/local/www/nginx/proxy.pac /usr/local/www/nginx/wpad.dat

ln -s /usr/local/www/nginx/proxy.pac /usr/local/www/nginx/wpad.da

İşlem tamamlandığında klasörünüzün buna benzer göründüğünü doğrulayın.

$ ls -l
-rw-r--r--  1 root  wheel  537 Jul 19 12:07 50x.html
-rw-r--r--  1 root  wheel  612 Jul 19 12:07 index.html
-rw-r--r--  1 root  wheel  212 Aug  6 11:43 proxy.pac
lrwxr-xr-x  1 root  wheel    9 Aug  6 11:45 wpad.da -> proxy.pac
lrwxr-xr-x  1 root  wheel    9 Aug  6 11:45 wpad.dat -> proxy.pac

İkinci bir nginx web sunucusu kurun

En iyi uygulama, pfSense webConfigurator’a yalnızca güvenli HTTP üzerinden ve 443’ten farklı bir porttan erişime izin vermemizi gerektirir. Bu, bizi ufak bir sorunla baş başa bırakır. Varsayılan ve tek sistem dosya sunucusu, webConfigurator sayfalarını bu güvenli portta sunmaya adanmıştır ve artık 80 numaralı portta WPAD verilerini sunmak için aynı anda kullanılamaz. WAD yapılandırma dosyalarını sunabilmek için, WPAD isteklerini bizim için işleyecek ikinci bir dosya sunucusu oluşturmamız gerekir.

Sistemin varsayılan nginx yapılandırma dosyasını kopyalayarak başlayalım. Bunu ikinci nginx örneğimiz için temel olarak kullanabiliriz. Bu dosyayı /var/etc klasöründe oluşturmaya çalışmayın çünkü yeniden başlatma sırasında silinecektir. Yapılandırma dosyalarımızın saklandığı klasörü kullanacağız.

ee /usr/local/etc/nginx/nginx-wpad.conf

Aşağıdaki içerikleri bu dosyaya yapıştırın.

worker_processes  1;
pid               /var/run/nginx-wpad.pid;

events {
    worker_connections  1024;
}

http {
    include       wpad-mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  wpad;

        location / {
            root   /usr/local/www/nginx;
            index  index.html index.htm;
        }
    }
}

Ek dosya türleri ekleyin

Bu nginx örneği için belirli bir wpad-mime.types oluşturalım ve ee /usr/local/etc/nginx/wpad-mime.types. Aşağıdaki satırları bu dosyaya yapıştıralım.

types {
    text/html                             html htm shtml;
    text/css                              css;
    image/jpeg                            jpeg jpg;
    text/plain                            txt;

    application/x-ns-proxy-autoconfig     pac;
    application/x-ns-proxy-autoconfig     dat;
    application/x-ns-proxy-autoconfig     da;
}

İkinci nginx’in çalıştığını doğrulayın

İkinci nginx örneğimizin çalışıp çalışmadığını test etmek için aşağıdaki komutu girin ve herhangi bir hata görmediğinizi doğrulayın.

/usr/local/sbin/nginx -c /usr/local/etc/nginx/nginx-wpad.conf

Her iki Nginx sunucusunun da çalıştığını şu komutu girerek doğrulayabilirsiniz:

ps ax | grep -i "nginx: master"

Örneğin, sonuç her iki nginx örneğinin de kendi yapılandırma dosyalarıyla çalıştığını göstermelidir.

$ ps ax | grep -i "nginx: master"
ps ax | grep -i "nginx: master"
52936  -  Is       0:00.00 nginx: master process /usr/local/sbin/nginx -c /var/etc/nginx-webConfigurator.conf (nginx)
75222  -  Is       0:00.00 nginx: master process /usr/local/sbin/nginx -c /usr/local/etc/nginx/nginx-wpad.conf (nginx)
84471  2  S+       0:00.00 grep -i nginx: master

NOT: İkinci bir NGINX örneğini başlatmada zorluk çekiyorsanız ve portun zaten kullanımda olduğunu bildiren bir hata görüyorsanız, lütfen WebConfigurator yönlendirmesinin devre dışı olduğunu doğrulayın. Sistem > Gelişmiş > Yönetici Erişimi’ne gidin ve doğrulayın WebGUI redirect, Disable webConfigurator redirectseçilidir.

nginx-wpad’i otomatik çalıştırmaya ayarlayın

Önyükleme sırasında ikinci nginx örneğini başlatmak veya herhangi bir nedenle çökmesi durumunda yeniden başlatmak için bir cron işi yapılandıracağız. Nginx modülümüzün zaten çalışıp çalışmadığını kontrol etmek için bir dosya oluşturun ve çalışmıyorsa, şunu girerek başlatın:

ee /root/check_proxy_wpad.sh

Aşağıdakileri az önce oluşturduğunuz dosyanın içine yapıştırın.

#!/bin/sh
pgrep -F /var/run/nginx-wpad.pid
if [ $? == 0 ];then
    /bin/echo running
else
    /usr/local/sbin/nginx -c /usr/local/etc/nginx/nginx-wpad.conf
fi

Bu betiği yürütülebilir olarak ayarlayın

chmod +x /root/check_proxy_wpad.sh

Otomatik çalıştırma için bir cron işi oluşturun

  • Dakika = *
  • Saat = *
  • Ayın Günü = *
  • Haftanın Günü = *
  • Kullanıcı = kök
  • Komut = /root/check_proxy_wpad.sh

ps aux | grep -i "nginx: master"

İkinci nginx örneğinin komut kabuğu ve komut komutu kullanılarak otomatik olarak başlatıldığını doğrulamak ve yeniden başlatmak faydalıdır

 

DNS’yi yapılandırın

Bu kılavuzun odaklanacağı DNS Forwarder’dan DNS Resolver’a yükseltme yaptım.

Hizmet > DNS Çözücü’ye gidin

  • DNS Çözücü = [x]
  • Dinleme portu: 53
  • Ağ Arayüzleri = istediğiniz arayüzleri vurgulayın
  • Giden Ağ Arabirimleri = DNS çözümlemesinin gerçekleşeceği arabirimleri vurgulayın.
  • Sistem Etki Alanı Yerel Bölge Türü = Şeffaf
  • DNSSEC = Tercihen işaretli olsun ama birkaç sorun yaşadığım için işaretli bırakmıyorum.
  • DNS Sorgu Yönlendirme = [x]
  • DHCP Kaydı = [x]
  • Statik DHCP = [x]

Şimdi ‘wpad’ için bir wpad host override’ı oluşturacağız.

  • Ana Bilgisayar Geçersiz Kılmalarının yanındaki + öğesine tıklayın
  • Ana bilgisayar = wpad
  • Domain = pfSense genel ayarlarında belirlediğiniz alan adı local.lanbana aittir.
  • IP = LAN IP’niz
  • Açıklama = WPAD veya açıklayıcı bir şey
  • Kaydetmek

Son revizyon 11 Aralık 2017.

Artık reklam filtreleme için ağımda bir proxy kullanmıyorum çünkü daha fazla kontrol ve esneklik sağlayan pfBlockerNG’ye geçtim ancak güncellenmiş bir kılavuz için çok sayıda istek aldım, işte burada. Başlangıçta proxy’mi şeffaf bir şekilde çalışacak şekilde ayarladım ancak bu yöntem ağımda yapılan tüm son değişikliklerle tam olarak çalışmadı. Filtreleme sistemimin çalışmaya devam etmesini sağlamak için her cihazı ayrı ayrı 3128 portunu kullanacak şekilde yapılandırmam gerekiyordu ve bu da bir rahatsızlıktı. WPAD/PAC (Web Proxy Otomatik Keşif Protokolü ve Proxy Otomatik Yapılandırma) adlı bir sistem kolay bir geçici çözüm ve cihazların ağlarıma bağlanırken kendilerini otomatik olarak yapılandırma yeteneği vaat ediyordu. Bu, kısmen farklı cihazların yapılandırma dosyalarına erişmenin farklı yollarına sahip olması nedeniyle beklediğim kadar kolay olmadı.

Proxy keşif dosyaları oluştur

Öncelikle proxy yapılandırma dosyalarını oluşturun. Farklı tarayıcıların proxy yapılandırma bilgilerini elde etmek için farklı dosya adları kullanmaları nedeniyle bunlardan üçü gereklidir.

İlk dosyayı oluşturacağız proxy.pacve ardından hepsini senkronize tutmayı kolaylaştıracak iki adet ‘bağlantılı’ wpad.datdosya oluşturacağız.wpad.da

ee /usr/local/www/nginx/proxy.pac

Aşağıdakini az önce oluşturduğunuz dosyaya yapıştırın. Proxy adresimi (192.168.1.1) sizinkiyle değiştirin.

function FindProxyForURL(url,host)
{
  // If the requested website is hosted within the internal networks, send direct.
  if (isPlainHostName(host) ||
    shExpMatch(host, "*.local.lan") ||
    isInNet(dnsResolve(host), "10.0.0.0", "255.0.0.0") ||
    isInNet(dnsResolve(host), "172.16.0.0",  "255.240.0.0") ||
    isInNet(dnsResolve(host), "192.168.0.0",  "255.255.0.0") ||
    isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0"))
    return "DIRECT";

  //Default rule: all other traffic use below proxy
  return "PROXY 192.168.1.1:3128";
}

Bu PAC dosyası, aranan ana bilgisayarın düz bir ana bilgisayar adı olup olmadığını, yani “intranet” olup olmadığını veya yerel ağlarda olup olmadığını kontrol eder, eğer öyleyse, erişim proxy’yi atlar (“DIRECT”). Yukarıdaki koşullardan hiçbiri karşılanmazsa, erişim proxy ve 3128 portu üzerinden yapılır.

Bu PAC dosyalarının işlevselliğini, kara/beyaz listeler vb. gibi özellikleri içerecek şekilde genişletmek mümkündür.

Diğer iki dosya varyasyonunu bağlantılar oluşturarak oluşturun. Bu tercih edilir çünkü gelecekte herhangi bir değişiklik yaparsanız tüm sürümleri senkronize tutar.

ln -s /usr/local/www/nginx/proxy.pac /usr/local/www/nginx/wpad.dat

ln -s /usr/local/www/nginx/proxy.pac /usr/local/www/nginx/wpad.da

İşlem tamamlandığında klasörünüzün buna benzer göründüğünü doğrulayın.

$ ls -l
-rw-r--r--  1 root  wheel  537 Jul 19 12:07 50x.html
-rw-r--r--  1 root  wheel  612 Jul 19 12:07 index.html
-rw-r--r--  1 root  wheel  212 Aug  6 11:43 proxy.pac
lrwxr-xr-x  1 root  wheel    9 Aug  6 11:45 wpad.da -> proxy.pac
lrwxr-xr-x  1 root  wheel    9 Aug  6 11:45 wpad.dat -> proxy.pac

İkinci bir nginx web sunucusu kurun

En iyi uygulama, pfSense webConfigurator’a yalnızca güvenli HTTP üzerinden ve 443’ten farklı bir porttan erişime izin vermemizi gerektirir. Bu, bizi ufak bir sorunla baş başa bırakır. Varsayılan ve tek sistem dosya sunucusu, webConfigurator sayfalarını bu güvenli portta sunmaya adanmıştır ve artık 80 numaralı portta WPAD verilerini sunmak için aynı anda kullanılamaz. WAD yapılandırma dosyalarını sunabilmek için, WPAD isteklerini bizim için işleyecek ikinci bir dosya sunucusu oluşturmamız gerekir.

Sistemin varsayılan nginx yapılandırma dosyasını kopyalayarak başlayalım. Bunu ikinci nginx örneğimiz için temel olarak kullanabiliriz. Bu dosyayı /var/etc klasöründe oluşturmaya çalışmayın çünkü yeniden başlatma sırasında silinecektir. Yapılandırma dosyalarımızın saklandığı klasörü kullanacağız.

ee /usr/local/etc/nginx/nginx-wpad.conf

Aşağıdaki içerikleri bu dosyaya yapıştırın.

worker_processes  1;
pid               /var/run/nginx-wpad.pid;

events {
    worker_connections  1024;
}

http {
    include       wpad-mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  wpad;

        location / {
            root   /usr/local/www/nginx;
            index  index.html index.htm;
        }
    }
}

Ek dosya türleri ekleyin

Bu nginx örneği için belirli bir wpad-mime.types oluşturalım ve ee /usr/local/etc/nginx/wpad-mime.types. Aşağıdaki satırları bu dosyaya yapıştıralım.

types {
    text/html                             html htm shtml;
    text/css                              css;
    image/jpeg                            jpeg jpg;
    text/plain                            txt;

    application/x-ns-proxy-autoconfig     pac;
    application/x-ns-proxy-autoconfig     dat;
    application/x-ns-proxy-autoconfig     da;
}

İkinci nginx’in çalıştığını doğrulayın

İkinci nginx örneğimizin çalışıp çalışmadığını test etmek için aşağıdaki komutu girin ve herhangi bir hata görmediğinizi doğrulayın.

/usr/local/sbin/nginx -c /usr/local/etc/nginx/nginx-wpad.conf

Her iki Nginx sunucusunun da çalıştığını şu komutu girerek doğrulayabilirsiniz:

ps ax | grep -i "nginx: master"

Örneğin, sonuç her iki nginx örneğinin de kendi yapılandırma dosyalarıyla çalıştığını göstermelidir.

$ ps ax | grep -i "nginx: master"
ps ax | grep -i "nginx: master"
52936  -  Is       0:00.00 nginx: master process /usr/local/sbin/nginx -c /var/etc/nginx-webConfigurator.conf (nginx)
75222  -  Is       0:00.00 nginx: master process /usr/local/sbin/nginx -c /usr/local/etc/nginx/nginx-wpad.conf (nginx)
84471  2  S+       0:00.00 grep -i nginx: master

NOT: İkinci bir NGINX örneğini başlatmada zorluk çekiyorsanız ve portun zaten kullanımda olduğunu bildiren bir hata görüyorsanız, lütfen WebConfigurator yönlendirmesinin devre dışı olduğunu doğrulayın. Sistem > Gelişmiş > Yönetici Erişimi’ne gidin ve doğrulayın WebGUI redirect, Disable webConfigurator redirectseçilidir.

nginx-wpad’i otomatik çalıştırmaya ayarlayın

Önyükleme sırasında ikinci nginx örneğini başlatmak veya herhangi bir nedenle çökmesi durumunda yeniden başlatmak için bir cron işi yapılandıracağız. Nginx modülümüzün zaten çalışıp çalışmadığını kontrol etmek için bir dosya oluşturun ve çalışmıyorsa, şunu girerek başlatın:

ee /root/check_proxy_wpad.sh

Aşağıdakileri az önce oluşturduğunuz dosyanın içine yapıştırın.

#!/bin/sh
pgrep -F /var/run/nginx-wpad.pid
if [ $? == 0 ];then
    /bin/echo running
else
    /usr/local/sbin/nginx -c /usr/local/etc/nginx/nginx-wpad.conf
fi

Bu betiği yürütülebilir olarak ayarlayın

chmod +x /root/check_proxy_wpad.sh

Otomatik çalıştırma için bir cron işi oluşturun

Bunu komut satırından yapabilirsiniz ancak Sistem > Paketler altında bulunan Cron aracı hayatı çok daha kolaylaştırır. Henüz yüklemediyseniz yükleyin ve Hizmetler > Cron’a gidin

Bir iş yaratın

  • Dakika = *
  • Saat = *
  • Ayın Günü = *
  • Haftanın Günü = *
  • Kullanıcı = kök
  • Komut = /root/check_proxy_wpad.sh

İşiniz buna benzemeli

Cron düzenleme

Kaydet’e tıklayın

ps aux | grep -i "nginx: master"İkinci nginx örneğinin komut kabuğu ve komut komutu kullanılarak otomatik olarak başlatıldığını doğrulamak ve yeniden başlatmak faydalıdır

WPAD dosyalarını sunun

WPAD dosyalarını sunmanın iki yöntemi vardır, DNS ve DHCP. Bunlardan birini veya ikisini birlikte kullanabilirsiniz, kişisel testlerimde DNS’in daha güvenilir olduğunu buldum ancak DHCP’nin daha güvenilir olduğunu söyleyen başka kullanıcılar da duydum.

Her iki sistemi aynı anda çalıştırmak mümkündür, eğer bir adres DHCP üzerinden alınmazsa sistem daha sonra DNS’e geri döner. Orijinal kılavuzu 2014’te yazdığım zaman itibariyle, Firefox DHCP üzerinden WPAD’yi desteklemiyordu, bu da uzun yıllardır bilinen bir hataydı. Her iki yöntemi de ayrıntılı olarak anlatacağım ancak her ikisini de denemenizi ve hangisinin sizin ve hizmet etmek istediğiniz istemciler için en iyi şekilde çalıştığını görmenizi öneririm.

DNS’yi yapılandırın

Bu kılavuzun odaklanacağı DNS Forwarder’dan DNS Resolver’a yükseltme yaptım.

Hizmet > DNS Çözücü’ye gidin

  • DNS Çözücü = [x]
  • Dinleme portu: 53
  • Ağ Arayüzleri = istediğiniz arayüzleri vurgulayın
  • Giden Ağ Arabirimleri = DNS çözümlemesinin gerçekleşeceği arabirimleri vurgulayın.
  • Sistem Etki Alanı Yerel Bölge Türü = Şeffaf
  • DNSSEC = Tercihen işaretli olsun ama birkaç sorun yaşadığım için işaretli bırakmıyorum.
  • DNS Sorgu Yönlendirme = [x]
  • DHCP Kaydı = [x]
  • Statik DHCP = [x]

Şimdi ‘wpad’ için bir wpad host override’ı oluşturacağız.

  • Ana Bilgisayar Geçersiz Kılmalarının yanındaki + öğesine tıklayın
  • Ana bilgisayar = wpad
  • Domain = pfSense genel ayarlarında belirlediğiniz alan adı local.lanbana aittir.
  • IP = LAN IP’niz
  • Açıklama = WPAD veya açıklayıcı bir şey
  • Kaydetmek

Ana bilgisayarı düzenle

WPAD ana bilgisayar geçersiz kılma işleminin ile çalıştığını test edin nslookup. Bu, ana bilgisayar geçersiz kılma IP adresini size geri bildirmelidir. (192.168.20.1 benim DNS sunucumdur)

$ nslookup wpad.local.lan
Server:   192.168.20.1
Address:  192.168.20.1#53

Name: wpad.local.lan
Address: 192.168.1.1

Ayrıca wpad.dat dosyasını (ve diğer ikisini) tarayıcınızdan indirebildiğinizden emin olmak için test etmeye değer. Tarayıcınızı açın ve . adresine gidin . İsterseniz http://wpad.local.lan/wpad.datsiz de kullanabilirsiniz , burada curl wpad.da dosyamı doğru şekilde döndürüyor.curl

$ curl wpad.local.lan/wpad.da
function FindProxyForURL(url,host)
{
  // If the requested website is hosted within the internal networks, send direct.
  if (isPlainHostName(host) ||
    shExpMatch(host, "*.local.lan") ||
    isInNet(dnsResolve(host), "10.0.0.0", "255.0.0.0") ||
    isInNet(dnsResolve(host), "172.16.0.0",  "255.240.0.0") ||
    isInNet(dnsResolve(host), "192.168.0.0",  "255.255.0.0") ||
    isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0"))
    return "DIRECT";

  //Default rule: all other traffic use below proxy
  return "PROXY 192.168.1.1:3128";
}

DHCP’yi yapılandırın

DHCP sunucunuzda ‘Ek BOOTP/DHCP bölümüne’ aşağıdaki üç seçeneği ekleyin.

wpad.dat dosyası için

number: 252
type: string
value: "http://wpad.local.lan/wpad.dat"

wpad.da dosyası için

number: 252
type: string
value: "http://wpad.local.lan/wpad.da"

ve son olarak proxy.pac dosyası için

number: 252
type: string
value: "http://wpad.local.lan/proxy.pac"

 

 

ftp://ftp.ut-capitole.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz