Em uma situação muito semelhante à descrita na pergunta, consegui resolvê-lo adicionando a configuração proxy
a /etc/yum.conf
.
Assim:
echo "proxy=http://my.proxy.internal:3128/" >> /etc/yum.conf
Eu tenho uma VPC com uma sub-rede privada e pública - cada uma contendo um servidor RHEL7 idêntico. Eu acredito que o VPC está configurado corretamente (veja a seguir). No entanto, o servidor público pode usar o yum e o privado não pode. O privado recebe o erro ...
$ yum search apache
Failed to set locale, defaulting to C
Loaded plugins: amazon-id, rhui-lb
Repo rhui-REGION-client-config-server-7 forced skip_if_unavailable=True due to: /etc/pki/rhui/cdn.redhat.com-chain.crt
Repo rhui-REGION-client-config-server-7 forced skip_if_unavailable=True due to: /etc/pki/rhui/product/rhui-client-config-server-7.crt
Repo rhui-REGION-client-config-server-7 forced skip_if_unavailable=True due to: /etc/pki/rhui/rhui-client-config-server-7.key
Repo rhui-REGION-rhel-server-releases forced skip_if_unavailable=True due to: /etc/pki/rhui/cdn.redhat.com-chain.crt
Repo rhui-REGION-rhel-server-releases forced skip_if_unavailable=True due to: /etc/pki/rhui/product/content-rhel7.crt
Repo rhui-REGION-rhel-server-releases forced skip_if_unavailable=True due to: /etc/pki/rhui/content-rhel7.key
Repo rhui-REGION-rhel-server-rh-common forced skip_if_unavailable=True due to: /etc/pki/rhui/cdn.redhat.com-chain.crt
Repo rhui-REGION-rhel-server-rh-common forced skip_if_unavailable=True due to: /etc/pki/rhui/product/content-rhel7.crt
Repo rhui-REGION-rhel-server-rh-common forced skip_if_unavailable=True due to: /etc/pki/rhui/content-rhel7.key
Could not contact CDS load balancer rhui2-cds01.us-east-1.aws.ce.redhat.com, trying others.
Could not contact any CDS load balancers: rhui2-cds01.us-east-1.aws.ce.redhat.com, rhui2-cds02.us-east-1.aws.ce.redhat.com.
Eu tenho um AWS VPC usando AMIs RHEL7.
A principal tabela de rotas principais está apontando para o NAT
Destination Target Status Propagated
10.0.0.0/16 local Active No
0.0.0.0/0 eni-xxxxxxxx / i-xxxxxxxx Active No
A sub-rede privada está associada à tabela de rotas principal
A segunda (não principal) tabela de rotas está apontando para o gateway
Destination Target Status Propagated
10.0.0.0/16 local Active No
0.0.0.0/0 igw-xxxxxxxx Active No
A sub-rede pública está associada a esta tabela de rotas
Eu habilitei o NAT para encaminhamento (e às vezes mascarando ... veja abaixo)
sysctl -q -w net.ipv4.ip_forward=1 net.ipv4.conf.eth0.send_redirects=0
PRIVATE_SUBNETS="10.0.1.0/24"
for SUBNET in $PRIVATE_SUBNETS; do
iptables -t nat -C POSTROUTING -o eth0 -s $SUBNET -j MASQUERADE 2> /dev/null || iptables -t nat -A POSTROUTING -o eth0 -s $SUBNET -j MASQUERADE
done
Existe um servidor nas sub-redes públicas e privadas
sslverify=0
em /etc/yum.repos.d/redhat-rhui.repo
e /etc/yum.repos.d/redhat-rhui-client-config.repo
e, em seguida, em execução yum clean all
. Não resolveu o problema. O servidor privado e público parece poder ver e tocar no seguinte RPM:
$ rpm -Uvh ftp://ftp.pbone.net/mirror/ftp.sourceforge.net/pub/sourceforge/o/os/osolinux/update/RPMS.e/elinks-0.12-0.32.pre5mgc30.x86_64.rpm
Retrieving ftp://ftp.pbone.net/mirror/ftp.sourceforge.net/pub/sourceforge/o/os/osolinux/update/RPMS.e/elinks-0.12-0.32.pre5mgc30.x86_64.rpm
error: Failed dependencies:
libgc.so.1()(64bit) is needed by elinks-0.12-0.32.pre5mgc30.x86_64
libgpm.so.2()(64bit) is needed by elinks-0.12-0.32.pre5mgc30.x86_64
libmozjs185.so.1.0()(64bit) is needed by elinks-0.12-0.32.pre5mgc30.x86_64
libnss_compat_ossl.so.0()(64bit) is needed by elinks-0.12-0.32.pre5mgc30.x86_64
Se eu tentar carregar um novo repositório no servidor privado, recebo um tempo limite ...
$ rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
Retrieving http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
curl: (7) Failed connect to pkgs.repoforge.org:80; Connection timed out
error: skipping http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm - transfer failed
=== POSTANDO AQUI PARA A EDIFICAÇÃO DO OUTRO ===
Olá Michael. Obrigado pelo comentário.
Eu realmente usei o traceroute e vi os pacotes chegando ao NAT do servidor privado em questão. Eu também vi pacotes deixando o servidor que deveria ter sido os pacotes encaminhados. E é isso. Nada mais.
Tenho a impressão de que as solicitações estão sendo rejeitadas pelos repositórios, já que o ping e as rpms remotas da internet parecem funcionar ... mas não sei por quê. Eu recebo o mesmo resultado com o mascaramento ligado e desligado.
O servidor NAT foi criado automaticamente durante o processo de criação do VPC. Os grupos de segurança foram criados usando a página 'Cenário 2' ... mas estão abertos no momento.
Se a sub-rede privada não estiver conectada à Internet, é claro que você não pode acessar a Internet para instalar qualquer pacote.
Você também pode iniciar uma instância em Public Subnet e depois de instalar os pacotes necessários, basta criar uma imagem personalizada , que pode ser usada facilmente ao iniciar a instância em qualquer Subnet, independentemente de se tem acesso à internet ou não.
Eu tenho o mesmo problema e resolvo quando uso
yum install wget
mas quando eu uso
sudo yum install wget
está tudo bem.