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.pac
ve ardından hepsini senkronize tutmayı kolaylaştıracak iki adet ‘bağlantılı’ wpad.dat
dosya 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 redirect
seç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.lan
bana 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.pac
ve ardından hepsini senkronize tutmayı kolaylaştıracak iki adet ‘bağlantılı’ wpad.dat
dosya 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 redirect
seç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
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.lan
bana aittir. - IP = LAN IP’niz
- Açıklama = WPAD veya açıklayıcı bir şey
- Kaydetmek
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.dat
siz 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