digital-garden/dev/linux/centos/Настройка прокси на CentOS 7 и 8.md

118 lines
6.2 KiB
Markdown
Raw Permalink Normal View History

---
aliases:
tags:
- maturity/🌱
date: 2024-09-08
zero-link:
- "[[../../../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
```
***
## Мета информация
**Область**:: [[../../../meta/zero/00 Linux|00 Linux]]
**Родитель**::
**Источник**::
**Автор**::
**Создана**:: [[2024-09-08]]
### Дополнительные материалы
-
### Дочерние заметки
2024-09-14 23:38:42 +03:00
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->