Автор Тема: AltLinux 6.0 - Организация прокси-сервера [решено]  (Прочитано 19708 раз)

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
Вы можете выбрать тот или иной способ оранизации доступа, или оба сразу.
Доступ есть (режим Шлюз), как я писал в первом посте.
Организация доступа может включать не только сам доступ. Сам по себе доступ - это доступ неорганизованный, а хаотичный. :-)
Моя проблема получить статистику, потом настроить вход через логин, настроить запрет на некоторые сайты. Как? Уже бьюсь за это 5 страниц.
Сначала надо точно представлять, что и для чего Вы хотите сделать и задать правильные вопросы. Если речь про веб-сайты, то это всё делается, как правило, через squid. В iptables, при этом, надо запретить форвардинг трафика на соответствующих портах, чтобы кому не надо, не мог лазить мимо squid-а. Или сделать прозрачное проксирование вообще.
Squid пишет лог. Существуют разные анализаторы этого лога, которые могут из лога формировать статистику. Но надо понимать, что статистика будет только по тому трафику, который прошёл через squid. Скажем, трафик бухгалтерии в эту статистику не попадёт, раз, как мы выяснили, через squid она не работает.
Ага, для усложнения.
Если галочки нажимать, почти не имея представления, зачем и для чего, то возможно.

Оффлайн ans

  • Участник
  • *
  • Сообщений: 53
Сначала надо точно представлять, что и для чего Вы хотите сделать и задать правильные вопросы. Если речь про веб-сайты, то это всё делается, как правило, через squid. В iptables, при этом, надо запретить форвардинг трафика на соответствующих портах, чтобы кому не надо, не мог лазить мимо squid-а. Или сделать прозрачное проксирование вообще.
К настоящему моменту, если я правильно понял, чтобы выполнялись правила SQUID нужно включить режим РОУТЕР. При этом выход в интернет есть, но перестают работать интернет-банк и почта. Чтобы они заработали нужно как-то задать правила в iptables, чтобы открыть ftp21,25. Так? Вот тут у меня камень предкновения.

В альтераторе стоит  прозрачное проксирование. Не то?
Если галочки нажимать, почти не имея представления, зачем и для чего, то возможно.
Какие попало не нажимал. Пробовал статистику. Не работает.
« Последнее редактирование: 24.01.2012 11:50:52 от ans »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
К настоящему моменту, если я правильно понял, чтобы выполнялись правила SQUID нужно включить режим РОУТЕР. При этом выход в интернет есть, но перестают работать интернет-банк и почта. Чтобы они заработали нужно как-то задать правила в iptables, чтобы открыть ftp21,25. Так? Вот тут у меня камень предкновения.
Я же уже писал. И про "-I" вместо "-A", и про FORWARD, и про NAT.

iptables -I FORWARD -i eth1 -p tcp --dport 25 -j ACCEPT
iptables -I FORWARD -i eth1 -p tcp --dport 20 -j ACCEPT
iptables -I FORWARD -i eth1 -p tcp --dport 21 -j ACCEPT

Это если "-i eth1" из Вашего примера - правильный интерфейс. Вообще, как я уже писал, лично мне удобнее править сразу файл /etc/sysconfig/iptables. "-I" вставляет в начало, а это тоже может быть неправильно. Возможно, надо куда-то в середину. Вообще, "-I" допускает указание номера правила:

       -I, --insert chain [rulenum] rule-specification
              Insert one or more rules in the selected chain as the given rule number.  So, if the rule number is 1,
              the rule or rules are inserted at the head of the chain.  This is also the default if no  rule  number
              is specified.

Если NAT не включен, ещё

iptables -t nat -I POSTROUTING -j MASQUERADE

Только это "чтоб работало". На самом деле, можно добавить -o eth0, если eth0 - внешний интерфейс, вместо правила MASQUERADE можно использовать SNAT и т.п.
« Последнее редактирование: 24.01.2012 12:22:26 от asy »

