Eu tenho um roteador Ubiquiti no qual o ipv6 parece estar funcionando bem. A saída de radvdump
, junto com vários outros dados relevantes, está abaixo. Meu problema está no ipv6 em uma máquina ubuntu 16.04 atrás do roteador.
Definir o roteador como cliente DHCP no lado WAN e Prefixo Delegation / {DHCP sem estado, com estado} servidor DHCP no lado da LAN me deixa com apenas endereços locais de link no cliente. Definir o roteador como {cliente DHCP, SLAAC} no lado da WAN, um endereço estático no lado da LAN e o servidor DHCP {sem estado e sem estado} para o cliente, fornece endereços IPv6 no cliente, mas sem conectividade.
Entendo que talvez seja necessário editar a configuração do Network Manager, /etc/dhclient.conf, e que, embora as chaves no sysctl também sejam relevantes, elas podem não funcionar bem com o Network Manager. Agradeço qualquer contribuição sobre como começar.
Além disso, estou hesitando em instalar o radvd no cliente Ubuntu. Estou preocupado que ele possa entrar em conflito com a funcionalidade DHCP ou SLAAC no cliente. Isso é um problema?
-------------------------------------------------- ------------------
# radvdump [executado no roteador ]
interface ath0
{
AdvSendAdvert on;
# Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
AdvManagedFlag off;
AdvOtherConfigFlag on;
AdvReachableTime 0;
AdvRetransTimer 0;
AdvCurHopLimit 64;
AdvDefaultLifetime 1800;
AdvHomeAgentFlag off;
AdvDefaultPreference medium;
AdvSourceLLAddress on;
RDNSS 2607:X:X:X::53
{
AdvRDNSSPreference 0;
AdvRDNSSOpen off;
AdvRDNSSLifetime 1800;
}; # End of RDNSS definition
prefix 2607:X:Y:Y::/64
{
AdvValidLifetime 2592000;
AdvPreferredLifetime 604800;
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
}; # End of prefix definition
}; # End of interface definition
#
# radvd configuration generated by radvdump 1.2
# based on Router Advertisement from fe80::Z:Z:Z:Z
# received by interface ath0
endereço IP -6 [no roteador ]
inet6 2607:X:X:X:Y:yff:fey:Y/64 scope global dynamic
plus a link-local address
$ ip -6 addr [no cliente . primeiro endereço presente apenas ao usar o servidor com estado]
inet6 2607:X:X:X::x/128 scope global dynamic
inet6 2607:X:X:X:Y':Y':Y':Y'/64 scope global temporary dynamic
inet6 2607:X:X:X:Z:Z:Z:Z/64 scope global mngtmpaddr noprefixroute dynamic
rota $ ip -6 [no cliente . primeira rota presente apenas ao usar o servidor stateful e fe80 :: Y: yff: fey: Y é o ip local do link da interface LAN do roteador]
2607:X:X:X::x dev enp0s25 proto kernel metric 256 expires 86292sec pref medium
2607:X:X:X::/64 via fe80::Y:yff:fey:Y dev enp0s25 proto ra metric 100 pref medium
2607:X:X:X::/64 dev enp0s25 proto kernel metric 256 expires 7090sec pref medium
fe80::/64 dev enp0s25 proto kernel metric 256 pref medium
default via fe80::Y:yff:fey:Y dev enp0s25 proto static metric 100 pref medium
plus a link-local address
$ cat / etc / network / interfaces [inalterado na instalação do ubuntu]
auto lo
iface lo inet loopback
$ sudo sysctl -a | grep accept_ra
net.ipv6.conf.all.accept_ra = 1
net.ipv6.conf.all.accept_ra_defrtr = 1
net.ipv6.conf.all.accept_ra_from_local = 0
net.ipv6.conf.all.accept_ra_min_hop_limit = 1
net.ipv6.conf.all.accept_ra_mtu = 1
net.ipv6.conf.all.accept_ra_pinfo = 1
net.ipv6.conf.all.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.all.accept_ra_rtr_pref = 1
net.ipv6.conf.default.accept_ra = 1
net.ipv6.conf.default.accept_ra_defrtr = 1
net.ipv6.conf.default.accept_ra_from_local = 0
net.ipv6.conf.default.accept_ra_min_hop_limit = 1
net.ipv6.conf.default.accept_ra_mtu = 1
net.ipv6.conf.default.accept_ra_pinfo = 1
net.ipv6.conf.default.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.default.accept_ra_rtr_pref = 1
net.ipv6.conf.enp0s25.accept_ra = 1
net.ipv6.conf.enp0s25.accept_ra_defrtr = 0
net.ipv6.conf.enp0s25.accept_ra_from_local = 0
net.ipv6.conf.enp0s25.accept_ra_min_hop_limit = 1
net.ipv6.conf.enp0s25.accept_ra_mtu = 1
net.ipv6.conf.enp0s25.accept_ra_pinfo = 0
net.ipv6.conf.enp0s25.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.enp0s25.accept_ra_rtr_pref = 0
net.ipv6.conf.lo.accept_ra = 1
net.ipv6.conf.lo.accept_ra_defrtr = 1
net.ipv6.conf.lo.accept_ra_from_local = 0
net.ipv6.conf.lo.accept_ra_min_hop_limit = 1
net.ipv6.conf.lo.accept_ra_mtu = 1
net.ipv6.conf.lo.accept_ra_pinfo = 1
net.ipv6.conf.lo.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.lo.accept_ra_rtr_pref = 1
net.ipv6.conf.virbr0.accept_ra = 0
net.ipv6.conf.virbr0.accept_ra_defrtr = 1
net.ipv6.conf.virbr0.accept_ra_from_local = 0
net.ipv6.conf.virbr0.accept_ra_min_hop_limit = 1
net.ipv6.conf.virbr0.accept_ra_mtu = 1
net.ipv6.conf.virbr0.accept_ra_pinfo = 1
net.ipv6.conf.virbr0.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.virbr0.accept_ra_rtr_pref = 1
net.ipv6.conf.virbr0-nic.accept_ra = 1
net.ipv6.conf.virbr0-nic.accept_ra_defrtr = 1
net.ipv6.conf.virbr0-nic.accept_ra_from_local = 0
net.ipv6.conf.virbr0-nic.accept_ra_min_hop_limit = 1
net.ipv6.conf.virbr0-nic.accept_ra_mtu = 1
net.ipv6.conf.virbr0-nic.accept_ra_pinfo = 1
net.ipv6.conf.virbr0-nic.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.virbr0-nic.accept_ra_rtr_pref = 1
net.ipv6.conf.wlp3s0.accept_ra = 0
net.ipv6.conf.wlp3s0.accept_ra_defrtr = 0
net.ipv6.conf.wlp3s0.accept_ra_from_local = 0
net.ipv6.conf.wlp3s0.accept_ra_min_hop_limit = 1
net.ipv6.conf.wlp3s0.accept_ra_mtu = 1
net.ipv6.conf.wlp3s0.accept_ra_pinfo = 0
net.ipv6.conf.wlp3s0.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.wlp3s0.accept_ra_rtr_pref = 0
radvdump
verá o prefixo e a máscara, então eu uso: 2607: X: X: X :: e / 64.Respostas:
Com base nisso e nos seus comentários, parece que você está copiando o prefixo da WAN anunciado pelo SLAAC diretamente na configuração da interface da LAN. Isso não vai funcionar (pelo mesmo motivo que não funcionaria com o WAN DHCP no IPv4).
No SLAAC IPv6, assim como no DHCP IPv4, o prefixo anunciado simplesmente indica em qual sub-rede está a interface WAN e o roteador escolhe seu próprio endereço WAN nessa sub-rede. No entanto, isso não tem nada a ver com o lado da LAN - seu roteador é um roteador, não uma ponte; portanto, a LAN é sua própria rede e precisa de seu próprio prefixo .
Para obter um prefixo para as interfaces da LAN, seu roteador geralmente deve enviar uma solicitação de delegação de prefixo usando o DHCPv6-PD no lado da WAN. (Geralmente, há alguma integração que inicia automaticamente a publicidade do prefixo delegado na LAN.)
O tamanho do prefixo que você pode solicitar depende do ISP (alguns fornecem até / 60, outros até / / 56 etc.) - mas as interfaces LAN individuais ainda devem usar / 64s.
(Dito isso, nem todos os ISPs fazem o DHCPv6-PD; às vezes você precisa solicitar um prefixo IPv6 e configurá- lo manualmente. Há também a opção de continuar a prática do IPv4 de usar um intervalo de endereços privados para a LAN e 1: muitos NAT (disfarçado) feito no roteador. Embora eu não recomende 1: muitos NAT, exceto como último recurso; já é ruim o suficiente no IPv4.)
Não, não é absolutamente necessário. É como tentar instalar um servidor DHCP em um cliente.
fonte