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