Oggi la necessità di filtrare gli accessi ad internet ci impone l’uso di un server proxy che regolamenti la navigazione di tutti gli apparecchi della rete.
Ma come implementare facilmente un proxy da un server Windows usando il DHCP e IIS?
Usando il WPAD (noto anche come PAC)
Ecco i passaggi per la facile implementazione di un proxy; io ho usato GFI WebMonitor, ma funziona con qualsiasi altro tipo di proxy.
Nel nostro esempio abbiamo ipotizzato una LAN con indirizzi 172.16.45.X, il cui proxy è 172.16.45.26 con porta 8081, e da cui vogliamo escludere alcuni indirizzi grazie ai comandi messi a disposizione dal WPAD. La funzione FindProxyForUrl si occupa di stabilire se applicare o meno l’uso del server proxy. Il comando return “PROXY 172.16.45.26:8080” è quello che si occupa di obbligare all’uso del proxy, mentre gli altri sono solo delle esclusioni.
Configurazione DHCP
Nelle impostazioni del DHCP aggiungere un opzione ambito del tipo 252 indicando un indirizzo http://172.16.45.26/wpad.dat così come indicato qui.
Creazione del file wpad.dat
Dopo aver installato IIS (qualora non fosse già stato fatto) sul vostro server proxy, create nella cartella c:\inetpub\wwwroot un file wpad.dat con il seguente contenuto.
Ecco l’esempio:
function FindProxyForURL(url, host)
{
// Per bypassare il proxy per un URL preciso
if (shExpMatch(url, "http://www.dominio.com*") return "DIRECT";
// Per bypassare il proxy in caso di indirizzo IP 172.16.45.42
if (shExpMatch(myIpAddress(), "172.16.45.42")) return "DIRECT";
if (myIpAddress()=="172.16.45.42") return "DIRECT";
// Per bypassare il proxy per gli indirizzi locali (intranet, server web interni, ecc.)
if (isPlainHostName(host)) return "DIRECT";
// Per bypassare il proxy per il protocollo indicato (FTP)
if (shExpMatch(url,"ftp:*")) return "DIRECT";
// Per applicare la configurazione del proxy automatico sul client
return "PROXY 172.16.45.26:8080";
}