LINUX.ORG.RU
ФорумAdmin

Подружить Squid и SkyDNS

 


0

1

Продолжаю мозговать по поводу блокировки контента. До «Carbon Reductor» пока не добрался, сейчас ковыряю сервис SkyDNS.
Как выяснилось SkyDNS отлично блокирует социальные сети, если включить перенаправление на него всех DNS-запросов пользователей правилом:

iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p udp --dport 53 -j DNAT --to-destination 193.58.251.251:53
Сейчас хочу усложнить задачу, пустив трафик ещё и через Squid, так чтобы Squid не пропускал пользователей к ресурсам, которые не резольвятся через SkyDNS.
Кто мне может дать вводную по Squid, можно даже лично? Пока из манов непонятно с чего начинать.

★★★★★

Ответ на: комментарий от Pinkbyte

А как быть с другими опциями /etc/squid/squid.conf?
Сначала поясните правильно ли я понимаю функции Squid? Squid позволяет проксировать только запросы по протоколам HTTP, HTTPS, FTP, GOPHER или со всеми? Хотелось бы чтобы в прокси заворачивался трафик также по протоколам bittorent, smtp, pop3, и даже по UDP-протоколам. Или я чего-то не того хочу?

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

Прозрачно проксировать можно только HTTP и HTTPS(тут есть некоторые нюансы, вроде организации MitM или более костыльне действа). Для остальных протоколов - только явное задание прокси в настройках соответствующего клиентского ПО.

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

Прозрачно проксировать можно только HTTP и HTTPS

Это как делается? Весь клиентский трафик на 80 и 443 порты заворачивается на локальный порт 3128, который слушает Squid?
Да, и Squid По какому протоколу работает вообще? SOCKS5?

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

Да, и Squid По какому протоколу работает вообще?

HTTP proxy

SOCKS5?

Нет, для этого используй другой софт. Squid конечно умеет(непрозрачно) проксировать еще и FTP, но это скорее исключение и дань традициям. Для прозрачного проксирования FTP он не годен, я в своё время юзал frox

Весь клиентский трафик на 80 и 443 порты заворачивается на локальный порт 3128, который слушает Squid?

Да

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

Честно говоря, я пока не понял какое ПО мне нужно.
Есть два способа предоставить пользователям из локалки доступ в Интернет: через NAT и через прокси. С первым всё понятно, а сейчас я решил освоить второй способ, тем более он вроде как несмотря на то что сильно замороченный, позволяет журналировать историю посещения каждого пользователя.

HTTP proxy

Я путаю HTTP и SOCKS. Я так понимаю HTTP proxy позволяет работать не только с HTTP трафиком. Принцип работы в том, что на стороне программы-клиента у пользователя прописывается, что работать нужно через прокси, тогда клиент будет весь трафик инкапсулировать в GET и PUT запросы протокола HTTP, а Squid будет этот трафик разворачивать обратно, но при условии что это разрешено в конфиге Squid? Так?
А в чём профит SOCKS? Я так понимаю через него можно проксировать и UDP-трафик, протокол SIP, например, и что тут в качестве сервера нужно использовать совсем другую программу, такую как 3proxy. Возможно ли SOCKS-проксирование через 3proxy сделать прозрачным для пользователей и с полпинка настроить журналирование истории запросов?

sunny1983 ★★★★★
() автор топика
Последнее исправление: sunny1983 (всего исправлений: 2)
Ответ на: комментарий от sunny1983

Я так понимаю HTTP proxy позволяет работать не только с HTTP трафиком.

В общем случае - нет. Для поддержки проксирования любых протоколов как раз и придумали SOCKS.

Возможно ли SOCKS-проксирование через 3proxy сделать прозрачным для пользователей и с полпинка настроить журналирование истории запросов?

Для начала объясни зачем тебе такой изврат? Тебе надо вести лог всех действий пользователя. Но в случае прозрачного проксирования у тебя остаются IP-адреса(логинов как таковых нет). А если тебе нужен лог по любым протоколам - чем не устраивает NAT, а для статистики - Netflow?

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

Для начала объясни зачем тебе такой изврат? Тебе надо вести лог всех действий пользователя. Но в случае прозрачного проксирования у тебя остаются IP-адреса(логинов как таковых нет). А если тебе нужен лог по любым протоколам - чем не устраивает NAT, а для статистики - Netflow?

Ну во первых - «чтоб уметь»
Во вторых, я это в стартовом посте писал - я сейчас колупаю различные способы блокировки контента. Допустим я ставлю коммерческий продукт SkyDNS. Можно ли тут использовать некомерческие решения я не знаю, вот допустим мне нужно заблокировать все ресурсы, относящиеся к категории «социальные сети», первое что нужно заиметь - это собственную базу категоризации интернет-ресурсов, а где ж её взять? Дальше: блокировка по DNS легко обходима, значит нужно ещё ПО, которое будет блокировать все запросы к ресурсам, которые не резольвятся через SkyDNS. Squid - одно из решений, но он прозрачно проксирует только HTTP-запросы, а пользователи кроме браузеров могут пользоваться почтовыми и SIP-клиентами, месенджерами, и, вообще, желательно чтобы ходили все типы трафика, блокировка осуществлялась бы чисто по типу контента.

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

блокировка осуществлялась бы чисто по типу контента.

Гугли l7 filtering для iptables, сразу говорю - будет много крови, слёз, пота и боли.

Камрад vel вроде пилит его сейчас под актуальные ядра, погугли его темы

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Боли не надо, надо быстро сделать чтоб отстали.
Клиенту (общеобразовательная школа) нужно сделать блокировку контента, чтобы школоло не могло попасть на порно и экстремистские ресурсы. Думаю просто купить им SkyDNS и завернуть на него все запросы на 53 порт со школьных компьютеров, но моего внутреннего перфектциониста коробит от такого халтурного решения.

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

Боли не надо, надо быстро сделать чтоб отстали.

Тогда поставь SkyDNS им и не парься. Это не та задача, которая решается с полпинка за пару часиков вдумчивого чтения манов и без затрат на ПО.

Я щитаю тут вариант такой: закрыть с школьных компов всё кроме 80 и 443 порта, их завернуть на squid(попутно установив корневой сертификат сквида на клиентские машины). Ну и SkyDNS сюда же, шоб в случае попытки пролезть куда не надо был болт.

Лучше по-быстрому все равно ИМХО не сделать

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Поддерживаю. «Запрещено все что не разрешено». ТС тут (в Admin) шаман емнип зимой тему создавал про обход блокировок через сквид, так вам просто нужен обратный вариант. Да, и кроме шамана тогда же пролетала вторая тема.

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

А дай ссылку на тему, тоже интересно.
Когда работал в Ростелекоме, там тоже всё было заблочено через прокси, ssh-подключения к домашнему серверу не работали. Вот интересно, можно ли из-под прокси всё-таки вылезти в ssh

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

Ну это «перебор», найти шомину тему в конкретном форуме за последний год (с зимой я ошибся, в ноябре было) это конечно трындец как тяжело. Подсказка, наверху справа этой страницы есть надпись «Поиск». Вторую тему не помню кто создал, но она близко по времени была.

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