Linux Forum Казахстан

Общий => Администрирование => Тема начата: layabout от 20 Января 2014, 10:44

Название: squid + iptables, НЕ прозрачный прокси
Отправлено: layabout от 20 Января 2014, 10:44
Здравствуйте. имеется проблемка на которую у меня знаний не хватает, уже пару месяцев гуглю, решение как бы нашел , но оно не устраивает. Есть ли другие решения или только это - весь трафик 8080 через iptables на прозрачный прокси.
Имеется squid с вбитыми ip-пользователями (инет получают не все на предприятии).
Iptables - стандартные правила открытия и закрытия портов.
Шлюз настроен.
lan eth0 1.1.1.1
wan eth1 2.2.2.2

На клиентах прокси работает отлично, но вот по шлюзу ничего не идет, вернее идет, только с таким правилом -A POSTROUTING -s 1.1.1.0/24 -o eth1 -j MASQUERADE
как я понимаю, это я клиента 1,1,1,2 выпускаю в интернет через нат.
боюсь если дам всю сеть в нат, то не смогу следить за трафиком, ведь прокси даже прописывать не надо будет, Интернет будет работать через шлюз.
решение такое - завернуть в iptables весь трафик на прозрачный squid. Является ли это решение правильным ?
смогу ли я так отслеживать статистику посещение, будет ли блокирован торрент и подобные вредные кушалки трафика?

