Como fazer meu sistema usar centos 7 principalmente ipv4 se estiver disponível

2

Eu tenho o CentOS 7 em execução em uma máquina da AWS. Eu recentemente habilitei o IPv6 e tudo estava funcionando bem - exceto pelo fato de que as solicitações de conexão do PHP (também curl da linha de comando) sempre preferem usar o IPv6 em vez do IPv4. Isso causa alguns problemas com sites que realmente não suportam isso, como enviar notificações para a Apple, Android e tudo funcionou bem como IPv4.

Como posso fazer com que todas as minhas solicitações de saída usem o IPv4 em vez do IPv6? Eu também não quero desabilitar o IPv6 de entrada, já que alguns dos meus clientes usam apenas o IPv6.

    
por Grego 07.03.2018 / 13:19

1 resposta

3

A maioria dos programas que são capazes de usar o IPv6 usarão qualquer endereço (IPv4 ou IPv6) que a biblioteca de resolução de DNS do sistema relate como a mais preferida para o host.

A preferência da biblioteca de resolução pode ser ajustada usando o arquivo /etc/gai.conf .

As regras de precedência são especificadas nesta parte do arquivo:

# precedence  <mask>   <value>
#    Add another rule to the RFC 3484 precedence table.  See section 2.1
#    and 10.3 in RFC 3484.  The default is:
#
#precedence  ::1/128       50
#precedence  ::/0          40
#precedence  2002::/16     30
#precedence ::/96          20
#precedence ::ffff:0:0/96  10
#
#    For sites which prefer IPv4 connections change the last line to
#
#precedence ::ffff:0:0/96  100

Os padrões internos são listados como valores comentados, mas se você especificar suas próprias configurações, os padrões não serão usados. Então, adicione isso ao final do arquivo:

# To prefer IPv4 over everything else
precedence ::ffff:0:0/96  100
precedence  ::1/128       50
precedence  ::/0          40
precedence  2002::/16     30
precedence ::/96          20

Note que não é possível responder em IPv4 a uma conexão recebida que chega usando IPv6, ou vice-versa: pelas regras dos protocolos IP e TCP, qualquer tentativa de conexão deve ser respondida usando o protocolo que a solicitação foi feita com .

    
por 07.03.2018 / 14:54