DHCP Kullanarak Proxy Bilgisini Otomotik Gönderme

DHCP Kullanarak Proxy Bilgisini Otomotik Gönderme

Proxy ve Firewall kullanılan ağlarda, proxy sunucunuzu non-transparent çalıştırmanız gerektiğinde istemcilerin browser’larına proxy ip adresi ve port numarasını girmek durumunda kalırsınız. Bunun filtreleme açısından faydaları vardır.

Https trafiği transparent modda filtrelenemiyor. HTTPS protokolünü filtrelemek isteyebilirsiniz !

Transparent modda kimlik doğrulama işlemide teorik olarak mümkün değil.  Ldap, NTLM auth. yapmak istediğinizde proxy transparent modda bu işlemleri gerçekleştiremez.

Bir diğer örnek, şirket müdürünüzün laptop’u var, müdürünüzün web tarayıcısına proxy bilgilerini manuel girdiniğinizde ofis dışına çıktığında internet’e bağlanamayacaktır.Dahil olduğu her ağda web tarayıcıya yazılan proxy adresini arayacaktır.

Genel geçer çözüm olarak kurumsal ağlarda proxy bilgisini (ip:port)  Windows Active Directroy ortamlarında Group Policy kullanarak domaine üye bilgisayarlara göndermek mümkün fakat misafir istemciler ve/veya domaine dahil olmayan istemciler için bu yöntem işe yaramayacaktır. Ayrıca, Active Directory ortamı olmayan ağlar içinde çözüm yetersiz kalacaktır.

Bu tür ağlarda, dhcp sunucu ile proxy bilgisini wpad.da dosyasından okutarak istemcilerin browser’larında herhangi bir ayar yapmadan proxy bilgisini almalarını sağlamak mümkün.

Bir DHCP İsteği Nasıl Gerçekleştirilir ?

DHCP isteğinde bulunan istemci, bulunduğu network’e “var mı bana ip veren” diye bir broadcast isteği gönderilir. Bu broadcast trafiği switch’in tüm port’larına iletilir, dhcp servisi olan sunucu istemciye boş bir ip adresini kullanması için kiralar.

İstemci, MAC adresini taşıyan DHCP Discovery paketi  ile network’e broadcast yaparak “var mı bana ip veren” der.

DHCP Sunucu, DHCP Offer paketi göndererek ben sana IP verebilirim der.

İstemci, DHCP Offer paketini aldığı sunucuya DHCP Request paketi gönderir.”Ben bu ip adresini istiyorum” der.

DHCP sunucu, DHCP ACK paketi ile yine broadcast yaparak IP adresini kiralayan anlaşma paketini gönderir.

İstemci, IP adresini aldıkdan sonra broadcast DHCP Inform paketi göndererek tüm ağa “ben ip adresi aldım” der.

Bu aşamadan sonra paketler istemci ile sunucu arasında unicast olarak iletilir.

DHCP sunucu, istemciye ip ve diğer bilgileri DHCP ACK paketi ile unicast olarak iletir.Bu pakette, Router Adresi, DNS Adresi, wpad dosyası vb. bilgiler bu paket ile iletilir.

 

Linux ve *BSD Sistemlerde DHCPD V3 Ayarları

option domain-name “coslat.com”; 

default-lease-time 7200;

max-lease-time 86400;

authoritative;

log-facility local7;

ddns-update-style none;

one-lease-per-client true;

deny duplicates;

option wpad code 252 = text;

option wpad “http://10.0.0.81/wpad.dan”;

subnet 10.0.0.0 netmask 255.255.255.0 {

pool {

range 10.0.0.55 10.0.0.99;

}

option routers 10.0.0.81;

option domain-name-servers 10.0.0.81;

option tftp-server-name “”;

}

Windows Sistemlerde DHCP Server Ayarları

Windows DHCP sunucu üzerinde sağ tuş “Set Predifinded Options” sekmesinden aşağıdaki gibi ekleme yapılır,

 

 

Örnek wpad.da Dosyası

Bu dosyayı, istemcilerin ulaşabileceği bir web adresine veya ağdaki bir dosya paylaşımında tutabilirsiniz.

function FindProxyForURL(url, host) 

{

// proxy’e yonlendir

var proxy_yes = “PROXY 1.1.1.1:3128”;

var proxy_no = “DIRECT”;

if (shExpMatch(url, “http://1.1.1.75*”)) { return proxy_no; }

if (shExpMatch(url, “http://1.1.1.71*”)) { return proxy_no; }

if (shExpMatch(url, “https://1.1.1.71*”)) { return proxy_no; }

// Proxy if PC is on local LAN

if (isInNet(myIpAddress(), “1.1.1.0”, “255.255.0.0”))

{ return “PROXY 1.1.1.1:3128”; }

{ return “DIRECT”; }

}

NOT:Tüm bu işlemleri yaparak firewall’dan istemiclerin http (port 80) ve https (port 443) portlarına erişimi kapalı olmalıdır.

Bu yapıda, ağa bağlanan bir istemci dhcp’den otomotik ip aldığında proxy bilgisinide almış oluyor.Sizin manuel olarak kullanıcının web tarayıcısında proxy ayarı yapmanız gerekmiyor.

Yazar

Ozan UÇAR
ozan.ucar@bga.com.tr