IPV6: Roteador Ubiquiti, Cliente Ubuntu


0

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

Que endereço o roteador atribui à sua interface WAN e que prefixo você está configurando estaticamente no lado da LAN? Endereços não editados seriam muito apreciados.
grawity

@ grrawity Bem, eu realmente não quero fornecer endereços não editados, pois o lado da WAN obtém um com base no MAC da interface de rede, conforme indicado acima (2607: X: X: X: Y: yff: fey: Y / 64). Se você olhar para a saída, radvdumpverá o prefixo e a máscara, então eu uso: 2607: X: X: X :: e / 64.
Diagon

@harrymc - Não sei se entendi sua pergunta. Eu tenho um roteador conectado a uma rede, que funciona bem, e por trás dele existe um cliente que eu gostaria de acessar a rede IPV6.
Diagon

@ Diagon: Isso significa que você está configurando um prefixo de LAN idêntico ao seu prefixo de WAN (como mostra 2607: X: X: X :: / 64 no despejo de WAN do roteador e na tabela de rotas do cliente)? Definitivamente, isso não vai funcionar.
grawity

Está bem. enquanto sou novo nisso, achei que o RA deveria oferecer o prefixo e a máscara. Você poderia esclarecer? (Existe uma interface de chat on superusuário Alguns dos stackexchanges ter isso?.)
Diagonal

Respostas:


1

Definir o roteador como cliente DHCP no lado da WAN e Prefixo Delegação / servidor DHCP {sem estado, sem estado} 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.

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.)

Além disso, estou hesitando em instalar o radvd no cliente Ubuntu.

Não, não é absolutamente necessário. É como tentar instalar um servidor DHCP em um cliente.


Ok obrigado. Como mencionei na pergunta, tentei delegar prefixos, mas apenas obtive endereços locais de link no cliente. Poderia haver configurações incorretas no cliente, em dhcp, gerenciador de rede ou sysctl? Ou existe alguma maneira de saber se o "ISP" (uma rede do campus) está ou não oferecendo DP?
Diagon

É muito improvável que uma rede do campus ofereça PD, e se não houver PD, seu roteador não possui um prefixo global que possa ser anunciado na LAN. (Isso provavelmente se encaixa em "às vezes você precisa solicitar um prefixo de IPv6".) Mas o PD continua sendo o método oficial para fazer isso, quer funcione com seu ISP em particular ou não.
grawity

Entendo sim. Quando uso o DHCP no lado da WAN e o PD no lado da LAN, só recebo um endereço local de link no lado da LAN (e, portanto, o cliente, quando ligo o DHCP para a LAN). Você poderia esclarecer: "Às vezes você precisa solicitar um prefixo IPV6"? Eu acho que minha alternativa é usar o roteador como uma ponte?
Diagon

Provavelmente, é uma rede muito bloqueada para visitantes. Eu teria que fazer outra coisa. Uma ponte, suponho. Ou o IPv6 equivalente ao NAT, como você mencionou. Se você tem um link conveniente para este último, eu agradeceria. Caso contrário, eu vou simplesmente google. (Eu tenho outras questões, como a forma como eu recebo algo diferente de um IP baseado MAC a partir deste "ISP", mas acho que isso é uma outra questão SE?)
Diagonal

Por "solicitação", quis dizer ligar / enviar por email / caminhar até a equipe de TI do campus e dizer a eles que você deseja usar o IPv6 com seu próprio roteador.
grawity
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.