Um servidor Debian com eth0
, eth1
. eth2
, ppp0
devices:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether xx:yy:zz:yy:xx:yy brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether xx:yy:zz:yy:xx:yy brd ff:ff:ff:ff:ff:ff
4: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether xx:yy:zz:yy:xx:yy brd ff:ff:ff:ff:ff:ff
63: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN qlen 3
link/ppp
O
encaminhamento está ativado em todos os lugares:
/proc/sys/net/ipv6/conf ~
all/forwarding=1 default/forwarding=1
eth0/forwarding=1 eth1/forwarding=1
eth2/forwarding=1 ppp0/forwarding=1
e o autoconf também é ativado:
/proc/sys/net/ipv6/conf ~
all/autoconf=1 default/autoconf=1
eth0/autoconf=0 eth1/autoconf=1
eth2/autoconf=1 ppp0/autoconf=1
mais RA (= Anúncio do roteador) é aceito em qualquer dispositivo, mas definindo accept_ra = 2
para no leat ppp0
e eth1
:
/proc/sys/net/ipv6/conf ~
all/accept_ra=1 default/accept_ra=1
eth0/accept_ra=1 eth1/accept_ra=2
eth2/accept_ra=0 lo/accept_ra=1
ppp0/accept_ra=2
A conexão PPP é estabelecida com sucesso, tendo a opção ipv6 :: dead: beef configurada no arquivo de configuração / etc / ppp / peer / myProvider :
63: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qlen 3
inet6 2003:42:e67f:d3ca:6105:155:f2b3:71f0/64 scope global temporary dynamic
valid_lft 14266sec preferred_lft 1666sec
inet6 2003:42:e67f:d3ca::dead:beef/64 scope global dynamic
valid_lft 14266sec preferred_lft 1666sec
inet6 fe80::dead:beef/10 scope link
valid_lft forever preferred_lft forever
e uma rota padrão para um endereço de link local do provedor é definida:
2003:42:e67f:d3ca::/64 dev ppp0 proto kernel metric 256 expires 13559sec
fe80::/64 dev ppp0 proto kernel metric 256
fe80::/10 dev ppp0 metric 1
fe80::/10 dev eth1 proto kernel metric 256
fe80::/10 dev ppp0 proto kernel metric 256
fe80::/10 dev eth0 metric 1024
default via fe80::90:1a10:1b2:b780 dev ppp0 proto kernel metric 1024 expires 1789sec
O prefixo 2003:42:e67f:d3ca::/64
público tem uma rota para o dispositivo ppp0
.
radvd instalado e em execução, radvdump mostra o link ppp0
IPv6 enviando RAs
interface ppp0
{
AdvSendAdvert on;
# Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
AdvManagedFlag off;
AdvOtherConfigFlag on;
AdvReachableTime 0;
AdvRetransTimer 0;
AdvCurHopLimit 0;
AdvDefaultLifetime 1800;
AdvHomeAgentFlag off;
AdvDefaultPreference medium;
AdvLinkMTU 1492;
prefix 2003:42:e67f:d3ca::/64
{
AdvValidLifetime 14400;
AdvPreferredLifetime 1800;
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
}; # End of prefix definition
}; # End of interface definition
Do host do servidor, posso ping6 hospedar um host da Internet com sucesso.
Agora, quando eu tento forçar um RA solicitando um roteador para ppp0
i get:
Soliciting ff02::2 (ff02::2) on ppp0...
Hop limit : undefined ( 0x00)
Stateful address conf. : No
Stateful other conf. : Yes
Router preference : medium
Router lifetime : 1800 (0x00000708) seconds
Reachable time : unspecified (0x00000000)
Retransmit time : unspecified (0x00000000)
MTU : 1492 bytes (valid)
Prefix : 2003:42:e67f:d3ca::/64
Valid time : 14400 (0x00003840) seconds
Pref. time : 1800 (0x00000708) seconds
O que eu esperaria é que todos os nós em eth1
obtenham o SLAAC configurado, mas quando eu tentar solicitar em eth1
i get:
Soliciting ff02::2 (ff02::2) on eth1...
Timed out.
Timed out.
Timed out.
No response.
- Eu não quero usar DHCPv6 mas SLAAC via radvd
- Eu gostaria de evitar que o bash kung fu cortasse o prefixo real do provedor (por exemplo: de rdisc6
saída) para ajustar o arquivo radvd.conf sozinho (por exemplo: em um evento if-up)
- A ligação de dispositivos não é uma solução. O dispositivo PPP é virtual e não pode ser conectado.
De alguma forma, o encaminhamento de RA pacotes de ppp0
para eth1
(e para qualquer outro dispositivo) não parece funcionar. Por quê?
Até onde eu sei, qualquer roteador com um modem DSL tem que encaminhar de alguma forma RAs do seu dispositivo de modem interno para as portas LAN físicas, caso contrário qualquer host conectado não obteria um endereço IPv6, certo ?
Agora, onde está a diferença entre um roteador e minha caixa debian?
Eu ficaria grato por qualquer dica que você possa ter.