Linux: Настройка Прокси Сервера Для Командной Строки

Для использования прокси из командной строки в Linux, в зависимости от типа трафика, вы можете настроить переменные окружения http_proxy, https_proxy или ftp_proxy.

Практически все утилиты командой строки в Linux, такие как ftp, wget, curl, ssh, apt-get, yum и прочие, используют эти переменные в качестве настроек прокси сервера.

Если вы еще не знаете какой прокси сервер будете использовать, можете выбрать из списков бесплатным публичных прокси серверов в конце статьи.

Дельный Совет: Необходимо усилить безопасность в Linux? Шифруйте DNS трафик для защиты от спуфинга! Читать далее →

Экспорт Настроек Прокси Сервера

Задайте эти переменные, чтобы настроить прокси сервер для утилит командной строки в Linux:

$ export http_proxy="http://ПРОКСИ_СЕРВЕР:ПОРТ"
$ export https_proxy="https://ПРОКСИ_СЕРВЕР:ПОРТ"
$ export ftp_proxy="http://ПРОКСИ_СЕРВЕР:ПОРТ"

Если прокси сервер требует логин и пароль, задайте переменные следующим образом:

$ export http_proxy="http://ЛОГИН:ПАРОЛЬ@ПРОКСИ_СЕРВЕР:ПОРТ"
$ export https_proxy="https://ЛОГИН:ПАРОЛЬ@ПРОКСИ_СЕРВЕР:ПОРТ"
$ export ftp_proxy="http://ЛОГИН:ПАРОЛЬ@ПРОКСИ_СЕРВЕР:ПОРТ"

Спецсимволы: Если ваш пароль содержит спецсимволы, вы должны заменить их на соответствующие ASCII коды, например символ собачки @ должен быть заменен на %40. Пример: p@ssword = p%40ssword.

Проверка Работы Прокси Сервера

Как только вы настроили прокси — самое время убедиться, что он правильно работает.

Первым делом необходимо проверить, что настройки прокси сервера применились и хранятся в соответствующих переменных.

Затем необходимо убедиться, что ваш публичный IP адрес изменился.

Также будет интересно проверить и сравнить время ответов удаленных ресурсов и скорость интернета без использования прокси и через прокси.

Проверьте текущие настройки прокси:

$ env | grep -i proxy

Узнайте свой публичный IP адрес из командной строки в Linux:

$ wget -q -O - checkip.dyndns.org \
| sed -e 's/.*Current IP Address: //' -e 's/<.*$//'

Сравните время ответа с настроенным прокси сервером и без него:

$ time wget -q -O - checkip.dyndns.org \ 
| sed -e 's/.*Current IP Address: //' -e 's/<.*$//'

Проверьте скорость интернета через прокси:

$ wget --output-document=\
/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip

Отключение Прокси Сервера

Используйте следующие команды для отключения прокси:

$ unset http_proxy
$ unset https_proxy
$ unset ftp_proxy

Дельный Совет: Сохраняйте анонимность во время сканирования портов! Используйте Nmap + Tor + ProxyChains! Безопасное и простое тестирование на проникновение! Читать далее →

Автоматизация Настройки Прокси Сервера В Linux

Если у вы используете одни и те же настройки прокси сервера для http, https и ftp трафика, вы можете использовать следующие команды для включения и отключения прокси:

$ export {http,https,ftp}_proxy="http://ПРОКСИ_СЕРВЕР:ПОРТ"
$ unset {http,https,ftp}_proxy

Если вы часто используете прокси сервер, вы можете создать следующие Bash функции (добавьте в ваш ~/.bashrc файл):

# Включить Proxy
function setproxy() {
    export {http,https,ftp}_proxy="http://ПРОКСИ_СЕРВЕР:ПОРТ"
}

# Отключить Proxy
function unsetproxy() {
    unset {http,https,ftp}_proxy
}

Примените настройки:

$ source ~/.bashrc

Теперь, для быстрого включения и отключения прокси, вы можете использовать команды setproxy и unsetproxy.

Списки Бесплатных Публичных Прокси Серверов

Внимание: Бесплатные публичные прокси сервера могут добавлять ваш IP адрес в заголовки запросов, а также слушать ваш трафик! Не используйте их для передачи важной информации и не рассчитывайте на полную анонимность!

Дельный Совет: Даже если вы используете прокси сервер, все ваши DNS запроси все равно направляются на name-сервера вашего интернет-провайдера! Усильте анонимность, используя бесплатные публичные DNS сервера! Читать далее →

One Reply to “Linux: Настройка Прокси Сервера Для Командной Строки”

  1. You can use no_proxy or NO_PROXY that includes a comma delimited list of domains, subdomains, hostnames, and/or IP addresses that are exempt from the {http{,s},ftp,rsync}_proxy variables.

    So something like
    export no_proxy=’localhost,127.0.0.1,.example.com,.shellhacks.com’
    would exempt localhost, 127.0.0.1, *.example.com, and *.shellhacks.com from the other proxy variables.

Добавить комментарий