Il mio ISP ha appena avviato il servizio dual stack IPv4 / IPv6. Per connettersi a Internet IPv4 / IPv6, quasi tutti gli utenti di solito usano un CPE noleggiato dall'ISP. Ma voglio usare il mio router Linux invece di tale CPE, perché il mio router ha tanti ruoli (molte regole iptables e 3 interfacce Ethernet, proxy inverso http, cache http, memcached, server smtp / pop e proxy DNS). Voglio lasciarlo essere un router dual stack IPv4 / IPv6.
Il mio router
- CentOS6.0 i686
- eth0 per WAN
- eth1,2 per LAN
- ISC dhcp (versione 4.1.1) installato da "# yum install dhcp" dal repository di aggiornamenti CentOS
- radvd (versione 1.6) installato da "# yum install radvd" dal repository CentOS-base
- [EDIT] Il motivo per cui utilizzo ISC dhclient è che il mio router deve inviare un'opzione DHCPv6 16 (classe del fornitore) nei suoi messaggi di sollecitazione e richiesta, al fine di ottenere l'opzione di informazioni specifiche del fornitore che include alcune informazioni specifiche dell'ISP ( Numero di telefono SIP, indirizzo del server del firmware). So come impostare l'opzione 16 in dhclient ISC, ma non lo so in WIDE-dhcpv6. E non riesco a trovare impostazioni come "id-assoc" in ISC dhclient.
Il mio obiettivo
- Il prefisso / 48 è delegato al client DHCPv6-PD (Delega prefisso DHCPv6) (dhclient) su eth0.
- Una route predefinita IPv6 è impostata su ISP. Devo considerare l'indirizzo locale di collegamento del server DHCPv6 dell'ISP come una route predefinita.
- Una sottorete / 64 e un indirizzo globale (che si trovano nel prefisso delegato) sono assegnati a ciascun I / F LAN (eth1 / eth2).
- radvd su eth1 e eth2 annuncia RA in base alla sottorete / 64 assegnata.
- dhcpd6 su eth1 ed eth2 annuncia ulteriori informazioni di rete (server dei nomi, elenco di ricerca dominio e indirizzi di server sip) ricevute dal server DHCPv6 dell'ISP.
La mia configurazione attuale
/ Etc / sysconfig / network
NETWORKING=yes
HOSTNAME=xxx.yyy.zzz
# Enable IPv6 routing and stop accept_ra/autoconf.
IPV6FORWARDING=yes
/ Etc / sysconfig / network-scripts / 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;
}
Risultato
Dopo il "riavvio della rete # service", il client DHCPv6-PD sembra terminato correttamente.
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;
}
Domanda
Il client DHCPv6-PD è delegato / prefisso 48 correttamente. Ma dopo ciò,
- Come impostare una route predefinita IPv6 nella tabella di routing del router?
- Come assegnare un indirizzo IPv6 globale e / 64 sottorete a ciascun I / F LAN (eth1 ed eth2) in base al prefisso delegato?
- Come attivare radvd per annunciare RA su ogni I / F LAN (eth1 ed eth2)?
- Come attivare il server DHCPv6 (dhcpd6) su ogni I / F LAN per annunciare ulteriori informazioni di rete (server dei nomi, elenco di ricerca dominio e indirizzi di server sip) ricevute dal server DHCPv6 dell'ISP?
La mia ipotesi
Secondo "$ man dhclient" e "$ man dhclient-script", dhclient-script sembra essere usato per configurare tali impostazioni e offre alcuni hook. Ma ora non fa nulla per il client DHCPv6-PD.
Sì, potrebbe essere necessario scrivere alcuni script adatti al mio ambiente DHCPv6-PD, anche se non ho familiarità con le configurazioni di rete IPv6. Qualcuno mi ha fatto conoscere le impostazioni di cui sopra in dhclient-script? [EDIT] Voglio conoscere la pratica sceneggiatura dhclient.
E mi preoccupo, dovrebbe essere presa qualche considerazione speciale. Ad esempio, poiché ogni indirizzo IPv6 ha una durata preferita / valida, quando assegno un indirizzo IPv6 globale a un'interfaccia LAN basata sul prefisso delegato, devo assegnare non solo un indirizzo IPv6 ma anche i suoi tempi di vita che devono essere derivati dal delegato durata preferita / valida del prefisso?
Inoltre, potrebbe essere necessario riconfigurare il server radvd e DHCPv6 su interfacce LAN quando si verifica la riconfigurazione di DHCPv6? Quale gancio dovrebbe essere usato?
[EDIT] Quando si verifica la riconfigurazione di DHCPv6, come annunciare informazioni nuove e obsolete? radvd annuncia automaticamente che il prefisso precedente è obsoleto? Il server DHCPv6 annuncia automaticamente che i precedenti server dei nomi sono obsoleti?