Mehmet Türkoğlu @ On 03-03-2009 14:59:
> iptables -L   çıktısı bu şekilde

hocam iptables'da hiç kuralınız olmadan biraz zor o sistemin çalışması ;) en
azından aşağıdaki kuralların olması gerekir, bunu bir bash komutu olarak
kaydederseniz daha rahat çalıştırabilirsiniz;

#!/bin/bash
IPTABLES=$(which iptables)
MODPROBE=$(which modprobe)

# SQUID'i kullanacaksak 1, kullanmayacaksak 0.
SQUID=1
SQUID_PORT="3128"

# IP GRUPLARI
# Kendinize göre uyarlayabilirsiniz.
TEKNIK="192.168.1.0/255.255.255.0"
MUHASEBE="192.168.100.0/255.255.255.0"
MISAFIR="192.168.254.0/255.255.255.0"
VPN="192.168.5.0/255.255.255.0"

# Eski FW'u temizle
$IPTABLES -F
$IPTABLES -X
$IPTABLES -t nat -F
$IPTABLES -t mangle -F

# Varsayilan giris cikis kurallari
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT

# NAT ve IP conntrack destegi icin IPTABLES modullerini yukle
$MODPROBE ip_conntrack
$MODPROBE ip_conntrack_ftp

# Bu satir cok onemli, IP Forwarding!
echo 1 > /proc/sys/net/ipv4/ip_forward

# Loopback (lo) ve LAN sinirsiz hareket eder
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A INPUT -i eth0 -j ACCEPT

# Pasif FTP'ye izin ver
$IPTABLES -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Servisler için bir CHAIN yarat ve bu noktadan sonra servislerle
# ilgili herseyi SERVISLERe yolla.
$IPTABLES -N SERVICES
$IPTABLES -A INPUT -j SERVICES

# Servisleri tanımlayalım
# FTP
$IPTABLES -A SERVICES -j ACCEPT -p tcp -m tcp --dport 21

# OpenVPN
$IPTABLES -A SERVICES -j ACCEPT -p udp -m udp --dport 1194

# SSH
$IPTABLES -A SERVICES -j ACCEPT -p tcp -m tcp --dport 22

# SMTP
$IPTABLES -A SERVICES -j ACCEPT -p tcp -m tcp --dport 25

# HTTP
#$IPTABLES -A SERVICES -j ACCEPT -p tcp -m tcp --dport 80

# POP3
$IPTABLES -A SERVICES -j ACCEPT -p tcp -m tcp --dport 110

# IMAP
$IPTABLES -A SERVICES -j ACCEPT -p tcp -m tcp --dport 143

# WEBMIN
$IPTABLES -A SERVICES -j ACCEPT -p tcp -m tcp --dport 10000

# Bize atilan pinglere cevap verelim
$IPTABLES -A SERVICES -j ACCEPT -p icmp --icmp-type 8 -s 0/0

# Bu sistemi LAN'daki tum makinalar icin ROUTER olarak belirle
$IPTABLES -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# 80 portuna tum cikislari SQUID'e yonlendir
# ama servera direkt erisimi elleme.
$IPTABLES -A INPUT -p tcp -s $TEKNIK -d 192.168.1.1 --dport 80 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s $MUHASEBE -d 192.168.1.1 --dport 80 -j ACCEPT
# Misafirlerin bizim 80. portumuza erişmesini istemiyoruz, o yüzden
# yukarıdaki listede yoklar.
if [ $SQUID = 1 ]; then
        $IPTABLES -t nat -A PREROUTING -p tcp -s $VPN -m tcp --dport 80 \
          -j ACCEPT
        $IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT \
          --to-port $SQUID_PORT
fi

# BU SATIR HEP EN SONDA OLMALI!
$IPTABLES -A INPUT -i tun0 -j ACCEPT
$IPTABLES -A INPUT -i ppp0 -j DROP

iptables-save > /etc/iptables.up.rules

exit 0

## DOSYA BITER ##

Yaklaşık olarak bu yukarıdaki dosya işinizi görür, dikkat edilmesi gereken
nokta internet erişiminizin nereden geldiği, ben ADSL modemi bridge olarak
ayarlayarak internete çıkıyorum o yüzden benim dış dünyayla ilgili
interfaceim ppp0, LAN ile ilgili olan ise eth0. Siz kendi ihtiyacınıza göre
ayarlama yapmalısınız.

-- 
Omer Barlas
[email protected]

_______________________________________________
Linux E-Posta Listesi
[email protected]

Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
dakika içinde üyeliğinizi sonlandırabilirsiniz.
http://liste.linux.org.tr/mailman/listinfo/linux

Cevap