Meu ISP acabou de iniciar o serviço de pilha dupla IPv4 / IPv6. Para conectar a Internet IPv4 / IPv6, quase todos os usuários geralmente usam um CPE alugado pelo ISP. Mas eu quero usar meu roteador Linux em vez de tal CPE, porque meu roteador tem muitas funções (muitas regras iptables e três interfaces Ethernet, proxy reverso http, cache http, memcached, servidor smtp / pop e proxy DNS). Quero permitir que seja um roteador de pilha dupla IPv4 / IPv6.
Meu roteador
- CentOS6.0 i686
- eth0 para WAN
- eth1,2 para LAN
- ISC dhcp (versão 4.1.1) instalado por "# yum install dhcp" do repositório CentOS-updates
- radvd (versão 1.6) instalado por "# yum install radvd" do repositório base do CentOS
- [EDIT] O motivo pelo qual eu uso o dhclient do ISC é que meu roteador tem que enviar uma opção de DHCPv6 16 (classe de fornecedor) em suas mensagens de solicitação e solicitação, para obter a opção de informações específicas do fornecedor que inclui alguns ISP- informações específicas (número de telefone SIP, endereço do servidor de firmware). Eu sei como definir a opção 16 no dhclient ISC, mas não sei em WIDE-dhcpv6. E eu não consigo encontrar essas configurações como "id-assoc" no dhclient ISC.
Meu objetivo
O prefixo - / 48 é delegado ao cliente DHCPv6-PD (Delegação de Prefixo DHCPv6) (dhclient) em eth0.
- Uma rota padrão do IPv6 é definida para o ISP. Eu tenho que considerar o endereço de link local do servidor DHCPv6 do ISP como uma rota padrão.
- Uma sub-rede / 64 e um endereço global (que estão no prefixo delegado) são atribuídos a cada LAN I / F (eth1 / eth2).
- radvd on eth1 e eth2 anunciam o RA baseado na sub-rede / 64 atribuída.
- dhcpd6 em eth1 e eth2 anunciam informações adicionais de rede (servidores de nomes, lista de busca de domínio e endereços de servidores sip) recebidas do servidor DHCPv6 do ISP.
Minha configuração atual
/ etc / sysconfig / network
NETWORKING=yes
HOSTNAME=xxx.yyy.zzz
# Enable IPv6 routing and stop accept_ra/autoconf.
IPV6FORWARDING=yes
/ etc / sysconfig / scripts de rede / ifcfg-eth0
DEVICE="eth0"
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
# Enable DHCPv6-PD client.
DHCPV6C=yes
DHCPV6C_OPTIONS="-P -cf /etc/dhcp/dhclient6.conf"
# Disable make_resolv_conf function in /sbin/dhclient-script.
PEERDNS=no
/etc/dhcp/dhclient6.conf
script "/sbin/dhclient-script";
interface "eth0" {
send dhcp6.reconf-accept;
also request dhcp6.vendor-opts, dhcp6.sip-servers-names, dhcp6.sip-servers-addresses, dhcp6.sntp-servers;
}
Resultado
Após "# service network restart", o cliente DHCPv6-PD parece terminar com sucesso.
lease6 {
interface "eth0";
ia-pd xx:xx:xx:xx {
starts 1312464004;
renew 7200;
rebind 10800;
iaprefix 24xx:xxxx:xxxx::/48 {
starts 1312464004;
preferred-life 12600;
max-life 14400;
}
}
option dhcp6.client-id xx:xx:xx:xx:xx:xx:xx:xx:xx:xx;
option dhcp6.server-id xx:xx:xx:xx:xx:xx:xx:xx:xx:xx;
option dhcp6.reconf-accept ;
option dhcp6.sip-servers-addresses 24xx:xxxx:xxxx:xxxx::1;
option dhcp6.name-servers 24xx:xxxx:xxxx:xxxx::3,24xx:xxxx:xxxx:b::3;
option dhcp6.domain-search "xxx.jp.", "yyy.jp.";
option dhcp6.sntp-servers 24xx:xxxx:xxxx:xxxx::a,24xx:xxxx:xxxx:b::b;
}
Pergunta
O cliente DHCPv6-PD é delegado / 48 com prefixo. Mas depois disso,
- Como definir uma rota padrão do IPv6 na tabela de roteamento do roteador?
- Como atribuir um endereço IPv6 global e / sub-rede 64 a cada LAN I / F (eth1 e eth2) com base no prefixo delegado?
- Como acionar o radvd para anunciar o RA em cada LAN I / F (eth1 e eth2)?
- Como disparar o servidor DHCPv6 (dhcpd6) em cada LAN I / F para anunciar informações de rede adicionais (servidores de nomes, lista de pesquisa de domínio e endereços de servidores sip) recebidas do servidor DHCPv6 do ISP?
Meu palpite
De acordo com "$ man dhclient" e "$ man dhclient-script", o dhclient-script parece ser usado para configurar tais configurações, e oferece alguns ganchos. Mas agora, não faz nada para o cliente DHCPv6-PD.
Sim, posso ter que escrever alguns scripts adequados ao meu ambiente DHCPv6-PD, embora eu não esteja familiarizado com as configurações de rede IPv6. Alguém me avise as configurações acima em dhclient-script? [EDIT] Eu quero saber o prático script do dhclient.
E eu me preocupo, algumas considerações especiais devem ser tomadas. Por exemplo, como cada endereço IPv6 tem tempo de vida preferido / válido, quando atribuo um endereço IPv6 global a uma interface LAN com base no prefixo delegado, preciso atribuir não apenas um endereço IPv6, mas também suas vidas úteis, que devem ser derivadas do delegado vida útil preferida / válida do prefixo?
Além disso, o servidor radvd e o servidor DHCPv6 em interfaces LAN podem ter que ser reconfigurados quando ocorrer a reconfiguração do DHCPv6? Qual gancho deve ser usado?
[EDIT] Quando ocorre a reconfiguração do DHCPv6, como anunciar informações novas e obsoletas? radvd anunciar automaticamente o prefixo anterior é obsoleto? Servidor DHCPv6 anuncia automaticamente que os servidores de nomes anteriores estão obsoletos?