Endereço de loopback personalizado IPv6 e executar ping de outro host

Endereço de loopback personalizado IPv6 e executar ping de outro host

Posso ou como posso adicionar um endereço IPv6 personalizado na interface de loopback do host A e executar ping no host B?

Eu tentei adicionar algo assim ::ffff:5:4:3:2, no entanto ip -6 route, diz que este destino é unreachablecom error 101, mas posso fazer ping do host A. Quando defino esse endereço tap0, por exemplo, a rota é acessível, mas ainda "não pingável" do host B Não consigo entender quais endereços o loopback permite, por que meu costume está inacessível, por que posso fazer ping do host A, como habilitá-lo route_localnete rp_filterpara IPv6.

SO: ArchLinux, kernel 4.10.

Eu sei como fazer isso para IPv4, mas o IPv6 funciona completamente (ou não?) diferente.

Responder1

Sim. Assim como você pode fazer isso com IPv4, isso é chamado de roteamento. Você tem que dizer a um host como entrar em contato com outro host.

Digamos que temos dois hosts, A e B.

O Host A tem seu endereço de loopback padrão, ::1bem como seu endereço personalizado na interface de loopback. (No meu exemplo, o endereço personalizado será fd56:dcaa:2099::1. Eu escolhi isso em um endereço local exclusivo. Você deveusar endereços ULApara fins como estes.)

O Host A também possui uma interface Ethernet, vamos chamá-la de eth0. No IPv6, terá um endereço local de link IPv6. Pode ter outros endereços IPv6. Você pode encontrá-los executando ip -6 addr eth0. Aqui está um exemplo do meu sistema:

$ ip -6 addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2601:404:ce00:adc0:9d6c:9e16:a9a9:b03b/64 scope global temporary dynamic 
       valid_lft 593594sec preferred_lft 74600sec
    inet6 2601:404:ce00:adc0:bc87:129a:ed5d:814/64 scope global temporary deprecated dynamic 
       valid_lft 78769sec preferred_lft 0sec                                                                                                                                                                                      
    inet6 2601:404:ce00:adc0:1453:3734:6742:4500/64 scope global mngtmpaddr noprefixroute dynamic                                                                                                                                 
       valid_lft 2591820sec preferred_lft 604620sec                                                                                                                                                                               
    inet6 fe80::5520:a68f:5416:a68c/64 scope link                                                                                                                                                                                 
       valid_lft forever preferred_lft forever

Nessa lista estão quatro endereços diferentes (você pode ter mais). Para nossos propósitos, você deseja aquele que diz "link de escopo" depois dele. No meu sistema (e no meu exemplo), isso é fe80::5520:a68f:5416:a68c.

No host B, também temos uma interface eth0. Para permitir que o host B alcance o endereço de loopback especial do host A, o host B precisa saber onde encontrá-lo. Você faz isso adicionando uma entrada à tabela de roteamento do host B:

# ip route add fd56:dcaa:2099::1 via fe80::5520:a68f:5416:a68c dev eth0

O que estamos fazendo é dizer ao kernel do host B que ele pode acessar fd56:dcaa:2099::1(endereço especial do host A em sua interface de loopback) em fe80::5520:a68f:5416:a68c(endereço local de link do host A em sua eth0interface), mas que o host B precisa tentar acessar fe80::5520:a68f:5416:a68cdeanfitrião B eth0interface. (Essa é a parte complicada dos endereços locais de link. O endereço em si só tem significado no contexto de um determinado segmento de rede. Estude o modelo de rede OSI para obter mais detalhes.)

Depois de ter essa entrada na tabela de roteamento do host B, você poderá executar ping no endereço personalizado do host A a partir do host B, já que o host B agora sabe usar o endereço local do link do host A como um roteador para alcançar esse endereço.

Responder2

Porque os endereços de loopback e a interface são para um único host. Não se destina à comunicação com outro dispositivo.

informação relacionada