Привет всем!
Нужна небольшая помощь. А именно в настройке iptables. Или как закрутить гайку.
Дано:
1. сеть небольшой фирмы в которой все компьютеры имеют неограниченнный выход в интернет.
2. в этой сети есть _несколько_ технологических компьютеров, выход в инет с которых надо ограничить только _несколькими_ сайтами.
3. Шлюз - федора+squid.
Принимаю решение крутить гайку на iptables, так как его правила отрабатывают раньше сквидовых.
Пишу следующий код:
for i in $LOCAL_TORGS
do
for j in $TORG_PLACES
do
$IPT -t nat -A PREROUTING -s $i -d $j -p tcp -m multiport --dport 80 -j REDIRECT --to-port 3128
$IPT -A FORWARD -s $i -d $j -p tcp -m multiport --destination-port 443,5190 -j ACCEPT
$IPT -A FORWARD -s $i -d $j -p icmp -j ACCEPT
done
#-------------------------------------------------------------
$IPT -t nat -A PREROUTING -s $i -p tcp -m multiport --dport 80 -j DROP
#-------------------------------------------------------------
$IPT -A FORWARD -s $i -j DROP
done
########## Перенаправляем 80й порт всего остального на squid ########################
$IPT -t nat -A PREROUTING -i $LOCAL_IF -p tcp -m multiport --dport 80 -j REDIRECT --to-port 3128
То есть перенаправляю явно на сквид трафик с выделенных хостов только на выделенные сайты. А весь остальной трафик с выделенных хостов пытаюсь сбросить. Увы, но если написать так, как приведено выше (отмечено комментом #-------), то iptables ругается следующим образом
The "nat" table is not intended for filtering, the use of DROP is therefore inhibited
И правило не подхватывает. Если убрать из правила "--t nut", то правило подхватывается, но... В результате отрабатывает следующее правило, "всем перераправить на squid" и разрешает перенаправление и моим выделенным хостам.
Подскажите, как надо исправить конструкцию фильтра? Повторять фильтрацию в сквиде - не хочу, так как считаю концептуально неправильным ходом.