Оффлайн ans

  • Участник
  • *
  • Сообщений: 53
Я же уже писал. И про "-I" вместо "-A", и про FORWARD, и про NAT.
iptables -I FORWARD -i eth1 -p tcp --dport 25 -j ACCEPT
...
Это я ещё в прошлый раз пробовал. Не сработало.
Кроме iptables -t nat -I POSTROUTING -j MASQUERADE
Сейчас с этим попробовал, тоже не получается.

И ещё, такое уже было, после перезагрузки перезаписывается SQUID.CONF, альтератор вместо правил записывает какой-то текст. Приходится перезаписывать из резервной копии и делать рестарт.
« Последнее редактирование: 24.01.2012 14:22:48 от ans »

Оффлайн flint1975

  • Участник
  • *
  • Сообщений: 1 443
Предлагаю систематизировать обсуждаемые здесь вопросы:
1. Под доступом в интернет понимаем:
       а) Возможность просматривать веб страницы, скачивать файлы по ftp протоколу (21 порт)
       б) Возможность получать и отправлять почту по протоколам pop3, smtp и т.п. А так же возможность подключения к внешним ресурсам, таки как банк, система сдачи электронной отчетности, удаленный офис и т.п.

2. Под механизмом доступа в интернет понимаем:
       а) Маршрутизация пакетов таким образом, что программа доступа в интернет (браузер, почтовый клиент, банк клиент и др.) имеет возможность получать ответы на свои запросы к ресурсам, соответственно и запросы должны доходить до ресурсов.
       б) Использование сторонней программы, которая от своего лица обращается к внешним ресурсам по просьбе клиентской программы доступа и возвращает ответы от этих ресурсов от своего имени.

Фуу-х с определениями определились.
Теперь реализация этих механизмов в Альт Линукс:
Сами механизмы: I Роутер (шлюзом он является по отношению к клиенту всегда, однако в терминах альтератора подразумевается, что шлюз это еще и включенный механизм NAT). II Squid Кэширующий прокси сервер

Пункт 1.а реализуется обоими механизмами, без каких либо сложных настроек, что называется "из коробки".
 В случае топикстартера ему скорее всего следует использовать режим "шлюз", потому как использование только маршрутизатора требуется в основном только тогда, когда необходимо реализовать доступ "снаружи" к внутренним клиентам независимо друг от друга, и требует (почти всегда) наличия персональных реальных IP адресов для каждого компьютера в сети.
Пункт 1.б обычно реализуется механизмом 2.а, хотя и существует возможность нетривиальной настройки squid-а для работы пункта 1.б. Единственный плюс такой возможности - это сбор статистики в одном месте, а не в разных.

Собственно типичная схема применения роутера на линукс - шлюз + squid, сбор статистики производится независимо для прокси сервера и для механизма маршрутизации (iptables)
При этой схеме доступ по пункту 1.а. возможен обоими способами, по выбору клиента - включит или нет он использование прокси в своих клиентских программах.
Пункт 1.б. не требует наличия прокси сервера, при этом достаточно только шлюза.

Эта схема вполне реализуется правильной расстановкой галочек в альтераторе.
Ограничения на доступ реализуются независимо для каждого из механизмов.
Сбор статистики - тоже

Применение консольных команд для настройки iptables - штука серьезная, но требует углубленного понимания происходящих процессов, особенно при маршрутизации.

Ans, систематизируй пожалуйста свою задачу и вопросы. Я не совсем понял в чем грабли, пока читал все 5 страниц.

Оффлайн ans

  • Участник
  • *
  • Сообщений: 53
Пункт 1.а реализуется обоими механизмами, без каких либо сложных настроек, что называется "из коробки".
 В случае топикстартера ему скорее всего следует использовать режим "шлюз",
Именно так, я изначально всё и настроил.

