Автор Тема: Клиент в домене - правильная настройка proxy  (Прочитано 64782 раз)

Оффлайн ApB

  • Участник
  • *
  • Сообщений: 412
Бодрого времени суток!

Поднят домен+dns+dhcp+squid+зеркало репозитория P6, P7.
В параметрах squid установлена авторизация PAM+krb

Встал вопрос настройки клиентов, и тут есть три варианта - осуществить настройки в браузере, прописав порт прокси-сервера или прописать прокси сервер в "Центр управления системой" - "настройка прокси"?
В первом случае - это должно прописывать каждый пользователь, что не айс
Во втором - невозможно запустить обновления, так как возникает ошибка доступа к репозиториям (нету там поля "не использовать прокси-сервер для локальных адресов", а настройки синаптика в данном случае не отрабатывают.
Есть конечно вариант переправить с 80, 443 ... порта на порт прокси, но что в пределах домена корректнее? Или я где-то что-то неверно настроил?


Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
"не использовать прокси-сервер для локальных адресов", а настройки синаптика в данном случае не отрабатывают.
А примерно так:
unset http_proxy; unset ftp_proxy; apt-get updateподойдёт?
Научить нельзя, научиться можно.

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
https://bugzilla.altlinux.org/show_bug.cgi?id=27753
попробуйте NO_PROXY, но у меня почему-то не получилось...
Сноси Винду, переходи на Линукс ! :)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 162
    • Домашняя страница
Потому что прокси-сервер для apt-get прописывается в /etc/apt/apt.conf
Андрей Черепанов (cas@)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Потому что прокси-сервер для apt-get прописывается в /etc/apt/apt.conf
Неее, мне нужно было для браузера. Чтобы в браузере не прописывать прокси-сервер вручную.
Писал в /etc/sysconfig/network
NO_PROXY="192.168.0.1"
и так
NO_PROXY="192.168.0.0/24"
Сноси Винду, переходи на Линукс ! :)

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
Потому что прокси-сервер для apt-get прописывается в /etc/apt/apt.conf
Это если нужно ходить через конкретный проки, тогда да Acquire::http::Proxy. Но при выставлении этого параметра в "false" всё равно ищется переменная окружения.
А здесь, как я понял, нужно при прописанном общесистемном прокси, который в /etc/sysconfig/network прописан, сказать apt-get обращаться к узлу локальной сети напрямую. unset должен помочь!
« Последнее редактирование: 07.06.2013 10:27:58 от rotkart »
Научить нельзя, научиться можно.

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
Не поленился, снял лог:
[root@seat08 ~]# env | grep -i proxy
http_proxy=http://192.168.103.1:3128
ftp_proxy=http://192.168.103.1:3128
FTP_PROXY=http://192.168.103.1:3128
https_proxy=http://192.168.103.1:3128
HTTPS_PROXY=http://192.168.103.1:3128
HTTP_PROXY=http://192.168.103.1:3128
[root@seat08 ~]# apt-get update
Ошибка ftp://192.168.20.5 i586 release
  Could not connect to 192.168.103.1:3128 (192.168.103.1). - connect (111 Connection refused)
Ошибка ftp://192.168.20.5 noarch release
  Could not connect to 192.168.103.1:3128 (192.168.103.1). - connect (111 Connection refused)
Невозможно получить ftp://192.168.20.5/ALTLinux/p6/branch/i586/base/release  Could not connect to 192.168.103.1:3128 (192.168.103.1). - connect (111 Connection refused)
Невозможно получить ftp://192.168.20.5/ALTLinux/p6/branch/noarch/base/release  Could not connect to 192.168.103.1:3128 (192.168.103.1). - connect (111 Connection refused)
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
W: Невозможно получить или проверить файлы описания некоторых репозиториев. Эти репозитории будут игнорироваться.
W: Возможно, Вам потребуется запустить `apt-get update' для исправления.
E: Некоторые индексные файлы не удалось скачать, они либо были проигнорированы, либо вместо них были использованы старые версии.
Так не работает. Работает, только если прокси где-то там включён, а включается он только на определённое время (это компьютерный класс).
Убираем переменные окружения на время сеанса:
[root@seat08 ~]# for i in `env | grep -i proxy | awk -F\= '{print $1}'`; do unset $i; done
[root@seat08 ~]# env | grep -i proxy
[root@seat08 ~]# apt-get update
Получено: 1 ftp://192.168.20.5 i586 release [913B]
Получено: 2 ftp://192.168.20.5 noarch release [707B]
Получено 1620B за 0s (13,2kB/s).             
Получено: 1 ftp://192.168.20.5 i586/classic pkglist [12,8MB]
Получено: 2 ftp://192.168.20.5 i586/classic release [133B]
Получено: 3 ftp://192.168.20.5 noarch/classic pkglist [2600kB]
Получено: 4 ftp://192.168.20.5 noarch/classic release [135B]
Получено 15,4MB за 3s (4773kB/s).               
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено

Усё работает напрямую без прокси, другие пользователи машины при этом могут продолжать использовать прокси в своих сеансах, если он включен  ;)

Автору спасибо за вопрос, дошли руки разобраться!
« Последнее редактирование: 07.06.2013 10:45:39 от rotkart »
Научить нельзя, научиться можно.

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Что-то более изящное не появилось случаем ?
Сноси Винду, переходи на Линукс ! :)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 162
    • Домашняя страница
Что-то более изящное не появилось случаем ?
Нет.
Андрей Черепанов (cas@)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Нет.
Чего-то не понял... сделал так:
$ cat /etc/bashrc.d/proxy.sh
#!/bin/sh

unset FTP_PROXY ftp_proxy
unset HTTPS_PROXY https_proxy
unset HTTP_PROXY http_proxy
У root и пользователя переменные пусты, но в браузерах всё работает. В браузере установлено "Использовать системные настройки", если выставить "Без прокси", то всё пропадает. То есть вроде как переменные читаются.
В cat /etc/apt/sources.list это:
rpm ftp://server/mirror/p7/branch/ x86_64 classic
rpm ftp://server/mirror/p7/branch/ noarch classic
rpm ftp://server/mirror/p7/branch/ x86_64-i586 classic
И тоже работает.
И да, в /etc/sysconfig/network:
HTTP_PROXY=http://192.168.1.1:3128
HTTPS_PROXY=http://192.168.1.1:3128
FTP_PROXY=http://192.168.1.1:3128
В чём прикол ?..
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
В чём прикол ?..
В другой сети повторил. Получается ещё один обходной костыль. :-)
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Получается ещё один обходной костыль.
Только вот что смущает, не получу ли я, используя такой костыль, ещё большее кол-во проблем потом...
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Может как-то в самом squid можно игнор-лист сделать ? Мне всего один адрес нужно в игнор поставить, адрес сервера с зеркалом.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Кажется, нашёл ещё один более изящный вариант.

Для того, чтобы FTP запросы всегда шли напрямую, необходимо записать следующее:
acl FTP proto FTP
always_direct allow FTP

Позволяет определить какие(чьи) запросы, будут ВСЕГДА идти напрямую в Интернет:
acl local-servers dstdomain my.domain.net
always_direct allow local-servers

Пишем в самое начало цепочки что-то одно и наслаждаемся. :-)
Сноси Винду, переходи на Линукс ! :)