O AWS yum não funciona da sub-rede privada (funciona do público)

6

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. 

Rede

Eu tenho um AWS VPC usando AMIs RHEL7.

  • Eu tenho um VPC 10.0.0.0/16
  • Eu tenho uma sub-rede pública 10.0.0.0/24
  • Eu tenho uma sub-rede privada 10.0.1.0/24
  • Eu tenho um gateway de internet
  • Eu tenho uma NAT
  • 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

  • Todos os grupos de segurança estão abertos para solução de problemas
  • 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

  • Ambos são construídos a partir da mesma AMI do RHEL7.

Teste

  • EU SOU raiz durante tudo isso ...
  • Eu tentei a configuração 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 na sub-rede privada e pública pode executar ping 8.8.8.8
  • Ambos os servidores podem resolver nomes para IPs, incluindo os nomes dos repositórios yum.
  • 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
  • Ativar ou desativar o mascaramento parece não fazer diferença.

=== 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.

    
por BurningKrome 13.05.2015 / 13:37

3 respostas

2

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
    
por 22.09.2016 / 17:32
0

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.

    
por 16.07.2018 / 14:01
-5

Eu tenho o mesmo problema e resolvo quando uso

yum install wget

mas quando eu uso

sudo yum install wget

está tudo bem.

    
por 25.06.2016 / 05:07