Предыстория кратко. Был прокси, перед новым годом сломался.
Установил Кентавр. Настроил сетевое подключение к локальной сети и к интернету. Выбрал режим ШЛЮЗ. Пользователи ЛВС получили доступ к инету.
Выявилась одна проблема - не работал клиент банк.
Взял из примеров SQUID.CONF подправил адреса, рестарт SQUID. Клиент-банк заработал. Всё. Программа минимум выполнена. Практически из коробки.
Т.е. пункты 1 и 2.

Сюда я задал вопросы:
т.е. это будет п.3. Как смотреть статистику? (стандартная в альтераторе не работает):
п.4. Как сделать выход пользователей в интернет через логин?
п.5. Ограничения на доступ к вредным web-страницам? (по ip-адресам в альтераторе видел)

Вот так примерно.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
Это я ещё в прошлый раз пробовал. Не сработало.
Кроме iptables -t nat -I POSTROUTING -j MASQUERADE
Сейчас с этим попробовал, тоже не получается.
Значит изучать вывод iptables -vnL и iptables -vnL -t nat. Это я тоже писал. ТАк не бывает, должно работать. Задача элементарная. Вы там тыкаете кнопки у Альтератора, и я не могу предположить, в какой момент какие у Вас там правила активны, когда они сбрасываются и когда перезаписываются откуда-то.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
Выявилась одна проблема - не работал клиент банк.
Взял из примеров SQUID.CONF подправил адреса, рестарт SQUID. Клиент-банк заработал. Всё.
Несколькими сообщениями ранее Вы писали, что остановка сервиса squid не повлияла на работу клиент-банка. Вопрос: при чём тут SQUID.CONF тогда ?

Оффлайн ans

  • Участник
  • *
  • Сообщений: 53
Несколькими сообщениями ранее Вы писали, что остановка сервиса squid не повлияла на работу клиент-банка. Вопрос: при чём тут SQUID.CONF тогда ?
Сам не пойму, но если после перезагрузки его не запустить, то не работает.

Оффлайн ans

  • Участник
  • *
  • Сообщений: 53
Значит изучать вывод iptables -vnL и iptables -vnL -t nat. Это я тоже писал. ТАк не бывает, должно работать. Задача элементарная. Вы там тыкаете кнопки у Альтератора, и я не могу предположить, в какой момент какие у Вас там правила активны, когда они сбрасываются и когда перезаписываются откуда-то.
Хотите, я могу завтра выложить здесь вывод?
Я ведь не очень  разбираюсь.
« Последнее редактирование: 24.01.2012 16:50:01 от ans »

Оффлайн flint1975

  • Участник
  • *
  • Сообщений: 1 443
Сам не пойму, но если после перезагрузки его не запустить, то не работает.
Три варианта: Либо банк работает через https:// , то бишь вебклиент, и в системе в свойствах обозревателя стояла галочка "использовать прокси сервер"
Второй вариант: Банк работает через ftp ( есть такие) и опять же галочка в обозревателе.
Еще возможно жестко прописан прокси в систему, тут надо смотреть вывод команды proxycfg в windows
И для удаления системных настроек прокси в винде: proxycfg -d
Третий вариант: ошибка MTU . Как интернет подключен к роутеру PPPoE?

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
Сам не пойму, но если после перезагрузки его не запустить, то не работает.
Три варианта: Либо банк работает через https://
Блин. Ну работал же он без squid ! Если только никакой ошибки при тесте не вкралось.

Оффлайн ans

  • Участник
  • *
  • Сообщений: 53
Второй вариант: Банк работает через ftp ( есть такие)
21

Оффлайн varalt

  • Участник
  • *
  • Сообщений: 996
Второй вариант: Банк работает через ftp ( есть такие)
21
У меня банк использует порты udp 87 и tcp  1024.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
Хотите, я могу завтра выложить здесь вывод?
Я ведь не очень  разбираюсь.
Проще тогда уж доступ по ssh...