iptables girdigim kurallari kabul etmiyor
Öncelikle mail listesine yeni katıldığımdan dolayı herkese selamlarımı
iletirim :)
Ve umarım mailide doğru yere yolluyorumdur zira bu adres olduğundan tam
olarak emin değilim...
Şimdi gelelim sorunuma
Debian etch üzerine squid ve dansguardian kurulumunu yaptım.
ayrıntıya girmek gerekirse daha evvelden dansguardian kurulumlarımda
ClamAV'ı otomatik yüklediğini ve bu yüklenen ClamAV'ında eski sürüm
olduğu için sorunlar çıkarttığını gördüm.
bu nedenle unstable repodan son sürüm ClamAV yükledikten sonra DG
kurulumunu yaptım...
DG kurduktan sonra squid ve dg ile alakalı bir sürü sorunla karşılaştım
ancak bunları bir şekilde çözmeyi başardım
internetteki dökümanlardan okuduğum ve anladığım kadarıyla eğer dg
kullanılacaksa squid config dosyasında kendi ağımı hiç bir şekilde
tanımlamamam ve böylecede gelen tüm isteklere direkt olarak DG nin cevap
vereceği yönündeydi. bende bunu aynen uygulayıp config dosyasında ağımı
tanımlamadım. bu noktada ilk sorunumla karşılaştım, squid hiçbir şekilde
dışarıya çıkmama izin vermiyordu. daha sonra kendi ağımı ekleyerek bir
şekilde de olsa internete çıkmayı başardım. gelen isteklere direkt
olarak DG nin cevap vermesini sağlamak için aşağıdaki sh dosyasıyla
iptables'a kuralları girdim
--------------------------------------------------------------------------------------------------
#!/bin/sh
# dansguardian server IP
DG_SERVER='192.168.1.100'
# Interface connected to Internet
INTERNET='eth1'
# Interface connected to LAN
LAN_IN='eth0'
# Squid port
DG_PORT='8080'
# DO NOT MODIFY BELOW
# Clean old firewall
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# Load IPTABLES modules for NAT and IP conntrack support
modprobe ip_conntrack
modprobe ip_conntrack_ftp
# For win xp ftp client
modprobe ip_nat_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward
# Setting default filter policy
#iptables -P INPUT DROP
#iptables -P OUTPUT ACCEPT
# Unlimited access to loop back
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Allow UDP, DNS and Passive FTP
iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j
ACCEPT
# set this system as a router for Rest of LAN
iptables --table nat --append POSTROUTING --out-interface $INTERNET -j
MASQUERADE
iptables --append FORWARD --in-interface $LAN_IN -j ACCEPT
# unlimited access to LAN
iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables -A OUTPUT -o $LAN_IN -j ACCEPT
# DNAT port 80 request comming from LAN systems to dansguardian 8080
($DG_PORT) aka transparent proxy
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to
$DG_SERVER:$DG_PORT
# if it is same system
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT
--to-port $DG_PORT
# DROP everything and Log it
#iptables -A INPUT -j LOG
#iptables -A INPUT -j DROP
--------------------------------------------------------------------------------------------------
tüm bu ayrıntıları verdikten sonra nihayi sonuca geliyorum...
server'ı reboot ettiğimde clientlar üzerinden web hariç hiçbir şekilde
internete çıkamıyorum... Webmin üzerinden kontrol ettiğimde iptables
kurallarının düzgün bir şekilde hala durduğunu görüyorum ancak sonuç
olarak ftp, mail, msn.... hepsi bloklanıyor.
sh dosyasını tekrar çalıştırdığımda herşey normale dönüyor ve tekrardan
ftp, mail, msn... çalışmaya başlıyor...
bu konu hakkında bir fikri olan yada nerede yanlış yaptığımı
söyleyebilirseniz beni çok büyük bir dertten kurtarmış olacaksınız.
ilgi alaka ve cevaplarınız için şimdiden çok teşekkür ederim
Erdem Uyguner
Reply to: