Isto é para uma instalação do Ubuntu 13.04 Desktop em uma VM do VirtualBox. Estou em uma rede corporativa com um proxy HTTP em xyz251: 9090. Eu configurei o sistema operacional convidado com o script de configuração automática, para que o Firefox funcione bem, mas não consigo "apt-get" ou "Ubuntu Software Center" para conectar usando o proxy.
Eu criei o arquivo "/etc/apt/apt.conf", agora ele contém uma única linha de texto:
Acquire::http:Proxy "http://x.y.z.251:9090"
que é o arquivo proxy.pac que especifiquei em "Configurações do sistema / Rede / Proxy de rede" e apliquei a todo o sistema.
Quando uso o Firefox, um rastreamento de pacotes mostra que a conexão TCP é feita através do proxy corporativo na porta 9090, quando executo o "Ubuntu Software Center" e o "apt-get", o rastreamento de pacotes mostra pacotes TCP SYN com o eventual IP de destino endereço e porta 80. Obviamente, não há resposta aos pacotes SYN, pois o firewall corporativo impede que as conexões TCP na porta 80 entrem ou saiam.
Com "sudo apt-get" em uma janela de terminal, eu sempre vejo:
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)]
Eventualmente, eu vejo:
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.
Não tenho certeza do que estou fazendo de errado.
--- Atualização ---- Eu também tentei:
Acquire::http:proxy "http://user:[email protected]:9090/"
"xyz" são, é claro, marcadores de posição; Duvido que o pessoal de segurança do meu empregador me pareça gentil ao publicar os números reais. Não vejo diferença no rastreamento de pacotes - o "apt-get" ainda está usando os endereços IP reais e a porta 80. Cometi um erro deliberado no arquivo apt.conf e o "apt-get" saiu com um erro, por isso estou certo de que ele vê esta linha de configuração para o proxy, apenas não parece honrá-lo.
Estou usando a conexão de rede "NAT", pois é contra a política de TI aqui fazer a ponte entre redes, e o servidor DHCP fornece apenas endereços para endereços MAC conhecidos. Não quero que a segurança de TI bata no meu cubo (de novo).
fonte
:
mais dois pontos entrehttp
eProxy
?http::Proxy
em vez dissohttp:Proxy
.Respostas:
Com base na minha experiência anterior, o Ubuntu geral (GNOME) não funciona muito bem com o PAC (Configuração Automática). Pac (configuração automática do proxy) é basicamente a lógica JavaScript para determinar o proxy mais próximo ou mais apropriado para você, eu recomendo o uso direto dos servidores proxy (no seu caso, Network - Network Proxy).
Algumas coisas para verificar
Verifique seu /etc/apt/apt.conf
Rede - A GUI do proxy de rede atualizará
/etc/apt/apt.conf
e definirá as informações do proxy.Descubra as informações do servidor proxy em pac
Você pode encontrar os detalhes lendo o
proxy.pac
arquivo de qualquer maneira.Portanto, a
/etc/apt/apt.conf
aparência deve ser a seguir (suponha que o servidor proxy seja => proxy.company.com porta 80), NÃO use o URL pac.Na página do manual apt.conf, responda ao comentário de @Braiam
Verifique as variáveis de ambiente do proxy
Você pode verificar as configurações de proxy executando o seguinte no terminal
Se você definir as variáveis env corretamente, deverá poder atualizar na CLI.
Preferir IPv4
Percebi que
apt-get
estava tentando se conectar aos servidores de atualização usando o endereço IPv6. Isso pode causar problemas (às vezes os endereços IPV6 expiram ou são alterados).Você pode editar
/etc/gai.conf
e adicionarprecedence ::ffff:0:0/96 100
para preferir o ipv4 ao ipv6.Mais detalhes
fonte
http_proxy
nem quaisquer variáveis de ambiente.man apt.conf
e verhttp::Proxy
. Eu também atualizei a resposta. Também uso variáveis de ambientehttp_proxy
ehttps_proxy
de usoapt-get
há anos. Faça alguma pesquisa antes de votar.sudo apt-get -o Debug::Acquire::http=true update
e verifique você mesmo se apenas a configuração da variável de ambiente usa o proxy. E se você estava usando proxy por ano, atualize- se .Acredito que tive esse mesmo problema e a resposta é simples. A sintaxe é crítica. Deve ser assim:
(Há um ":" extra e um final ";")
fonte
@Braiam
Eu acho que é melhor começar uma resposta separada para esclarecer as coisas.
Fiz um teste rápido usando o Vagrant e uma VM do Ubuntu 13.04 Raring x86_64 por trás do firewall.
A versão apt-get é
0.9.7.7ubuntu4
Atualização: Funciona da mesma maneira no Precise 12.04.3
1º - limpar arquivos de configuração do apt
Limpei as configurações de proxy em
/etc/apt/apt.conf
. Também fizack
eag
verifiquei todos os arquivos e subdiretórios/etc/apt
para garantir que não haja proxy definido nos arquivos de configuração do apt.Por padrão, as
{http_proxy,https_proxy,ftp_proxy}
variáveis env não estão definidas.O apt-get não conseguiu se conectar aos servidores de atualização.
2º - definir variáveis de ambiente
Basta definir as variáveis de proxy
O apt-get agora pode se conectar!
Veja a saída de depuração (isso é algo que eu nunca tentei).
......
3º - desmarque as variáveis de ambiente
desabilitar os env vars =>
unset {http_proxy,https_proxy,ftp_proxy}
Agora o apt-get não pôde se conectar.
Conclusão
Assim como o que
man apt.conf
diz, se http :: Proxy NÃO estiver definido,http_proxy
a variável de ambiente será usada.BTW : Eu também sou um usuário do Arch Linux. O Pacman funciona de maneira semelhante, se eu não usar
wget
oucurl
com proxypacman.conf
, ele usará variáveis de ambiente `{http_proxy, https_proxy, ftp_proxy} '.A atualização
sudo
NÃO preserva variáveis de ambiente. É por isso quesudo apt-get update
falha. Para solucionar o problema (preservar variáveis de ambiente proxy), usesudo -E apt-get update
.fonte
sudo
login como root e veja por que eu disse que não funcionava.sudo
NÃO preserva variáveis de ambiente, esse é o problema! Mas você pode contornar isso usandosudo -E apt-get update && apt-get dist-upgrade
;-)toque em /etc/apt/apt.conf && sudo vi etc / apt / apt.conf
Adquirir :: http: proxy " http: // usuário: pass @ xyz00: 80 / "; Adquirir :: https: proxy " https: // usuário: pass @ xyz00: 80 / ";
Substitua xyz00: 80 - >> sua URL ou IP de proxy
fonte