Хотелось бы так - Обычный прокси, с работающим шлюзом, где юзеры могут через него отправлять почту через этот шлюз, без НАТа.
а тут либо всю сеть в нат, либо еще пицот часов гугла :(

Подскажите. пишите, любой конфиг выложу, дедлайн сдачи сервера уже прошел (((((



Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: Vicpo от 20 Января 2014, 11:05
Цитата: layabout от 20 Января 2014, 10:44
Хотелось бы так - Обычный прокси, с работающим шлюзом, где юзеры могут через него отправлять почту через этот шлюз, без НАТа.

Ну первое - почта через прокси сервер не пойдет (имеется ввиду SMTP, POP3, IMAP) тут нужен разрешенный доступ на шлюзе/firewall и тд.
Если нужен прозрачный прокси - то в сети куча документации по squid в режиме transparent.
Как вариант настроить port mapping для почты (если используется один внешний сервер для работы с почтой) и прокси сервер в обычном режиме.
Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: B@F от 20 Января 2014, 11:34
Я думаю для начала выложите конфиг прокси и правила фаервола. Это один и тот же сервер?
Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: layabout от 20 Января 2014, 14:12
squid и iptables на 1 серdере, squid настроен просто, разрешить одним интернет, другим запретить. ничего лишнего.

iptables

-A POSTROUTING -p tcp -m tcp -m multiport -j MASQUERADE --dports 110,25

-A INPUT -p tcp -m tcp -i eth0 --dport 22 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp -i eth0 --dport 80 -j ACCEPT
-A INPUT -p udp -m multiport -i eth0 --ports 135,136,137,138,139,445 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 443 -j ACCEPT

-A FORWARD -m state -i eth1 --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j ACCEPT
-A FORWARD -p tcp -m tcp --dport 25 -j ACCEPT

-A FORWARD -p tcp -m tcp --dport 110 -j ACCEPT

-A FORWARD -p udp -m udp --dport 53 -j ACCEPT
-A FORWARD -p udp -m udp --sport 53 -j ACCEPT
-A FORWARD -p tcp -m tcp -s 1.1.1.0/24 --dport 25 -j ACCEPT

-A FORWARD -p tcp -m tcp -s 1.1.1.0/24 --dport 110 -j ACCEPT

-A OUTPUT -p udp -m udp --sport 53 -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT


ЦитироватьНу первое - почта через прокси сервер не пойдет (имеется ввиду SMTP, POP3, IMAP) тут нужен разрешенный доступ на шлюзе/firewall и тд.

про это знаю, вот не получилось ниразу настроить проходить через шлюз почтового трафика, и интернет сайты не пингуются, шлюз на сервере включен.

ЦитироватьКак вариант настроить port mapping для почты (если используется один внешний сервер для работы с почтой) и прокси сервер в обычном режиме.
вот тут поподробнее, копать надо тут, но не хватает знаний, сколько всего перепробовал, миллион разных правил с инета брал,  и никак (((

если весть трафик завернуть с iptables  на squid, и сделать правило -A POSTROUTING -s 1.1.1.0/24 -o eth1 -j MASQUERADE. то все работает, но есть ли это правильно???? не могу понять и получается что всем юзерам даем НАТ. а как быть с блокировками torrent, и прочих сетевых программ которые работают не по 8080 порту.


Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: B@F от 20 Января 2014, 17:31
http://linuxforum.kz/index.php/topic,5489.0.html - отправка почты из локальной сети.

В нате нужно запретить все, а разрешить только нужные хосты и порты.

Прокси должен быть настроен как транспорент. У вас так? А у вас не прозрачный, ну тогда тем более запретить форвардинг и вырубить нат, а трафик заворачивать у клиента, путем прописывания ручками в каждой программе, что она должна работать через прокси.
Кстате в том же торрент клиенте есть настройка работать через прокси.
А вот как быть с другим трафиком то я бы в офисе его запретил, нефиг торрентами фильмы пиратские качать.

Что бы не парится и получить максимум пользы и удовольствия советую поставить Zentyal или любой другой аналогичный дистрибутив. Там и просто и скорость будет шейпить сразу по всем портам и программам.
Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: layabout от 21 Января 2014, 09:57
ЦитироватьПрокси должен быть настроен как транспорент. У вас так?
у меня НЕТ. вот думаю это хорошая идея, подскажите? правильно ли так сделать. Это быстрое решение проблем. Сейчас везде прокси прописано ручками на клиентах.
в нете натолкнулся на "заворачивать трафик с 21,80,81,82,83,88,8080,443 портов на squid"  будут ли эти порты работать через squid,
такие правила прописать что бы завернуть трафик на squid по нужным портам?
в гугле полно всяких правил, вот примеры

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables добавил iptables -t nat -A PREROUTING -s 192.168.x.x -p tcp -m multiport --dport 80,81,82,83,88, 8080 -j DNAT --to 192.168.x.x:3128
iptables -t nat -A PREROUTING -i eth2 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A PREROUTING -i eth2 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 8080 -j REDIRECT --to-ports 3128

запутали еще больше, мне ведь надо просто определенные порты перенаправить c eth0 (lan)  на eth1 (wan)
понял одно, надо ставить транспарент, заворачивать трафик на squid и не мучатся :)

з.ы
ЦитироватьЧто бы не парится и получить максимум пользы и удовольствия советую поставить Zentyal или любой другой аналогичный дистрибутив.

скачал как то его, но руки не дошли попробовать. не стал ставить аналогичные сервера по причине что компания на 300 пользователей, которых сейчас надо выпустить в нет, в будущем настроить днс сервер и почтовый сервер. сейчас ДНС и почта крутится на стареньком сервере novell netware 4. не думаю что зентиал и подобные подходят для такого сегмента, хотя возможно ошибаюсь

кстати скоро создам темку по настройке секондари днс ))))))
Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: Yuriy_Y от 21 Января 2014, 10:14
Zentyal как раз для этого и предназначен. Я пробовал. Мне просто не подошел потому, что на шлюзах у меня стоит астериск, чтоб его запустить, пришлось бы слишком много перепахивать. А чисто для шлюза и почтового сервера этот дистр как нельзя лучше подходит. Я его щупал немного. Мне понравился. Я бы даже продонатил разработку немного, если б применял его где.
Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: НаРазДва от 21 Января 2014, 22:35
При транспоренте SSL(HTTPS) не проходит. Нужно ручками у клиента прокси прописывать(в браузере или в скайпе).  Я на фряхе транспорент подымал и НАТил пакеты приходящие на 80 порт на порт сквида (к примеру 8080). Отлично работало.
Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: Vicpo от 22 Января 2014, 09:29
Цитата: НаРазДва от 21 Января 2014, 22:35
При транспоренте SSL(HTTPS) не проходит. Нужно ручками у клиента прокси прописывать(в браузере или в скайпе).  Я на фряхе транспорент подымал и НАТил пакеты приходящие на 80 порт на порт сквида (к примеру 8080). Отлично работало.

Кто мешает занатить таким же образом 443-й порт?
Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: Yuriy_Y от 22 Января 2014, 10:32
А я чет везде читал, что кальмарчик не умеет проксить ssl. Мож потому, что никто не пробовал? :-)
Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: Vicpo от 22 Января 2014, 10:35
Он его не проксирует, а создает сквозь себя туннель через метод CONNECT - соответственно он не видит, что внутри SSL туннеля происходит
Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: Yuriy_Y от 22 Января 2014, 11:38
А тада смысл заворачивать его на squid? Можно просто iptables'ами выпустить наружу. На моих шлюзах все запросы наружу разрешены по всем портам, строгих правил нет. И только 80-й порт на кальмара идет.
Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: layabout от 22 Января 2014, 16:46
спасибо за ответы, параллельно на другом компутере попробую поставить zentyal, подробности сообщу позже. :)
Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: Yuriy_Y от 22 Января 2014, 17:08
Зачем на другом? Virtualbox никто не отменял. И проще, и проблем меньше.
Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: НаРазДва от 22 Января 2014, 21:41
Цитата: Yuriy_Y от 22 Января 2014, 10:32
А я чет везде читал, что кальмарчик не умеет проксить ssl. Мож потому, что никто не пробовал? :-)


я это проверял, не умеет, но кто мешает прописывать кальмара у клиента, если ssl необходим.
Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: B@F от 22 Января 2014, 21:51
Цитата: Vicpo от 22 Января 2014, 10:35
Он его не проксирует, а создает сквозь себя туннель через метод CONNECT - соответственно он не видит, что внутри SSL туннеля происходит

А вот оно как работает!!!! Вот теперь многое что проясняется в работе кальмара.  А зачем? А затем что тогда кальмар будет вести статистику, резать скорость. Все делаю так.
Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: Yuriy_Y от 22 Января 2014, 21:56
Цитата: B@F от 22 Января 2014, 21:51А зачем? А затем что тогда кальмар будет вести статистику, резать скорость.

Кстати да, об этом не подумал. Надо у себя попробовать.
Название: Re: squid + iptables, НЕ прозрачный прокси
Отправлено: layabout от 29 Января 2014, 11:47
squid перешел на второй план.
здох основной сервер, почта днс и шлюз, за полдня поставил zentyal, понравился, но пота ващпе ужасно ходит. но это в другую тему вопросы http://linuxforum.kz/index.php?topic=5920.0 (http://linuxforum.kz/index.php?topic=5920.0)