Como provisionar o Vagrant para configurar um proxy e usá-lo?

3

Eu tenho a seguinte configuração:

  • computador com Windows 7
  • Instalação do Ruby, Vagrant, VirtualBox
  • imagem VBox Ubuntu 14.x
  • Trabalhando na intranet da minha empresa que precisa de um proxy para acessar a internet

Eu sou capaz de configurar a imagem VBox para o usuário vagrant acessar a internet, definindo a variável de ambiente http_proxy para o nosso proxy. No entanto, quando tento definir o proxy em um provisionador de shell, tenho problemas. Aqui estão as partes do script que definem o proxy e as partes que fazem o primeiro acesso à internet:

# Base setup proxy and DISPLAY
set HTTP_PROXY=http://proxy.name.com:8080
echo "Add proxy to necessary parts"
echo 'export http_proxy=http://proxy.name.com:8080' >> ~vagrant/.bash_profile
echo 'export DISPLAY=192.168.137.1:0.0' >> ~vagrant/.bash_profile
echo 'export http_proxy=http://proxy.name.com:8080' >> /root/.bash_profile
export http_proxy=$HTTP_PROXY

# Install Git
echo "Install Git"
apt-get update
apt-get install -y git
...

No entanto, recebo a seguinte saída:

Add proxy to necessary parts
Install Git
Err http://security.ubuntu.com trusty-security InRelease

Err http://archive.ubuntu.com trusty InRelease

Err http://archive.ubuntu.com trusty-updates InRelease

Err http://security.ubuntu.com trusty-security Release.gpg
  Could not resolve 'security.ubuntu.com'
Err http://archive.ubuntu.com trusty Release.gpg
  Could not resolve 'archive.ubuntu.com'
Err http://archive.ubuntu.com trusty-updates Release.gpg
  Could not resolve 'archive.ubuntu.com'
Reading package lists...
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/InRelease
...

Como posso definir dentro de um script Unix o proxy e usá-lo imediatamente, para que apt-get , git clone , ... possa ser usado?

    
por mliebelt 07.11.2014 / 08:34

2 respostas

6

Existe um plugin para isso!

Instale o vagrant-proxyconf :

vagrant plugin install vagrant-proxyconf

Configure-o (em $ HOME / .vagrant.d / Vagrantfile para todas as VMs do Vagrant):

Vagrant.configure("2") do |config|
  if Vagrant.has_plugin?("vagrant-proxyconf")
    config.proxy.http     = "http://10.206.246.20:8080"
    config.proxy.https    = "http://10.206.246.20:8080"
    config.proxy.no_proxy = "localhost,127.0.0.1"
  end
end
    
por 09.11.2014 / 10:41
2

Eu tentei isso e funciona, removi set :

HTTP_PROXY=http://10.206.246.20:8080
export http_proxy=$HTTP_PROXY
    
por 07.11.2014 / 09:16

Tags