tentando incluir novos campos em anúncios de roteador IPv6

0

Um novato aqui e estou trabalhando em um projeto de hobby e tentando alterar o formato de pacote de um pacote de anúncio de roteador IPv6 usando RADVD . Mas eu não sei como trabalhar nisso.

Meu plano é configurar uma rede sem fio com um roteador enviando RA modificado periódico e permitindo que um host identifique esse RA modificado .

Meu Ubuntu PC atua como um roteador e está conectado a um modem sem fio. Um laptop host também está conectado à mesma rede usando o Wifi. Eu instalei o radvd no pc do roteador e editei o arquivo radvd.conf para anunciar um id de rede em particular.

sysctl.conf :

net.ipv6.conf.all.forwarding = 1

radvd.conf :

interface eth1
{
  prefix 2001:db1:0:1::/64
  {
    AdvOnLink on;
    AdvAutonomous on;
  };
};

rc.local :

ip a a 2001:db1:0:1::1 dev eth1
ip r a 2001:db1:0:1::/64 dev eth1

Quando eu inicio o radvd, consigo colocar o roteador e o host na rede comum e o host se auto-configura com o ID de rede anunciado.

Agora quero alterar o formato do pacote do RA e introduzir mais alguns campos que podem alterar a maneira como a configuração automática do endereço funciona. Eu acho que vou ter que introduzir mais alguns campos no arquivo radvd.conf com todos os parâmetros que eu preciso. Mas eu não tenho certeza.

PS: meu roteador não está conectado à internet. Então eu não preciso de um túnel IPv64. Além disso, meu sistema atual é um único roteador e um único host

Informações Adicionais: Eu gostaria de incluir um conjunto de cinco novos flags de um bit que não existem no presente RA . Os presentes RAs suportam apenas as seguintes informações: link
Estou tentando criar um protocolo melhor e mais eficiente para o ICMPv6 existente. Eu tenho o protocolo no papel, mas eu quero implementar isso e testar o funcionamento do meu projeto. Também precisarei alterar as solicitações vizinhas e os anúncios vizinhos do ICMPv6 existente. Alguém pode me ajudar com isso?

    
por Hariharasudhan Vigneswaran 07.04.2015 / 16:17

1 resposta

0

Pelo que eu acho que você tem especificamente em mente, você simplesmente não pode usar o radvd para o que você quer fazer. Ou seja, você não pode criar novas opções ou campos e "conectá-los" através da sintaxe de configuração do radvd. Diga, se você inventou uma nova opção, então

interface yada
{
    prefix yada:yada:yada::/64
    {
        myNewFancyOption on;
        ...
    }
}

não funciona. O radvd segue os RFCs relevantes (ou seja, RFC 4861 e suas atualizações) e, portanto, não "sabe" sobre suas modificações. / p>

Se você quiser enviar pacotes arbitrários, você tem que modificar as fontes de radvd ou você tem que usar um gerador de pacotes como o scapy.

    
por 08.04.2015 / 22:38