Как настроить прокси без графического интерфейса?


79

Как настроить параметры прокси-сервера в версиях Ubuntu Server или Minimal (CLI) с помощью терминала?

Ответы:


108

Общесистемные прокси в CLI Ubuntu / Server должны быть заданы как переменные среды.

  • Откройте /etc/environmentфайл с помощью vi(или вашего любимого редактора). В этом файле хранятся общесистемные переменные, инициализированные при загрузке.
  • Добавьте следующие строки, изменяя соответствующим образом. Вы должны дублировать оба в верхнем и нижнем регистре, потому что (к сожалению) некоторые программы ищут только одну или другую:

    http_proxy = "http://myproxy.server.com:8080/"
    https_proxy = "http://myproxy.server.com:8080/"
    ftp_proxy = "http://myproxy.server.com:8080/"
    no_proxy = "локальный, 127.0.0.1, localaddress, .localdomain.com"
    HTTP_PROXY = "http://myproxy.server.com:8080/"
    Https_proxy = "http://myproxy.server.com:8080/"
    FTP_PROXY = "http://myproxy.server.com:8080/"
    No_proxy = "локальный, 127.0.0.1, localaddress, .localdomain.com"
    
  • apt-get, aptitudeИ т.д. , не будет подчиняться переменными окружения при использовании в обычном режиме с sudo. Так что отдельно настраивайте их; создайте файл с именем 95proxiesin /etc/apt/apt.conf.d/и включите в него следующее:

    Получить :: http :: proxy "http://myproxy.server.com:8080/";
    Получить :: ftp :: прокси "ftp://myproxy.server.com:8080/";
    Получить :: https :: proxy "https://myproxy.server.com:8080/";
    

Наконец, выйдите из системы и перезагрузитесь, чтобы изменения вступили в силу.


Источники: 1 , 2 . В частности, смотрите 1 для получения дополнительной помощи, включая скрипт для быстрого включения / выключения прокси.


Мне нужна помощь в этом. Я пытался это на виртуальном сервере Ubuntu 12.04 некоторое время, и он не работает. У меня это работает с виртуальной Ubuntu 12.04 (не сервер). Но я использовал графический интерфейс для применения глобальных настроек. Я пробовал с кавычками, как предлагает нижняя ссылка, и это не помогло. Если я ввожу IP-адрес вместо имени domain.com, форматирование меняется? Я пробовал несколько комбинаций вещей.
Furnumn

Вы уверены, что https_proxy = "http?
BBK

Ну, на мой взгляд, это не очень хороший ответ, потому что (неверная) информация прокси, которую я дал во время установки, не находится в / etc / environment.
Джеймс Т Снелл

1
В моем случае, Ubuntu 12.04, не было необходимости выходить из системы и перезагружаться, чтобы изменения вступили в силу. Я выполняю: перезапуск сетевого менеджера службы sudo
Даниэль Мора

1
@BBK, даже если вы используете https, вам, возможно, все равно придется подключаться к прокси-серверу через http, что в основном позволяет прокси-серверу прослушивать ваше предположительно безопасное соединение.
s3lph

9

Если у вас есть прокси-сервер аутентификации, то URL-адреса будут другими. Вместо:

"http://myproxy.server.com:8080/"

Вы будете иметь:

"http://user_name:password@myproxy.server.com:8080/"

Обратите внимание, что это все еще URL-адреса, поэтому пароли (и, возможно, имена пользователей) должны быть закодированы .

Например, имя пользователя muruи пароль )qv3TB3LBm7EkP}будут выглядеть так:

"http://muru:)qv3TB3LBm7EkP%7D@myproxy.server.com:8080/"

Это можно сделать различными способами:

  1. Там несколько сайтов для кодирования:
  2. Programmatic:

В крайнем случае, вы можете использовать, man urlчтобы увидеть, какие символы должны быть закодированы:

An escaped octet is encoded as a character triplet, 
consisting of the percent character "%" followed by 
the two hexadecimal digits representing the octet code...

И коды октетов доступны на man ascii.


0
                                 Proxy Environment Variables:

http_proxy: прокси-сервер для трафика HTTP
https_proxy: прокси-сервер для трафика HTTPS
ftp_proxy: прокси-сервер для трафика FTP
no_proxy: шаблоны для IP-адресов или доменных имен, которые не должны использовать прокси

Значение для каждого параметра прокси, кроме no_proxy, использует один и тот же шаблон. proxy_http=username:password@proxy-host:port

Временная настройка прокси: export HTTP_PROXY=user:pass@my.proxy.server:8080

Настройки постоянного прокси: используйте, vim ~/.bash_profileчтобы открыть файл настроек bash, затем поместите в него следующие строки

export http_proxy=username:password@proxyhost.com:8080
export https_proxy=username:password@proxyhost.com:8081
export no_proxy=localhost, 127.0.0.1, *.my.lan

использовать, source ~/.bash_profileчтобы применить изменения


опечатка в последней строке примеров «экспорта» («exprot» должно быть «export»). Я пытался отредактировать его, чтобы применить исправление, но, видимо, правки должны быть «6 символов или более» ...
Джереми Дэвис

1
Спасибо, я исправил это.
Yossarian42
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.