Показать статистику
0 голосов
от (500 баллов)
Мне необходимо настроить доступ к внутренним и удаленным репозиториям yum, но некоторые из них находятся за прокси-серверами. Как это осуществить?
1.6тыс. просмотров 1 ответов

1 Ответ

0 голосов
от (26.4тыс. баллов)
редактировать от

В корпоративной среде обычно ограничивают доступ к Интернету - как для обеспечения безопасности, так и для подотчетности. Это часто достигается за счет использования прокси-серверов, которые после некоторой аутентификации обеспечивают доступ к Интернету, а также проверяют и регистрируют весь трафик, проходящий через них. Таким образом, компания может, например, найти сотрудника, который загрузил вирус, наносящий ущерб в корпоративной системе (или, по крайней мере, сотрудника, у которого для этого украли учетные данные), или отфильтровать трафик, предотвращая доступ к известным вредоносным сайтам. для защиты работника оборудования. 

Однако может потребоваться доступ к Интернету другого типа: как системный администратор вам нужны обновления программного обеспечения для серверов, чтобы поддерживать их актуальность. Этот трафик также может проходить через прокси, если вы настроили yum для использования прокси. Но как насчет внутренних репозиториев, которые недоступны при этой настройке, так как они находятся в локальной сети? Где разместить этот параметр, если рассматриваемый компьютер является рабочим столом, который также используется для просмотра? Давайте рассмотрим как настроить некоторые возможные варианты такого использования в Red Hat Linux.

Настройка 

Предположеим, прокси-сервер в нашей среде proxy.foobar.com обслуживает порт 8000 и требует простой аутентификации по имени пользователя и паролю, чтобы предоставить доступ остальным. Допустимые учетные данные - foouser как имя пользователя и secretpass как пароль. Обратите внимание, что ваш прокси-сервер может быть совершенно другим, может не нуждаться в пароле или даже имени пользователя, это зависит от его конфигурации.

Специальное соединение через прокси

Если вам нужно подключиться через прокси-сервер один раз, например, загрузить пакет из командной строки или проверить подключение перед завершением конфигурации, вы можете экспортировать переменные, связанные с прокси-сервером, в текущий сеанс командной строки:

Вы можете установить https_proxy переменную таким же образом. 

$ export http_proxy=http://foouser:secretpass@proxy.foobar.com
    :8000

Пока вы не завершите сеанс или unset экспортированную переменную, трафик http(или https) будет пытаться подключиться к прокси-серверу, включая трафик, генерируемый yum. Имейте в виду, что это приводит к тому, что в истории пользователя присутствуют действительные имя пользователя и пароль прокси! Это может быть конфиденциальная информация, не предназначенная для чтения другими пользователями, имеющими доступ к файлу истории.

Весь трафик использует прокси

Если системе в целом необходимо использовать прокси-сервер, чтобы обратиться к нему, вы можете установить прокси-сервер /etc/profile или поместить переменные из отдельного файла в /etc/profile.d каталог, поэтому эти параметры необходимо изменить только в одном месте. Могут быть случаи использования для этого, но также имейте в виду, что в этом случае любой и весь трафик пробуется через прокси-сервер, поэтому браузер также будет пытаться получить доступ к внутренним страницам через прокси-сервер. 

Обратите внимание, что мы установили ту же переменную среды, что и для одноразового прокси-соединения, установив ее только при запуске, поэтому все пользовательские сеансы «наследуют» эти переменные. 

Если вам нужно настроить всю систему прокси-сервера, добавьте в /etc/profileв /etc/profile.d каталог или отдельный файл в каталоге следующее, используя ваш любимый текстовый редактор:

export http_proxy=http://foouser:secretpass@proxy.foobar.com:8000 export https_proxy=http://foouser:secretpass@proxy.foobar.com:8000

 Вы также можете установить их на уровне пользователя (например, в .bash_profile), и в этом случае они применяются только для этого конкретного пользователя. Таким же образом любой пользователь может переопределить эти общесистемные настройки, добавив новое значение к этим переменным.

В данном примере мы сконцентрируемся на yum настройках репозиториев, поэтому мы предполагаем, что у нас нет или нам не нужны общесистемные настройки прокси. Это может иметь смысл, даже если пользователи, просматривающие компьютер, должны использовать прокси-сервер для доступа в Интернет. 

Например, пользователи рабочего стола должны будут использовать свои собственные учетные данные, и более одного пользователя могут иметь доступ к данному рабочему столу. но когда администратор выполняет развертывание на всех клиентских компьютерах (возможно, с использованием центральной системы управления), для выполняемой установки yum могут потребоваться учетные данные, выделенные для трафика системного уровня. Если пароль пользователя, используемый для прокси-соединения, изменится, для правильной работы необходимо обновить конфигурацию.

Все репозитории являются внешними

Наша система достигает стандартных репозиториев Red Hat через прокси, и у нас нет внутренних репозиториев. С другой стороны, любые другие программы, которые используют сеть, не нуждаются и не должны использовать прокси. В этом случае мы можем настроить yum доступ ко всем репозиториям через прокси, добавив в /etc/yum.conf файл следующие строки , которые используются для хранения глобальных параметров yum для данного компьютера:

proxy=http://proxy.foobar.com:8000
proxy_username=foouser
proxy_password=secretpass

В этом случае имейте в виду, что эта конфигурация также будет нарушена при смене пароля. Любые новые добавленные репозитории будут доступны через прокси, если на уровне репозитория нет переопределения.

Некоторые репозитории являются внешними

Установка может быть немного более сложной, если есть внешние и внутренние репозитории одновременно - например, ваши серверы могут получать доступ к репозиториям поставщика через открытый Интернет, используя корпоративный прокси-сервер, и в то же время им требуется доступ к внутренним репозиториям, содержащим программное обеспечение, разработанное и упакованное внутри компании, предназначенное исключительно для внутреннего использования. 

В этом случае вы должны изменить настройки для каждого репозитория. Сначала установите глобальный прокси для yum как все внешние репозитории, как описано в предыдущем разделе. Для внутренних репозиториев откройте каждый файл, содержащий внешние репозитории в /etc/yum.repos.d каталоге, и добавьте proxy=_none_параметр в конфигурацию внутреннего репозитория. Например:

Отключение прокси для внутреннего репозитория

#
# cat /etc/yum.repos.d/custom.repo
 [Corporate_Custom_repository]
name = Corporate_Custom_repo
enabled = 1
baseurl = http://repo01.foobar.com/repos/corp_custom_repo/
proxy=_none_
#

Подводя итог

Прокси-серверы обеспечивают безопасность и ответственность, но иногда могут осложнить нашу жизнь. Имея некоторое планирование и знание доступных инструментов, мы можем интегрировать наши системы с прокси, чтобы они могли получать все данные, для которых они предназначены, таким образом, чтобы это соответствовало нашим настройкам прокси. 

Если у вас много систем, которым необходимо подключиться к одним и тем же репозиториям за пределами корпоративного брандмауэра, всегда подумайте о локальном зеркалировании этих репозиториев. Сохраняя большую пропускную способность и делая установку или обновление клиентов независимыми от мира за пределами локальной сети, значит быть более подверженным ошибкам. Вы можете настроить параметры прокси-сервера на зеркалировании компьютеров и оставить все остальные машины вне общедоступного Интернета. Существуют централизованные решения для управления, которые предоставляют эту функциональность, как с открытым исходным кодом, так и платные.

...