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

Оффлайн ans

  • Участник
  • *
  • Сообщений: 53
А вот что показывает "chkconfig iptables --list" ?
Если в текущем ранлевеле off, то оно просто не применяется при старте.
Ага...
# chkconfig iptables --list
iptables          0:выкл   1:выкл   2:выкл   3:выкл   4:выкл   5:выкл   6:выкл
Из http://www.opennet.ru/docs/RUS/iptables/#PREPARATIONS прочитал, что нужно запустить 2,3,5. Правильно?
Запустил. Всё настройки стали сохраняются. Добавил согласно инструкции:
# iptables -A INPUT -i eth1 -p tcp --dport 25 -j ACCEPT , для 80 и 21.
И всё-равно ничего не работает - ни почта, ни клиент-банк (режим РОУТЕР).

Решил для интереса перезагрузить компьютер с прокси-сервером:
1. Рабочие компьютеры перестали подключаться к интернету, в системных настройках которых, было помечено "работа с прокси-сервером", если отключить пометку, то интернет начинает работать. Но не работает клиент-банк (почемуто не сохранилась установка подключения прокси в альтераторе).
2. Через Localhost:8080 включаю "Серверы"-"Прокси-сервер"-"Включить сервис". При этом затирается (заменяется) SQUID.conf. Рабочие компьютеры начинают работать через включенное "прокси".  Клиент-банк не работает.
Восстанавливаю  SQUID.conf, перезапускаю SQUID - клиент-банк начинает работать (режим ШЛЮЗ).
В режиме РОУТЕР не работают клиент-банк, эл.почта, как и было до перезагрузки.

Может, удалить альтератор и вручную всё настроить?

« Последнее редактирование: 19.01.2012 14:56:41 от ans »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
# chkconfig iptables --list
iptables          0:выкл   1:выкл   2:выкл   3:выкл   4:выкл   5:выкл   6:выкл
Из http://www.opennet.ru/docs/RUS/iptables/#PREPARATIONS прочитал, что нужно запустить 2,3,5. Правильно?
Да, только достаточно текущего. 3 или 5. Но если все сделать, хуже не будет. А, вообще, команда "chkconfig iptables on" должна сделать всё, что надо.
Запустил. Всё настройки стали сохраняются. Добавил согласно инструкции:
# iptables -A INPUT -i eth1 -p tcp --dport 25 -j ACCEPT , для 80 и 21.
И всё-равно ничего не работает - ни почта, ни клиент-банк (режим РОУТЕР).
"-A" - добавить. Правила обрабатываются по порядку, до первого совпадения (есть исключения правда). Если перед этим правилом есть запрещающее, до разрешающего не дойдёт. Так что, надо изучать вывод iptables -nL. При этом, INPUT и OUTPUT касаются трафика сервера, а FORWARD - транзитного трафика. То есть, наверное, надо это правило на FORWARD, а не на INPUT вешать. Сервисы же не локальные ? И не "-A", а "-I", возможно. Если правил много, можно аккуратно их переставить местами прямо в /etc/sysconfig/iptables (там формат простой достаточно), после чего service iptables restart.
Решил для интереса перезагрузить компьютер с прокси-сервером:
1. Рабочие компьютеры перестали подключаться к интернету, в системных настройках которых, было помечено "работа с прокси-сервером", если отключить пометку, то интернет начинает работать. Но не работает клиент-банк (почемуто не сохранилась установка подключения прокси в альтераторе).
chkconfig squid --list что показывает ?
2. Через Localhost:8080 включаю "Серверы"-"Прокси-сервер"-"Включить сервис". При этом затирается (заменяется) SQUID.conf. Рабочие компьютеры начинают работать через включенное "прокси".  Клиент-банк не работает.
Восстанавливаю  SQUID.conf, перезапускаю SQUID - клиент-банк начинает работать (режим ШЛЮЗ).
В режиме РОУТЕР не работают клиент-банк, эл.почта, как и было до перезагрузки.
А если service squid stop сделать, клиент-банк отваливается ? Просто хочется понять, через squid оно работает, или нет. Если остановки сервиса хватит для того, чтобы работать перестало, значит таки клиент-банк его использует. Что странно.
Может, удалить альтератор и вручную всё настроить?
не знаю. Вообще, люди пользуются вроде. Но я - нет.
« Последнее редактирование: 19.01.2012 16:56:21 от asy »

Оффлайн ans

  • Участник
  • *
  • Сообщений: 53
"-A" - добавить.
Куда добавить? # iptables -A INPUT -i eth1 -p tcp --dport 25 -j ACCEPT
Вроде бы уже добавлено?
chkconfig squid --list что показывает ?
chkconfig squid --list
squid             0:выкл   1:выкл   2:выкл   3:выкл   4:выкл   5:выкл   6:выкл
И тут всё выключено! Нигде до этого не читал, что должно быть включено. Включил.
#chkconfig --levels 235 squid on
Правильно?

