Eu tenho um problema sobre as interfaces do tun e o manuseio do IPv6 pelo kernel.
Estou tentando fornecer IPv6 para os usuários finais da minha rede em uma rede IPv4 pura. Resumindo (apenas uma teoria de fundo de encapsulamento), todos os pacotes IPv6 são colocados em pacotes IPv4 e enviados através do encapsulamento e, quando saem, esse cabeçalho IPv4 é removido e entregue ao sistema.
O cenário em que estou simulando tudo isso é o seguinte:
A questão é:
Alguns vestígios:
[root@vm062 ~]# tshark -i if6b'
Running as user "root" and group "root". This could be dangerous
Capturing on 'if6b'
1 0.000000 fd00:cafe:2001::1 -> fd00:cafe:2002::1 ICMPv6 104 Echo
(ping) request id=0x7383, seq=1, hop limit=0
1 2 0.785373 fd00:cafe:2001::1 -> fd00:cafe:2002::1 ICMPv6 104
Echo (ping) request id=0x7383, seq=2, hop limit=0
2 3 1.782000 fd00:cafe:2001::1 -> fd00:cafe:2002::1 ICMPv6 104
Echo (ping) request id=0x7383, seq=3, hop limit=0
3 4 2.781968 fd00:cafe:2001::1 -> fd00:cafe:2002::1 ICMPv6 104
Echo (ping) request id=0x7383, seq=4, hop limit=0...
[ipv6test@vm062 ssh]$ echo start | dropwatch -l kas
Initalizing kallsyms db
dropwatch> start
Enabling monitoring...
Kernel monitoring activated.
Issue Ctrl-C to stop monitoring
1 drops at ip_rcv+c0 (0xffffffff81536450)
2 drops at ip_rcv+c0 (0xffffffff81536450)
1 drops at ip_rcv+c0 (0xffffffff81536450)
2 drops at ip_rcv+c0 (0xffffffff81536450)
2 drops at ip_rcv+c0 (0xffffffff81536450)
2 drops at ip_rcv+c0 (0xffffffff81536450)
2 drops at ip_rcv+c0 (0xffffffff81536450)
...
Se eu parar o ping6 as paradas param também.
Eu tenho pesquisado sobre a função ip_rcv e só funciona para o IPv4 pacotes, então eu suponho que meus pacotes IPv6 estão entrando através da pilha IPv4 em vez da pilha IPv6. Por que o kernel está fazendo isso?
Existe uma questão semelhante aqui .
Tags networking ipv6 ip tunneling