Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
- Astra Linux Special Edition РУСБ.10015-17
- Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
- Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1
- Astra Linux Special Edition РУСБ.10015-16 исп. 2
- Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
- Astra Linux Common Edition 2.12
Введение
В настоящей статье содержится описание настроек proxy-соединений для различных программ. Рассматриваются глобальные (применяемые ко всем приложениям) и специальные (применяемые к отдельным приложениям) настройки. Как правило, глобальных настроек достаточно для того, что бы все приложения всех пользователей работали через proxy без необходимости настраивать proxy внутри приложения. Однако, некоторые приложения не умеют работать с глобальными настройками или им нужны особенные настройки (например, Firefox, Chromium, а также основанные на них приложения, а также любые другие приложения, основанные на QtWebEngine, в том числе Konqueror, использующий модуль WebEnginePart, Akregator и Falkon).
Общесистемные глобальные настройки
Параметры настройки proxy задаются через переменные окружения. Подробнее про работу с переменными окружения см. Присвоение значений переменным окружения для пользовательских сессий. Для задания правил используются предопределенные переменные окружения:
- для точек proxy-доступа с использованием различных протоколов:
- https_proxy — для протокола HTTPS;
- http_proxy — для протокола HTTP;
- ftp_proxy — для протокола FTP;
- socks_proxy — для протокола SOCKS.
- для списка исключений (списка адресов, доступ к которым осуществляется без использования proxy) используется переменная окружения no_proxy.
Значения точек proxy-доступа задаются в виде:
для proxy с авторизацией:
https_proxy="https://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>/" http_proxy="http://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>/" ftp_proxy="ftp://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>" socks_proxy="socks://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>/"
для proxy без аутентификации:
https_proxy="https://<IP-адрес_proxy>:<IP-порт_proxy>/" http_proxy="http://<IP-адрес_proxy>:<IP-порт_proxy>/" ftp_proxy="ftp://<IP-адрес_proxy>:<IP-порт_proxy>/" socks_proxy="socks://<IP-адрес_proxy>:<IP-порт_proxy>/"
Значение переменной no_proxy (список исключений) задается в виде списка адресов-исключений:
no_proxy="127.0.0.1, localhost, 192.168.0.0/24, domain.local"
Инструмент командной строки curl (пакет curl) не поддерживает указание адресов в формате CIDR (в примере выше — 192.168.0.0/24). При использовании этого инструмента адреса в списке следует задавать явно.
Для активизации изменений настроек перезагрузить ОС.
Для применения общесистемных настроек для пользователя:
- В пользовательской сессии открыть терминал (горячая клавиша Alt+T);
Выполнить команду:
fly-kcmshell5 proxy
- В открывшемся окне выбрать пункт "Использовать общесистемные настройки proxy" (или, в зависимости от установленного обновления, "Использовать общесистемные параметры прокси" ) и указать имена переменных окружения, заданных в файле /etc/environment:
- Для сохранения изменений нажать "Да";
Автоматизация настройки пользовательских proxy
Пользовательские настройки fly-kcmshell5 хранятся домашнем каталоге пользователя в файле .config/kioslaverc. Это файл может быть скопирован разным пользователям, при этом следует каждой копии присвоить права доступа, позволяющие пользовательским приложениям читать этот файл (но не обязательно разрешать изменять).
Пользовательские настройки
Графический инструмент fly-kcmshell5
Графический инструмент fly-kcmshell5 доступен в составе Astra Linux начиная с обновлений:
- Astra Linux Special Edition x.7;
- Astra Linux Special Edition РУСБ-10015-01 (очередное обновление 1.6) начиная с обновления БЮЛЛЕТЕНЬ № 20210611SE16 (оперативное обновление 1.6.7);
- Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1) начиная с обновления БЮЛЛЕТЕНЬ № 20211019SE81 (оперативное обновление 8.1.3);
- Astra Linux Common Edition 2.12.42;
В более ранних обновлениях Astra Linux Special Edition доступен аналогичный инструмент kcmshell5. Далее в примерах команд используется инструмент fly-kcmshell5, применение инструмента kcmshell такое же.
Такой способ настройки не поддерживает передачу логина и пароля для proxy с аутентификацией, и proxy с аутентификацией не будет работать.
Для выполнения пользовательской настройки proxy:
- В пользовательской сессии открыть терминал (горячая клавиша Alt+T);
Выполнить команду:
fly-kcmshell5 proxy
- В открывшемся окне:
- Выбрать режим работы proxy ""Использовать настройку прокси, указанную вручную" (или, в зависимости от установленных обновлений "Использовать заданные параметры"):
Адреса (имена) proxy следует указывать без префиксов типа протокола (https://, http:// и т.д.); - Задать нужные параметры.
- Нажать "Да" для сохранения параметров.
- Выбрать режим работы proxy ""Использовать настройку прокси, указанную вручную" (или, в зависимости от установленных обновлений "Использовать заданные параметры"):
Отдельные настройки приложений
Web-браузер Яндекс.Браузер
Применимо начиная с версии расширенного репозитория 1.7.4.ext1. См. материалы технической поддержки Яндекс: Настройки прокси.
Web-браузер Firefox
Firefox игнорирует глобальные настройки, передаваемые через переменные окружения, но может использовать пользовательские настройки, заданные с помощью fly-kcmshell5 или свои собственные. Пользовательская настройка proxy с помощью fly-kcmshell5 описана выше.
Для того, чтобы назначить proxy с помощью собственных настроек Firefox:
- Открыть окно настроек Firefox:
- Перейти на вкладку "Дополнительно";
- Перейти на вкладку "Сеть";
- Нажать на кнопку "Настроить" напротив надписи "Настройка параметров соединения Firefox с Интернетом".
Важное отличие Firefox от других программ — он умеет использовать NTLM аутентификацию (используется на Microsoft Internet Security and Acceleration Server).
Web-браузер Chromium
Chromium может использовать глобальные настройки и имеет свои. Для того, чтобы назначить ему отдельный proxy:В файл /etc/chromium/default добавить параметр:
export CHROMIUM_FLAGS="$CHROMIUM_FLAGS --proxy-server=<IP-адрес>:<IP-порт>"
Перезапустить браузер.
Сохранение учетных данных для Firefox/Chromium
WEB-браузеры Firefox и Chromium игнорируют глобальные настройки proxy в части логина и пароля и при запуске регулярно запрашивают логин и пароль. Для запоминания учетных данных proxy с паролем в браузере можно воспользоваться расширением (плагином) FoxyProxy.
Менеджер пакетов APT
APT может работать отдельно с персональными настройками. Такие настройки указываются в файле/etc/apt/apt.conf
:Acquire::http::proxy "http://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>/"; Acquire::https::proxy "https://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>/"; Acquire::ftp::proxy "ftp://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>/"; Acquire::socks::proxy "socks://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>/"; Acquire::::Proxy "true";
Если сервер работает без аутентификации, то <имя_пользователя>:<пароль>@ нужно убрать.
Для задания исключений использовать опцию DIRECT:
Acquire::http::Proxy { local-apt-repo.local.loc DIRECT; };
Интерпретатор командной строки Bash
Для того, чтобы изменить настройки для запускаемых программ перед их запуском выполнить команды для определения нужных переменных окружения:export http_proxy='http://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>/'
export https_proxy='https://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>/'
export ftp_proxy='ftp://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>/'
unset {http,https,ftp}_proxy
~/.bashrc
следующий код:# Включить Proxy function setproxy() { export http_proxy="http://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>" export https_proxy="https://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>" export ftp_proxy="ftp://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>" } # Отключить Proxy function unsetproxy() { unset {http,https,ftp}_proxy }
И применить сделанные настройки:
source ~/.bashrc
setproxy
и unsetproxy
.wget
Для задания настроек proxy дописать в файл /etc/wgetrc :proxy-user = username proxy-password = password http_proxy = http://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>/ ftp_proxy = ftp://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>/ use_proxy = on
Если используется proxy без аутентификации, то часть <имя_пользователя>:<пароль>@ не указывается.
Проверка действующих настроек proxy
Для проверки действующих настроек прокси выполнить команду:env | grep proxy