digital-garden/dev/linux/centos/Настройка прокси на CentOS 7 и 8.md
Struchkov Mark c0876042e8
All checks were successful
continuous-integration/drone/push Build is passing
Настройка прокси на CentOS 7 и 8.md
2024-09-08 11:34:32 +03:00

106 lines
5.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
aliases:
tags:
- maturity/🌱
date: 2024-09-08
zero-link:
- "[[../garden/ru/meta/zero/00 Linux|00 Linux]]"
parents:
linked:
---
Ремарка, которую можно пропустить: Помню свой первый день на работе, тогда мне поручили настраивать сервер на CentOS 7. Установить необходимые пакеты, уже не помню точно что, но не суть. Я тогда еще обладатель ПК на windows погуглил и нашел команду `yum install pack_name`.
И как же я был удивлен, когда это не сработало. Корпоративные сервера чаще всего находятся в изоляции от интернета, и для доступа необходимо настраивать прокси. Но я тогда не знал об этом, и устанавливал пакеты вручную, скачивая их сначала к себе и перенося на сервер, то еще занятие, на это ушел целый день 😄
Потом я узнал о существовании прокси, которое открывало доступ в интернет. Сейчас расскажу, как его настроить.
Особенность использования прокси в том, что его надо настраивать везде. Недостаточно настроить только на уровне ОС, надо также настроить на уровне каждого приложения, даже у пакетного менеджера типа `yum` и `dnf`, нужно указать прокси.
## Настройка для ОС
Первым делом настраиваем прокси на linux машине. Для этого нужно установить значения для некоторых переменных среды.
Если прокси без пароля:
```shell
export http_proxy="http://SERVER:PORT/"
export https_proxy="http://SERVER:PORT/"
export no_proxy="127.0.0.1,localhost"
export HTTP_PROXY="http://SERVER:PORT/"
export HTTPS_PROXY="http://SERVER:PORT/"
export NO_PROXY="127.0.0.1,localhost"
```
Если у вас есть логин и пароль:
```shell
export http_proxy="http://USERNAME:PASSWORD@SERVER:PORT/"
export https_proxy="http://USERNAME:PASSWORD@SERVER:PORT/"
export no_proxy="127.0.0.1,localhost"
export HTTP_PROXY="http://USERNAME:PASSWORD@SERVER:PORT/"
export HTTPS_PROXY="http://USERNAME:PASSWORD@SERVER:PORT/"
export NO_PROXY="127.0.0.1,localhost"
```
> [!WARNING]
> Если в имени пользователя или пароле используется символ `@`, добавьте обратную косую черту (`\`) перед `@`.
Данным способом мы установили временное прокси, ==после перезагрузки подключение пропадет.== Чтобы добавить постоянное прокси, нужно изменить файл `/etc/environment`.
Если вам повезло и редактор nano был предустановлен, то воспользуйтесь им, добавив следующие строчки:
```shell
sudo nano /etc/environment
export http_proxy="http://USERNAME:PASSWORD@SERVER:PORT/"
export https_proxy="http://USERNAME:PASSWORD@SERVER:PORT/"
export no_proxy="127.0.0.1,localhost"
export HTTP_PROXY="http://USERNAME:PASSWORD@SERVER:PORT/"
export HTTPS_PROXY="http://USERNAME:PASSWORD@SERVER:PORT/"
export NO_PROXY="127.0.0.1,localhost"
```
Если повезло чуть меньше, и установлен только редактор vi. Инструкция будет чуть сложнее, сначала открываем файл в редакторе:
```shell
sudo vi /etc/environment
```
Далее необходимо нажать клавишу i, чтобы войти в режим редактирования, после вставляем наши заветные строчки:
```shell
export http_proxy="http://USERNAME:PASSWORD@SERVER:PORT/"
export https_proxy="http://USERNAME:PASSWORD@SERVER:PORT/"
export no_proxy="127.0.0.1,localhost"
export HTTP_PROXY="http://USERNAME:PASSWORD@SERVER:PORT/"
export HTTPS_PROXY="http://USERNAME:PASSWORD@SERVER:PORT/"
export NO_PROXY="127.0.0.1,localhost"
```
Чтобы сохранинть изменения санчала нажмите `ESC`, а далее наберите `:wq`, чтобы выйти без сохранения нажмите `ESC` и наберите просто `:q`
Если вам совсем не повезло, и по какой-то причине редакторов совсем не предустановлено, то воспользуйтесь следующей командой:
```shell
sudo cat >> /etc/environment << EOFXX
export http_proxy="http://USERNAME:PASSWORD@SERVER:PORT/"
export https_proxy="http://USERNAME:PASSWORD@SERVER:PORT/"
export no_proxy="127.0.0.1,localhost"
export HTTP_PROXY="http://USERNAME:PASSWORD@SERVER:PORT/"
export HTTPS_PROXY="http://USERNAME:PASSWORD@SERVER:PORT/"
export NO_PROXY="127.0.0.1,localhost"
EOFXX
```
## Настройка для пакетных менеджеров
Теперь настроим прокси для пакетных менеджеров `yum` и `dnf`. Для этого отредактируем файл `/etc/yum.conf`, добавив в конец следующие строки:
```toml
proxy=http://SERVER:PORT
```
Для авторизации укажите также следующие строки:
```toml
proxy_username=USERNAME
proxy_password=PASS
proxy_auth_method=basic
```