Asterisk: Forçando um par de sip para conectar via ipv6?

1

Eu tenho um servidor asterisco que se conecta a um provedor de upstream por uma WAN. O provedor upstream suporta conectividade IPv4 e IPv6, e o servidor asterisco está atrás de um NAT.

Quando o asterisco se conecta ao sip upstream via IPv6, tudo funciona perfeitamente.

O problema que tenho é que quando eu configuro o endereço IPv6 do servidor asterisco via DHCPv6, uma condição de corrida significa que o asterisco às vezes acaba tentando entrar em contato com o par upstream via IPv4 (o nome DNS SIP tem registros A e AAAA). Isso ocorre porque o asterisco é iniciado antes que o sistema tenha um endereço IPv6 válido. A conexão não funciona via IPv4 por causa do NAT.

Existe uma maneira de configurar o par para especificar que ele deve ser contatado somente por meio do IPv6? Eu acho que seria possível hackear uma regra de firewall para negar todo o tráfego IPv4 para aquele IP, mas seria mais fácil configurar isso dentro do próprio asterisco.

    
por growse 21.06.2013 / 13:58

1 resposta

1

Aqui está o que está acontecendo. Esta explicação é voltada para sistemas derivados da Red Hat:

Os scripts de inicialização do servidor são executados em uma sequência específica, com alguns scripts dependendo de outros serem concluídos com êxito.

No caso de asterisco, requer (ou deve exigir) que a rede esteja ativa antes de iniciar. Você verá isso no script de inicialização como uma linha como:

# Required-Start: $local_fs $remote_fs $network

onde $network está presente.

O problema é que, por padrão, a rede é considerada "up" se a configuração do IPv4 for concluída, mesmo que a configuração do IPv6 não seja concluída.

Para alterar esse comportamento, edite /etc/sysconfig/network-scripts/ifcfg-eth0 (ou sua interface específica) para especificar que o IPv6 também deve aparecer:

IPV6_FAILURE_FATAL=yes

Observe que apenas o NetworkManager presta atenção a essa configuração, portanto, se você tiver desativado o NetworkManager e estiver usando o script de rede antigo, ele será ignorado. Você também pode fazer a configuração equivalente na GUI do NetworkManager.

    
por 26.06.2013 / 05:12

Tags