O prefixo de Radvd passa por RA

1

Com o Radvd rodando no meu roteador, meu PC cliente como todos dizem na net "automagicamente" recebe um endereço ipv6. Existe alguma maneira eu posso usar o mesmo prefixo que é publicado pelo RADVD em seu RA e fazer o mesmo cliente ubuntu agir como um roteador (executando RADVD) com este prefixo em alguma outra interface? Em caso afirmativo, por favor, explique a melhor maneira de fazer isso.

    
por Malayaz Sachdeva 13.04.2016 / 06:52

1 resposta

0

Não, você não pode. Não é um problema de falta de recursos, mas a limitação da especificação do protocolo IPv6.

Veja por que:

O "automagicamente" ao qual você está se referindo é S tate L essência A ddress A uto Configuração C (SLAAC),. A especificação do SLAAC diz que ele funciona com uma máscara de rede de 64 bits (o que significa que os primeiros 64 bits (16 caracteres hexadecimais) do endereço devem ser os mesmos para que o endereço seja considerado no mesmo bloco e usado neste segmento de rede).

Por definição, um roteador é uma máquina que está em pelo menos dois segmentos de rede diferentes. Na verdade, um roteador obtém seu nome pelo fato de que ele roteia o tráfego entre os dois segmentos.

(O "segmento" a que estou me referindo aqui é uma coleção de switch (es) diretamente conectados entre si (sem roteadores intermediários) e o PC e outros dispositivos "dead end" conectados a esses switches.)

Quando uma máquina em rede (PC, servidor, etc) deseja enviar tráfego para um endereço, ele deve decidir se o endereço que deseja alcançar está diretamente acessível (no mesmo segmento) ou não (não no mesmo segmento, e, portanto, deve passar por um roteador para chegar ao segmento correto). Para fazer isso, o computador analisa a máscara de rede configurada. Uma netmask simplesmente informa ao computador que, se o endereço que deseja alcançar tiver os mesmos primeiros X bits em comum com o próprio endereço do computador, o endereço estará no mesmo segmento e o computador deverá contatar o endereço diretamente (usando a descoberta vizinha ICMPv6). protocolo). Se os primeiros X bits não estiverem em comum, o endereço é parte de outro bloco de endereços e em um segmento diferente, necessitando enviar o tráfego através de um roteador para chegar ao segmento correto.

Com o SLAAC que está acontecendo em uma interface da sua máquina Ubuntu, a máscara de rede é definida como sendo 64 bits pela especificação do protocolo. Não há como reivindicar uma parte menor desse bloco de máscara de rede / 64 e usá-lo em outra interface e segmento com o SLAAC, por dois motivos. Primeiro, o SLAAC requer uma máscara de rede de 64 bits. Se você fosse criar um bloco menor de um bloco de máscara de rede de 64 bits, o bloco menor não seria, por sua própria natureza, um bloco de máscara de 64 bits, porque uma máscara de rede maior significa um bloco menor. (Por exemplo, um bloco de máscara de rede de 65 bits tem metade do tamanho de um bloco de máscara de rede de 64 bits). Segundo, todas as outras máquinas na rede que atualmente têm o bloco de máscara de rede de 64 bits anunciado com o SLAAC esperam que o bloco inteiro seja acessado diretamente nesse segmento e não espere que seja necessário seu roteador para alcançar parte desse bloco.

Agora, há uma maneira de contornar isso, mas não pela sua máquina Ubuntu agindo como um roteador. Você pode configurar portas em uma máquina Ubuntu para atuar como um switch, passando transparentemente o tráfego entre as portas sem modificá-lo. Ao fazer isso, sua máquina receberá uma nova interface que age como se estivesse conectada a uma terceira porta nesse comutador virtual. Isso permitirá que você obtenha qualquer configuração necessária (incluindo o SLAAC) em sua máquina Ubuntu e dê a ela acesso à rede, enquanto ainda permite que o tráfego flua intocado entre as duas interfaces físicas em sua máquina. Isso faz com que sua máquina e as duas redes em sua interface física se tornem o mesmo segmento (porque sua máquina está fazendo o trabalho de um switch).

Para fazer isso, você desejará configurar uma ponte. Você desejará instalar o pacote bridge-utils . Você então desejará remover qualquer endereço / configuração da sua interface física atual. Então você vai querer fazer:

brctl addbr br0
brctl addif br0 intefacename1
brctl addif br0 intefacename2
ifconfig br0 up
ifconfig intefacename1 up
ifconfig intefacename2 up

e, em seguida, adicione qualquer configuração que você precisasse na interface física à nova interface br0. Você pode dar uma olhada no link e link para mais detalhes (especialmente como fazer a configuração se aplicar através de reinicializações em / etc / network / interfaces).

    
por Azendale 24.04.2016 / 20:53