А если service squid stop сделать, клиент-банк отваливается ? Просто хочется понять, через squid оно работает, или нет. Если остановки сервиса хватит для того, чтобы работать перестало, значит таки клиент-банк его использует. Что странно.
#service squid stop
Вообще всему доступ закрывается.
Ошибка "Прокси-сервер отказывается принимать соединения" ( если в системных настройках помечено "работа с прокси-сервером")
Режим ШЛЮЗ!!!(А говорили, что SQUID не нужен тут !? ).

После вчерашней перезагрузки почему-то в iptables ничего не сохранились.  Хотя #service iptables save применял.
Всё восстановил по http://linuxopen.ru/2007/12/21/nastrojjka-fajjrvola.-iptables.html.
Проверил режим РОУТЕР - клиент-банк и почта не работает.

При этом, INPUT и OUTPUT касаются трафика сервера, а FORWARD - транзитного трафика. То есть, наверное, надо это правило на FORWARD, а не на INPUT вешать. Сервисы же не локальные ? И не "-A", а "-I", возможно.
правило на FORWARD, а не на INPUT вешать.
Как правильно?
# iptables -A FORWARD -i eth1 -p tcp --dport 21 -j ACCEPT
Так?
« Последнее редактирование: 20.01.2012 12:52:58 от ans »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
Куда добавить?
Не куда, а просто. Это я акцентировал действие. У Вас уже есть правила, "-A" добавит новое. Последним у Вас в INPUT правило с безусловным DROP. После него можно обдобавляться, всё равно это правило будет заключительным. Соответственно, разрешающее правило надо вставить, а не добавить.
#chkconfig --levels 235 squid on
Правильно?
Да. Можно, в принципе, levels и не указывать - умолчания заданы в самом скрипте /etc/rc.d/init.d/squid
#service squid stop
Вообще всему доступ закрывается.
Меня непосредственно клиент-банк интересовал. С остальным, где явно squid указан, всё понятно.
Как правильно?
# iptables -A FORWARD -i eth1 -p tcp --dport 21 -j ACCEPT
Так?
Пока не знаю, я ещё не понял, как у вас там всё устроено. И, ещё раз, уточняю: порядок правил много значит, "-A" может оказаться неправильным ключём. Про "изучать вывод iptables -nL" - это я не просил пока его сюда снова, я в общем смысле. Можете и сами смотреть, в какой очерёдности у Вас правила появляются. Ключик -v тоже полезен.
« Последнее редактирование: 20.01.2012 09:54:50 от asy »

Оффлайн ans

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

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
Меня непосредственно клиент-банк интересовал. С остальным, где явно squid указан, всё понятно.
Клиент-банк работает, ещё раз проверил.
Если работает без squid, значит, работает через nat. Из того, что выводится по команде iptables -vnL, на него действует только FORWARD. Ещё на него действует то, что выводится с -t nat: iptables -vnL -t nat
На то, что работает через squid, действуют цепочки INPUT/OUTPUT (как я уже писал, они действуют на весь, локальный для шлюза) в плане, дойдёт ли трафик до squid и уйдёт ли от него, плюс собственные правила squid.
Про режимы ШЛЮЗ/РОУТЕР Альтератора писать не надо, пока тут не появится тот, кто знает, что в Альтераторе под этим подразумевается.

Можно ещё попробовать понять, кто определяет правила iptables. Попробуйте сравнить то, что получается сразу после загрузки, и что получается после команды service iptables restart

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
Хорошо, попробую разобраться.
Не знаете, где есть описание этих настроек для Кентавра и есть ли вообще?
Если вести речь про то, что написано в /etc/sysconfig/iptables или /etc/squid/squid.conf, то название дистрибутива тут совершенно не при чём. И, даже,  "ALT Linux" не очень при чём - настройки squid идентичны вообще везде, хоть в Windows (и там squid бывает), а iptables через /etc/sysconfig/iptables настраивается во многих дистрибутивах, не только в ALT.

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
...Я так понимаю, что альтератор есть только в Альтлинуксе.
Более того, сам альтератор это разработка комманды Альт Линукс. Именно поэтому он и есть в АльтЛинуксе  ;)

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
Имелась ввиду документация о связи с самим альтератором и режимами ШЛЮЗ-РОУТЕР. Я так понимаю, что альтератор есть только в Альтлинуксе.
к пояснению sb добавлю, что смотреть надо описание даже не Альтератора, а конкретного модуля для него, который за эти настройки отвечает. Но я так думаю, достаточно просто включить поочерёдно оба режима и посмотреть состояние правил iptables, состояние squid (и конфиг, может быть) и что показывает "cat /proc/sys/net/ipv4/ip_forward". Думаю, всё различие должно быть где-то тут.
« Последнее редактирование: 21.01.2012 22:22:50 от asy »

Оффлайн flint1975

  • Участник
  • *
  • Сообщений: 1 443
Совсем топикстартера запутали! Шлюз - маршрутизатор с NAT (Network Address Translation) или Маскарадингом.
Router - собственно маршрутизатор, отличается только тем, что не выполняет трансляцию адресов.

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

