выручайте!
Не сплю вторые сутки и ни как не могу увидеть где грабли. Судя по всему пропустил какую то мелочь, но уже глаз замылился и мозги кипят.
Вообщем ситуация такая.
Сейчас есть локалка офисная 192.168.0.1/24
Главный инетовский шлюз 192.168.0.1
Файловая помойка 192.168.0.10
Компы сети имеют выход в инет.
Добовляем второй шлюз eth0 192.168.0.2, eth1 192.168.11.1/28 (eth1:1 192.168.12.1/28, eth1:2 192.168.13.1/28, eth1:3 192.168.14.1/28, eth1:4 192.168.15.1/28)
То есть всего 5 подсетей.
Второй шлюз на Fedora 12.
Задача: все подсети eth1 должны иметь доступ к файловой помойке 192.168.0.10 по SMB, и не иметь доступа в друг друга и в остальную сеть 192.168.0.1/24,
сеть 192.168.0.1/24 так же не должна иметь доступа в сети интерфейса eth1 второго шлюза.
Так же eth1:2 (192.168.13.1/28) и eth1:4 (192.168.15.1/28) должны иметь полный выход в инет, а остальные не должны.
Казалось бы всё просто, но не не получаецо каменный цветок у Данилы-мастера.
Делал так:
Код: Выделить всё
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
## Flush all default
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
#
## Setup policy DROP for all
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT DROP
#
## loop=trusted.
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
#
## Drop invalid pakets
/sbin/iptables -A INPUT -m state --state INVALID -j DROP
/sbin/iptables -A FORWARD -m state --state INVALID -j DROP
#
## ESTABLISHED connection
#/sbin/iptables -A INPUT -i eth0 -m state --state NEW -j DROP
#/sbin/iptables -A INPUT -i eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
#
## Remote SSH control
/sbin/iptables -A INPUT -p tcp --dport 22 -s 192.168.0.120 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 22 -s 192.168.17.3 -j ACCEPT
#
## Setup PING
/sbin/iptables -A OUTPUT -p icmp -m icmp -o eth0 --icmp-type echo-reply -j ACCEPT
/sbin/iptables -A INPUT -p icmp -m icmp -i eth1 --icmp-type echo-request -j ACCEPT
/sbin/iptables -A OUTPUT -p icmp -m icmp -o eth1 --icmp-type echo-reply -j ACCEPT
#
## Setup Internet access for this machine
/sbin/iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
#
## Setup input united for all HTTP virtual hosh
/sbin/iptables -A INPUT -p tcp --dport 80 -s 192.168.0.0/16 -j ACCEPT
### Firewall rules for USERS
#/sbin/iptables -t nat -A POSTROUTING -p icmp -o eth0 -j SNAT --to-source 192.168.0.2
/sbin/iptables -t nat -A POSTROUTING -p udp -o eth0 -j SNAT --to-source 192.168.0.2
/sbin/iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to-source 192.168.0.2
/sbin/iptables -A FORWARD -i eth1 -p tcp --dport 80 -j DROPПри таких правилах, в пределах eth1, у всех есть инет и им доступны ресурсы файлового сервера 192.168.0.10
Чую что упустил какую то мелочь, но какую не пойму.
Помогите найти грабли!
Спасибо.