Linux'ta internet paylaşımını (microsoft un ICS si gibi) yapmak isterseniz, www.iptables-script.dk adresinden sisteminize uygun bir iptables scripti oluşturun. Bu dosyayı açılış dosyasına /etc/rc.d/rc.local ekleyin.


Eğer bunun yanında squid cahce proxy serverı da kullanayım daha hızlı olsun ve hem de porno, addware gibi siteleri de yasaklayayım. Yada belli kullanıcılar internete çıksın veya belli saatlerde çıksın gibi bir isteğiniz varsa, assağıdakilere bi göz atın.


1- squid cache proxy:
squid unix tabanlı işletim sistemleri üzerinde çalışan en gelişmiş proxy sunucudur. Hemen hemen her dağıtımda gelir. Debian da olmayabilir. Eğer yoksa www.squid-cache.org dan indirip kurabilirsiniz. Squid'i transparent modda kullanmanızı öneririm. Böylece gidip clientlardaki browserları proxy kullan diye ayarlamanıza gerek kalmaz. Bunu yapmak için squid.conf dosyasına


httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

satırlarını ekleyin. Iptables kullanarak da localden internete giden http isteklerini squid'e yönlendirin.
/sbin/iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128

bu satırı yine /etc/rc.d/rc.local dosyasına ekleyebilirsiniz. Burda squid default olarak 3128 potunu dinler. Eğer squid.conf dosyasında farklı port belirtdiyseniz, yukarıdaki 3128 i de aynı şekilde değistirin. Yerel ağın 192.168.0.0/24 oldugunu varsaydım, eğer farklı ise onu da değiştirin.
ve en son squid.conf dosyasında yerel ağdan internete çıkacak olanların tanımlarını yapıp onlara çıkış izni verin.

Örnek:
acl lan src 192.168.0.0/255.255.255.0
http_access allow lan

Şu an squid transparent modda ve localden internete çıkan tüm http istekleri onun kontrolünde. Sadece http isteklerini kontrol ediyor. ftp smtp vb portları kısıtlamak isterseniz onu iptables'la yapmanız gerekir. Onu da zaten www.iptables-script.dk daki script yapıyor.

2 - Porno ve addware sitelerin yasaklanması:
Bu işi en rahat squidGuard adlı redirect programla yaparsınız. www.squidguard.org dan programı ve blacklist'ini indirin. Programı kurun. Squid.conf dosyasında redirect program olarak squidGuard programını tanımlayın. Blacklisti ilgili yere açın (örnekte squidGuard /usr/local/squidGard/ dizinine kurulu. Blacklist ise bu klasördeki db klasörünün içinde). Asagıda örnek bir squidGurad.conf (/usr/local/squidGuard/squidGuard.conf) var:

logdir /usr/local/squidGuard/log
dbhome /usr/local/squidGuard/db
dest bl_porn {
domainlist blacklists/porn/domains
urllist blacklists/porn/urls
expressionlist blacklists/porn/expressions
}
dest bl_ads {
domainlist blacklists/ads/domains
urllist blacklists/ads/urls
}
dest bl_agg {
domainlist blacklists/aggressive/domains
urllist blacklists/aggressive/urls
}
dest bl_drugs {
domainlist blacklists/drugs/domains
urllist blacklists/drugs/urls
p; }
dest bl_gam {
domainlist blacklists/gambling/domains
urllist blacklists/gambling/urls
p; }
dest bl_warez {
domainlist blacklists/warez/domains
urllist blacklists/warez/urls
p; }
dest bl_vio {
domainlist blacklists/violence/domains
urllist blacklists/violence/urls
expressionlist blacklists/violence/expressions
}
dest bl_hack {
domainlist blacklists/hacking/domains
urllist blacklists/hacking/urls
}
acl {
default {
pass !bl_porn !bl_ads !bl_agg !bl_drugs !bl_gam !bl_warez !bl_vio !bl_hack all redirect https://localhost/cgi/blocked?clientaddr=%a&cli entname=%n&clientuser=%i&clientgroup=%s&url=%u
}
}

bir de aşağıdaki komutla squidGuard klasörünün sahibi olarak squid'i atayın. Yoksa squid bu dosyalara erişemeyebilir.
#chown squid:squid /usr/local/squidGuard -R

Artık lokalden kimse tanımlı porno addware vb sitelere (10000 den fazla) giremez. Türk porno siteler tanımlı olmayabilir. Onu da artık /var/log/squid/access den bakıp kim nerelere girmiş kontrol edip blackliste eklersiniz. Tabii isterseniz kendinize ayrı bir grub tanımlayıp warez ***** vb siteler'e girme yetkisini alabilirsiniz.