Endereços de loopback IPv6 (equivalente a 127.x.x.x)

14

Eu tenho um ambiente de desenvolvimento configurado onde eu tenho um endereço de loopback separado para vários sites.

Por exemplo, tenho o seguinte:

127.0.0.1 www.example.com
127.0.0.2 foo.example.com
127.0.0.3 bar.example.com
127.0.0.4 waffles.example.com

Eu gostaria de uma solução equivalente para o IPv6.

Eu já sei que você pode usar :: 1 como um endereço de loopback, mas :: 2, :: 3, etc. parecem não funcionar.

Há algum outro endereço de loopback no IPv6? Existe uma maneira de ter vários endereços de loopback exclusivos?

    
por Doctor Jones 21.10.2010 / 14:54

5 respostas

12

Tecnicamente :: 2, :: 3 etc. fazem parte de: 0.0.0.0/96, o intervalo "ipv4 compatible ipv6 address". Está obsoleto, mas você provavelmente não quer usar esse intervalo.

Para um ambiente de laboratório, use o endereçamento local exclusivo. Vá para link e crie um prefixo para você mesmo. Em seguida, você pode escolher os endereços que quiser com esse prefixo e atribuí-los à interface de loopback.

    
por 07.11.2010 / 22:32
9

Seu endereço de loopback é: 1/128. Observe a largura da sub-rede que a restringe a apenas um host. mude a subnetmask para algo mais amplo e verifique sua tabela de roteamento. Ou use endereços locais de links.

    
por 21.10.2010 / 15:11
1

O uso do endereçamento local de link parece ser a única opção válida. O que a maioria das sugestões aqui ignora é o fato de que o prefixo IPv6 declara o escopo , e eu não gostaria que meu endereçamento presumivelmente privado estivesse no escopo global.

Então, para o Linux:

$ sudo ip -6 address add fe80::1/64 dev lo
$ sudo ip -6 address add fe80::2/64 dev lo
$ sudo ip -6 address add fe80::3/64 dev lo

E especifique interface ao se referir a tais endereços. Testando com o netcat:

$ nc -l -p 10001 fe80::1%lo
$ nc fe80::1%lo 10001

Verificando o escopo correto:

$ ip -6 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 
    inet6 fe80::1/64 scope link 
       valid_lft forever preferred_lft forever

Ainda não parece muito elegante ter que adicionar todos os IPs para poder vincular a ele. Com 127.0.0.0/8, você pode vincular a qualquer endereço sem priorizá-los.

    
por 05.02.2016 / 16:03
1
jcomeau@aspire:~/rentacoder/jcomeau/kybyz$ sudo ip route add local ::/104 dev lo 
jcomeau@aspire:~/rentacoder/jcomeau/kybyz$ ping6 ::2
PING ::2(::2) 56 data bytes
64 bytes from ::2: icmp_seq=1 ttl=64 time=0.083 ms
64 bytes from ::2: icmp_seq=2 ttl=64 time=0.128 ms
^C
--- ::2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.083/0.105/0.128/0.024 ms
jcomeau@aspire:~/rentacoder/jcomeau/kybyz$ ping6 ::3
PING ::3(::3) 56 data bytes
64 bytes from ::3: icmp_seq=1 ttl=64 time=0.148 ms
64 bytes from ::3: icmp_seq=2 ttl=64 time=0.141 ms
64 bytes from ::3: icmp_seq=3 ttl=64 time=0.142 ms

de Posso ligar um (grande ) bloco de endereços para uma interface?

é a única coisa que funcionou para mim. linux-specific, claro.

nota bene : porque isso pode entrar em conflito com os endereços 0.0.0.0/8 em algum momento no futuro, ::127.0.0.0/104 provavelmente seria uma escolha melhor.

    
por 14.08.2015 / 10:52
0

Eu recomendo usar RFC 4193 para isso. O RFC 4193 permite que você construa seu próprio / 48 para uso local, obtendo o valor de byte fd seguido por 5 bytes aleatórios . Você tem permissão para colocar qualquer coisa que você achar adequada após os primeiros 48 bits, então se você quiser um / 64 você pode usar fd seguido por 7 bytes aleatórios como neste exemplo para sistemas Linux:

ip -6 route add to local fd66:29e9:f422:8dfe::/64 dev lo

O uso da RFC 4193 tem a vantagem, em comparação com as respostas anteriores, de você não estar violando nenhuma RFC ao fazê-lo e os endereços podem ser usados sem um identificador de interface.

Cada um dos intervalos mencionados nas respostas anteriores é o uso de intervalos reservados para finalidades diferentes ou endereços de links locais que exigem um identificador de interface sempre que usados.

Existe um rascunho vencido que sugere que o intervalo 1::/32 é alocado para endereços de loopback adicionais, como você está pedindo. No entanto, desde que esse esboço expirou anos atrás e nenhuma dessas alocação foi feita você não pode usar 1::/32 para isso.

    
por 12.10.2018 / 17:14

Tags