Это для установки Ubuntu 13.04 Desktop на виртуальную машину VirtualBox. Я нахожусь в корпоративной сети с HTTP-прокси на xyz251: 9090. Я настроил гостевую ОС с помощью скрипта автоконфигурации, поэтому Firefox работает нормально, но я не могу подключить «apt-get» или «Ubuntu Software Center» через прокси.
Я создал файл "/etc/apt/apt.conf", теперь он содержит одну строку текста:
Acquire::http:Proxy "http://x.y.z.251:9090"
это файл proxy.pac, который я указал в «Системных настройках / Сеть / Сетевой прокси» и применил ко всей системе.
Когда я использую Firefox, трассировка пакетов показывает, что соединение TCP выполняется через корпоративный прокси-сервер на порту 9090, когда я запускаю «Ubuntu Software Center» и «apt-get», трассировка пакетов показывает пакеты TCP SYN с возможным IP-адресом назначения. адрес и порт 80. Конечно, нет ответа на пакеты SYN, так как корпоративный брандмауэр блокирует TCP-соединения на порту 80 от входа или выхода.
С «sudo apt-get» в окне терминала я всегда вижу:
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424) raring/main Translation-en_US
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424) raring/main Translation-en
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424) raring/restricted Translation-en_US
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424) raring/restricted Translation-en
Err http://extras.ubuntu.com raring Release.gpg
Could not connect to extras.ubuntu.com:80 (91.189.92.152), connection timed out
Err http://archive.canonical.com raring Release.gpg
Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
Err http://us.archive.ubuntu.com raring Release.gpg
Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
Err http://us.archive.ubuntu.com raring-updates Release.gpg
Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
Err http://us.archive.ubuntu.com raring-backports Release.gpg
Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
59% [Connecting to security.ubuntu.com (91.189.91.14)]
В конце концов я вижу:
Err http://security.ubuntu.com raring-security Release.gpg
Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
Reading package lists... Done
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring/Release.gpg Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring-updates/Release.gpg Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring-backports/Release.gpg Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/Release.gpg Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
W: Failed to fetch http://archive.canonical.com/ubuntu/dists/raring/Release.gpg Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/raring/Release.gpg Could not connect to extras.ubuntu.com:80 (91.189.92.152), connection timed out
W: Some index files failed to download. They have been ignored, or old ones used instead.
Я не совсем уверен, что я делаю неправильно.
--- Обновление ---- Я также попробовал:
Acquire::http:proxy "http://user:pass@x.y.z.251:9090/"
«xyz» - это, конечно, заполнители; Я сомневаюсь, что сотрудники службы безопасности моего работодателя будут любезно относиться ко мне, публикуя фактические цифры. Я не вижу разницы в трассировке пакетов - «apt-get» все еще использует реальные IP-адреса и порт 80. Я сделал преднамеренную ошибку в файле apt.conf, и «apt-get» завершился с ошибкой, поэтому я Я уверен, что он видит эту строку конфигурации для прокси, он просто не соблюдает ее.
Я использую сетевое соединение «NAT», так как это противоречит ИТ-политике для мостов между сетями, а DHCP-сервер предоставляет адреса только для известных MAC-адресов. Я не хочу, чтобы ИТ-безопасность била по моему кубу (опять же).
источник
:
междуhttp
иProxy
?http::Proxy
вместоhttp:Proxy
.Ответы:
Исходя из моего прошлого опыта, в целом Ubuntu (GNOME) не очень хорошо работает с PAC (Automatic Config). Pac (Proxy Auto-config) - это, в основном, логика JavaScript для определения ближайшего или наиболее подходящего для вас прокси, я настоятельно рекомендую использовать прокси-серверы напрямую (в вашем случае Network - Network Proxy).
Несколько вещей, чтобы проверить
Проверьте ваш /etc/apt/apt.conf
Network - Network Proxy GUI обновит
/etc/apt/apt.conf
и установит там информацию о прокси.Узнайте информацию о прокси-сервере от pac
Вы можете найти детали, прочитав
proxy.pac
файл в любом случае.Таким образом, они
/etc/apt/apt.conf
должны выглядеть ниже (предположим, что прокси-сервер => proxy.company.com порт 80), НЕ использовать pac URL.Со страницы руководства apt.conf ответьте на комментарий @Braiam
Проверьте переменные окружения прокси
Вы можете проверить настройки прокси, выполнив в терминале следующее
Если вы правильно установите переменные env, вы должны иметь возможность обновляться в CLI.
Предпочитаю IPv4
Я заметил, что
apt-get
пытался подключиться к серверам обновлений, используя их IPv6-адрес. Это может вызвать проблемы (иногда срок действия адресов IPV6 истекает или изменяется).Вы можете редактировать
/etc/gai.conf
и добавлять,precedence ::ffff:0:0/96 100
чтобы предпочесть ipv4 над ipv6.Подробнее
источник
http_proxy
ни переменные окружения.man apt.conf
и посмотретьhttp::Proxy
. Я также обновил ответ. Также я используюhttp_proxy
иhttps_proxy
переменные среды для использования вapt-get
течение многих лет. Сделайте некоторые исследования, прежде чем голосовать вниз.sudo apt-get -o Debug::Acquire::http=true update
и проверьте сами, если только установка переменной окружения использует прокси. И если вы использовали прокси в течение года, обновляйтесь .Я считаю, что у меня была эта проблема, и ответ прост. Синтаксис имеет решающее значение. Это должно выглядеть так:
(Есть дополнительные ":" и завершающий ";")
источник
@Braiam
Я думаю, что лучше начать отдельный ответ, чтобы уточнить вещи.
Я провел быстрый тест с использованием Vagrant и виртуальной машины Ubuntu 13.04 Raring x86_64 за брандмауэром.
apt-get версия
0.9.7.7ubuntu4
Обновление: работает точно так же на Precise 12.04.3
1-й - очистить конфигурационные файлы apt
Я очистил настройки прокси в
/etc/apt/apt.conf
. Я также сделалack
иag
просмотр всех файлов и подкаталогов,/etc/apt
чтобы убедиться, что в файлах конфигурации apt не установлен прокси.По умолчанию
{http_proxy,https_proxy,ftp_proxy}
переменные env не установлены.apt-get не смог подключиться к серверам обновлений.
2-й - установить переменные среды
Просто установите прокси-переменные
apt-get теперь может подключаться!
Смотрите выходные данные отладки (это то, что я никогда не пробовал).
......
3-й - сбросить переменные окружения
сбросить env vars =>
unset {http_proxy,https_proxy,ftp_proxy}
Теперь apt-get не смог подключиться.
Вывод
Точно так же, как
man apt.conf
и в случае, если http :: Proxy НЕ установлен,http_proxy
будет использоваться переменная окружения.Кстати, я также пользователь Arch Linux. Pacman работает аналогичным образом, если я не использую
wget
или используюcurl
прокси-серверpacman.conf
, он будет использовать переменные окружения `{http_proxy, https_proxy, ftp_proxy} '.Обновление
sudo
НЕ сохраняет переменные среды. Вот почемуsudo apt-get update
не удается. Чтобы обойти проблему (сохранить переменные окружения прокси), используйтеsudo -E apt-get update
.источник
sudo
вместо этого войти в систему как root и понять, почему я сказал, что это не работает.sudo
НЕ сохраняет переменные окружения, вот в чем проблема! Но вы можете обойти это, используяsudo -E apt-get update && apt-get dist-upgrade
;-)Нажмите /etc/apt/apt.conf && sudo vi и т. д. / apt / apt.conf
Получить :: http: proxy " http: // user: pass @ xyz00: 80 / "; Acquire :: https: proxy " https: // user: pass @ xyz00: 80 / ";
Замените xyz00: 80 - >> ваш URL прокси или IP
источник