Eu tenho computadores Windows em uma rede que estão recebendo inesperadamente um endereço IPv6 de uma VLAN marcada.
Eu tenho roteadores/computadores conectados a um switch com uma vlan não marcada (id 1) e uma etiquetada (id 2). Para simplificar, digamos que esta VLAN2 é para aparelhos VoIP que verão uma opção para usar a vlan marcada como parte de uma solicitação DHCP.
Por algum motivo, os computadores Windows nesta rede estão obtendo um endereço SLAAC das sub-redes 2001:db8:1051:4001::/64
e 2001:db8:1051:4002::/64
. Eu esperava que os computadores Windows pegassem apenas endereços da VLAN/Sub-rede não marcada.
Um computador Windows com endereço do 2001:db8:1051:4002::/64
não poderá realmente usar esse endereço para nada. Ele não pode pingar o gateway 2001:db8:1051:4002::1
e um ping do gateway não funciona. Tanto quanto eu posso dizer, ele não pode realmente usar esse endereço de forma alguma.
Uma captura de wireshark no sistema Windows com o filtro icmp6 and ip6[40] == 134
mostrará os anúncios de rota para ambas as sub-redes.
Uma captura tcpdump desse mesmo computador inicializado em um livecd Linux mostrará que os 2001:db8:1051:4002::/64
anúncios com o ID de vlan adequado no quadro Ethernet. O Linux não obtém endereços de ambas as sub-redes.
Os computadores Windows são novas instalações completamente limpas do Windows 10 1709, e eu vi o comportamento em sistemas com adaptadores Realtek e Broadcom.
Configuração
+--------------+ +-----------+ +------------------+
| Linux Router +----+ HP Switch +----+ Windows Computer |
+--------------+ +-----------+ +------------------+
Configuração da interface do roteador Linux
3: eth_lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 0c:c4:7a:14:c7:fd brd ff:ff:ff:ff:ff:ff
inet 10.2.25.1/24 brd 10.2.25.255 scope global eth_lan
valid_lft forever preferred_lft forever
inet6 2001:db8:1051:4001::1/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::ec4:7aff:fe14:c7fd/64 scope link
valid_lft forever preferred_lft forever
5: eth_lan.2@eth_lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 0c:c4:7a:14:c7:fd brd ff:ff:ff:ff:ff:ff
inet 10.2.26.1/24 brd 10.2.26.255 scope global eth_lan.2
valid_lft forever preferred_lft forever
inet6 2001:db8:1051:4002::1/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::ec4:7aff:fe14:c7fd/64 scope link
valid_lft forever preferred_lft forever
Configuração do Linux RADVD
interface eth_lan
{
AdvSendAdvert on;
AdvManagedFlag on;
AdvOtherConfigFlag on;
MaxRtrAdvInterval 90;
MinRtrAdvInterval 30;
prefix ::/64
{
};
};
interface eth_lan.2
{
AdvSendAdvert on;
MaxRtrAdvInterval 90;
MinRtrAdvInterval 30;
prefix ::/64
{
};
AdvDefaultPreference low;
};
Configuração do switch
HP-2530-24G-PoEP# show running-config
Running configuration:
; J9773A Configuration Editor; Created on release #YA.15.14.0007
; Ver #05:18.63.ff.37.27:91
hostname "HP-2530-24G-PoEP"
snmp-server community "public" unrestricted
vlan 1
name "DEFAULT_VLAN"
untagged 1-28
ip address dhcp-bootp
exit
vlan 2
name "VLAN2"
tagged 1-28
no ip address
exit
Perguntas:
Por que os sistemas Windows estão obtendo um endereço IPv6 não funcional da VLAN marcada? Existe alguma maneira de parar isso sem desabilitar o IPv6 na VLAN 2 ou não ter essa VLAN marcada nas portas em que os sistemas Windows estão conectados?
Respostas às perguntas dos comentários
As máquinas Windows são capazes de se comunicar na rede se você atribuir a elas um endereço IPv6 estático?
Um computador conectado a uma porta (vlan1 não marcado, vlan2 marcado) funcionará perfeitamente se receber um endereço estático da sub-rede VLAN 1, mas não funcionará na sub-rede VLAN2, que é o que eu esperaria que acontecesse.
Você já tentou desabilitar o SLAAC no roteador e usar apenas o DHCPv6?
Se eu desabilitar o SLAAC AdvAutonomous off;
e habilitar um servidor DHCPv6 com estado, os computadores só obterão um endereço da VLAN não marcada.
O que acontece se você desabilitar RAs em eth_lan.2?
O cliente não obterá endereços dessa sub-rede VLAN 2 então. No entanto, eu quero que o IPv6 funcione nessa sub-rede, então o RA é praticamente necessário.