CentOS: задаём глобальные настройки прокси

Автор: | 10/09/2014

centos-logo-new-4Имеется локальная сеть, выход в “мир” в которой осуществялется через TMG-фаервол.

Для работы с ним – на одном из серверов установлен CNTLM-прокси, через который должны ходить другие сервера.

Задача – задать глобальные настройки прокси для всех пользователей.

Настройки окружения для всех пользователей определяются скриптом  /etc/profile.

Среди прочего – в нём присутствует возможность дополнить эти настройки, поместив новый скрипт в каталог /etc/profile.d/.

В самом скрипте это выглядит так:

for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null 2>&1
        fi
    fi
done

Создаём новый файл, к примеру /etc/profile.d/proxy.sh с таким содержимым:

export http_proxy=http://10.***.***.164:3128
export https_proxy=http://10.***.***.164:3128

Где 10.***.***.164:3128 в данном примере – пркоси-сервер с CNTLM.

Проверяем:

# su -l someusername
$ echo $http_proxy
http://10.***.***.164:3128

Если прокси уже были где-то прописаны – удалим их, например в файле /etc/wgetrc:

# You can set the default proxies for Wget to use for http, https, and ftp.
# They will override the value in the environment.
#http_proxy = http://192.168.*.*:8080

Но оставляем строку:

# If you do not want to use proxy at all, set this to off.
use_proxy = on

И запустим wget от пользователя:

$ wget ya.ru
--2014-09-09 07:11:37-- http://ya.ru/
Connecting to 10.***.***.164:3128... connected.
Proxy request sent, awaiting response... 200 Ok
...
2014-09-09 07:11:37 (2.31 MB/s) - “index.html.1” saved [8478/8478]

И на прокси-сервере – проверим лог CNTLM:

# cat /var/log/messages | grep 10.***.***.96
Sep 9 14:10:06 zeus cntlm[19998]: Connection accepted from 10.***.***.96:55359
Sep 9 14:11:40 zeus cntlm[19998]: Connection accepted from 10.***.***.96:55414

Готово.