Код: Выделить всё
#!/bin/sh
#
iptables -F
iptables -t nat -F
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ip_nat_ftp
## opisyvayu interfeis na storone provaidera
INET_IP="XXX.XXX.XXX.XXX" # IP который дал провайдер
INET_IFACE="eth0"
INET_BROADCAST="YYY.YYY.YYY.YYY"
## opisyvayu interfeis na storone localnoi seti
LAN_IP="192.168.100.200"
LAN_IP_RANGE="192.168.100.0/24"
LAN_IFACE="eth1"
IPTABLES="/usr/sbin/iptables"
/sbin/depmod -a #podcluchayu modyl
/sbin/modprobe ip_tables #podcluchayu modyl
/sbin/modprobe ip_conntrack #podcluchayu modyl
/sbin/modprobe iptable_filter #podcluchayu modyl
/sbin/modprobe iptable_mangle #podcluchayu modyl
/sbin/modprobe iptable_nat #podcluchayu modyl
/sbin/modprobe ipt_LOG #podcluchayu modyl
/sbin/modprobe ipt_limit #podcluchayu modyl
/sbin/modprobe ipt_state #podcluchayu modyl
/sbin/modprobe ip_nat_ftp #podcluchayu modyl
##Modem заходим удалено на сервак через обычный модем, а также ходим в инет через рабочий шлюз по средством обычного модема
iptables -A INPUT -p ALL -i ppp0 -j ACCEPT #razreshaem podcluchenie po ppp0
iptables -A FORWARD -s 192.168.0.10 #dlya dostupa po PPP
##USERS
iptables -t nat -A POSTROUTING -s 192.168.100.100 -o $INET_IFACE -j SNAT --to-source $INET_IP #ADMIN
iptables -t nat -A POSTROUTING -s 192.168.100.101 -o $INET_IFACE -j SNAT --to-source $INET_IP #User1
iptables -t nat -A POSTROUTING -s 192.168.100.102 -o $INET_IFACE -j SNAT --to-source $INET_IP #User2
iptables -t nat -A POSTROUTING -s 192.168.100.103 -o $INET_IFACE -j SNAT --to-source $INET_IP #User3
#
#
iptables -A INPUT -s zz.zz.zz.zz -j ACCEPT # админим удаленно сервак из дома например
iptables -A INPUT -s localhost -j ACCEPT
#Открываем доступ для всей локалки на определеные порты
iptables -A INPUT -p tcp -s $LAN_IP_RANGE --dport 3128 -j ACCEPT # squid
iptables -A INPUT -p tcp -s $LAN_IP_RANGE --dport 25 -j ACCEPT # smtp
iptables -A INPUT -p tcp -s $LAN_IP_RANGE --dport 80 -j ACCEPT # http
iptables -A INPUT -p tcp -s $LAN_IP_RANGE --dport 110 -j ACCEPT # pop3
iptables -A INPUT -p tcp -s $LAN_IP_RANGE --dport 445 -j ACCEPT # samba
iptables -A INPUT -p tcp -s $LAN_IP_RANGE --dport 443 -j ACCEPT # https
iptables -A INPUT -s 192.168.100.100 -j ACCEPT # Админ ходит на все порты
iptables -t nat -A PREROUTING -p tcp -s $LAN_IP_RANGE -d ! 192.168.100.200 --dport 80 -j REDIRECT --to-ports 3128 # Заворачиваем обращения всех пользователей через прокси
#
iptables -t nat -A POSTROUTING -s 192.168.0.10 -j MASQUERADE # dlya dostupa po PPP
iptables -A INPUT -p icmp -j ACCEPT #Razreshay pingi iz vne
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #podderzhivaem vse sozdannye podclycheniya
iptables -P INPUT DROP # zaprechaem vse";#########################################################
Проблема заключается вот в чем, если я например комментирую скажем правило :
#iptables -A INPUT -p tcp -s $LAN_IP_RANGE --dport 445 -j ACCEPT # samba
То люди не могут пользоваться самбовой шарой, все зер гуд, а как я только комментирую доступ на 80 порт чтобы перекрыть доступ к web ресурсам
#iptables -A INPUT -p tcp -s $LAN_IP_RANGE --dport 80 -j ACCEPT # HTTP
То нифига, 80 порт все равно открыт, понятно что сквид зарубит, но все же хотелось впервую очередь рубить средствами iptables а потом уже сквидом.
Получается, что все порты нормально перекрываются кроме 80-го.
Просьба кто знает, поправте мой конфиг