А роутер без НАТ - просто перенаправляет пакеты по различным каналам на основании определенных правил. В этом режиме внутренние компьютеры, для корректной работы в internet, должны иметь реальные внешние адреса. Потому, что использование серых адресов типа 192.168.*.*; 10.*.*.*; 172.169.*.* во внешней сети непринято и как правило блокируются файрволами.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 166
    • Домашняя страница
Имелась ввиду документация о связи с самим альтератором и режимами ШЛЮЗ-РОУТЕР. Я так понимаю, что альтератор есть только в Альтлинуксе.
В справке по модулю написано, что шлюз = роутер + NAT.
Андрей Черепанов (cas@)

Оффлайн ans

  • Участник
  • *
  • Сообщений: 53
Когда начинал изучать настройку прокси-сервера по инету, в описаниях везде говорилось, что главное правильно настроить SQUID и будет счастье.
Тут, как выяснилось, ещё надо разобраться настроить iptables.
Это только в Альтлинуксе так? А если убрать альтератор, может, проще будет?
Тяжело, когда никогда не работал с этим, отслеживать что и как в каждом режиме. И в итоге получается топтание на месте.
Где-то есть пример, что в таком-то режиме нужно настроить конкретно то и то, а в другом то и другое? Понятный анализ выводов команд?

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
Когда начинал изучать настройку прокси-сервера по инету, в описаниях везде говорилось, что главное правильно настроить SQUID и будет счастье. Тут, как выяснилось, ещё надо разобраться настроить iptables. Это только в Альтлинуксе так?
Конечно не только. SQUID и  iptables - совсем разные вещи. Они самодостаточны и предоставляют разные способы организации доступа через шлюз ("шлюз" использую в качестве общего обозначания устройства, без различия шлюз/роутер, предложенного в Альтераторе). Соответственно, Вы можете выбрать тот или иной способ оранизации доступа, или оба сразу. Через iptables/nat можно добиться работоспособности теоретически всего, практически почти всего. Через squid будут работать только те приложения, которые могут работать через http proxy. Но не надо забывать, для чего изначально нужен был squid. Это, в первую очередь, кэширующий http/ftp прокси сервер. Если через него работает браузер, то контент, будучи забран один раз из Интернет, потом отдаётся из кэша squid. По крайней мере, это касается статического web-контента.
А если убрать альтератор, может, проще будет?
Кому как. Вообще, модули Альтератора делаются для упрощения каких-то операций. Если Вас устроит функционал готовых модулей, почему бы и не пользоваться ? Можно и свой написать, кстати...

Оффлайн ans

  • Участник
  • *
  • Сообщений: 53
Вы можете выбрать тот или иной способ оранизации доступа, или оба сразу.
Доступ есть (режим Шлюз), как я писал в первом посте.
Моя проблема получить статистику, потом настроить вход через логин, настроить запрет на некоторые сайты. Как? Уже бьюсь за это 5 страниц.
И тут написано( http://www.intekom.ru/lokalnaya-set.html ):
"В режиме шлюза клиенты смогут беспрепятственно выходить в сеть Интернет, достаточно прописать соответствующие сетевые настройки. Поэтому такой вариант нас не устраивает, так как наша задача выпускать только тех пользователей, которым мы разрешим и только по установленным нами правилам."
С режимом Роутер проблемы, которые упираются в iptables, с которыми не могу разобраться.
Вообще, модули Альтератора делаются для упрощения каких-то операций.
Ага, для усложнения.
« Последнее редактирование: 24.01.2012 06:34:40 от ans »

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
Итак. Доступ по логину можно организовать только средствами прокси. iptables это низкоуровневый инструмент, который не имеет понятия о логинах/паролях. Это стезя прокси-серверов. Запрет на сайты можно организовать как средствами прокси так и средствами iptables. Насчет статистики не подскажу, но у прокси сервера, по идее, должна быть своя статистика либо через веб-интерфейс либо в виде отдельной утилиты, то есть, здесь могут быть варианты.
PS На работе используем 3proxy для выхода работников в сеть. Статистика имеется встроенная - просто в браузере нужно зайти по определенному адресу (вся информация имеется в документации к этому прокси). Но 3proxy это не кэширующий прокси и в этом его основное, пожалуй, отличие от squid. Но свою функцию он выполняет. Авторизация, правда, у нас по айпи адресам (админ так сделал). Причем все это хозяйство работает на винде, на линуксе пробывал поднимать - тоже работает, не хуже, чем на винде. Самое главное, что без понимания принципа работы всех этих инструментов вам самому будет сложно добиться результатов. Пока не прочитал документацию, так и не смог нормально настроить NAT, выставить авторизацию по мак адресу (или айпи адресу). Для учета трафика ставил stargazer. Инструментов разных много, но, еще раз повторюсь, без осмысления вряд ли что-то может получиться даже методом тыка мышкой в окошке с настройками.