LINUX.ORG.RU
ФорумAdmin

Nat+Squid3+AD не могу ограничить использование nat

 , ,


0

1

Доброго времени суток!

Поднял squid, прикурил его к контролеру домена, всё работает отлично, группы чекает, кому что можно/нельзя настроил, пользователи ходят через Squid. Но если подключить к сети ноутбук не принадлежащий домену и вбить свободный ip моей сети с указанием шлюза тогда я получаю просто nat без ограничений. Так же если убрать настройки прокси в браузере, пользователь опять же получает nat, этот вопрос конечно я решил запретом через GPO. Как это дело ограничить я уже курю вторые сутки, безуспешно:-(

eth0 - смотрит в интернет eth1 - локальная сеть 10.0.0.4

правила iptables:

#
iptables -F
iptables -F -t nat
iptables -F -t mangle
iptables -X
iptables -X -t nat
iptables -X -t mangle
#
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#
iptables -A INPUT -p all -m state --state 
ESTABLISHED,RELATED -j ACCEPT
#
iptables -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#
iptables -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A OUTPUT -o lo -p all -j ACCEPT
#
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT
#
iptables -A FORWARD -i eth1 -s 10.0.0.0/24 -p tcp -m multiport --dports 21,22,25,110,143,443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#
iptables -A FORWARD -i eth1 -s 10.0.0.0/24 -p udp -m multiport --dports 53 -j ACCEPT
iptables -A FORWARD -i eth1 -s 10.0.0.0/24 -p tcp -m multiport --dports 53 -j ACCEPT
#
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
#
iptables -A INPUT -i eth1 -p ICMP -j ACCEPT
iptables -A OUTPUT -o eth1 -p ICMP -j ACCEPT
#
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE
Пробовал завернуть трафик на порт 3128, в таком случаем проблема исчезает но тогда не могу прокинуть nat отдельному компьютеру
#IP в обход squid
iptables -A FORWARD -i eth1 -s 10.0.0.5 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth1 -s 10.0.0.5 -p tcp --dport 8080 -j ACCEPT
iptables -A FORWARD -i eth1 -s 10.0.0.5 -p tcp --dport 443 -j ACCEPT

#Запрет  HTTP для остальных через nat
iptables -A FORWARD -i eth1 -p tcp --dport 80 -j REJECT
iptables -A FORWARD -i eth1 -p tcp --dport 443 -j REJECT
iptables -A FORWARD -i eth1 -p tcp --dport 443 -j REJECT

iptables -t nat -A PREROUTING -i eth1 ! -d 10.0.0.0/24 -p tcp -m multiport --dport 80,8080,443 -j DNAT --to 10.0.0.4:3128

Может кто подможет?


не могу прокинуть nat отдельному компьютеру

Надо и в PREROUTING'е делать исключение для этого компа:

iptables -t nat -A PREROUTING -i eth1 -s 10.0.0.5 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 ! -d 10.0.0.0/24 -p tcp -m multiport --dport 80,8080,443 -j DNAT --to 10.0.0.4:3128

в таком случаем проблема исчезает

То есть важны только 80,8080,443 порты, остальные можно NAT'ить для всех?

А это вы зачем написали? Ведь вы уже DNAT'нули их на порт 3128:

#Запрет  HTTP для остальных через nat
iptables -A FORWARD -i eth1 -p tcp --dport 80 -j REJECT
iptables -A FORWARD -i eth1 -p tcp --dport 443 -j REJECT
iptables -A FORWARD -i eth1 -p tcp --dport 443 -j REJECT

mky ★★★★★ ()
Ответ на: комментарий от mky

То есть важны только 80,8080,443 порты, остальные можно NAT'ить для всех?

На время тестирования только они, ТЗ придумывается на ходу:-(

А это вы зачем написали? Ведь вы уже DNAT'нули их на порт 3128:

Это бред, мозг кипел, не ведал что уже делаю!

Благодарю за ответ, разобрался! Тяжело даются мне iptables.

VBR ()
Ответ на: комментарий от VBR

Тяжело даются мне iptables

Гуглим iptables tutorial (есть и на русском)

anc ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.