Mi ISP acaba de iniciar el servicio de doble pila IPv4 / IPv6. Para conectarse a Internet IPv4 / IPv6, casi todos los usuarios suelen usar un CPE arrendado por el ISP. Pero quiero usar mi enrutador Linux en lugar de dicho CPE, porque mi enrutador tiene muchas funciones (muchas reglas de iptables y 3 interfaces Ethernet, proxy inverso http, caché http, memcached, servidor smtp / pop y proxy DNS). Quiero dejar que sea un enrutador de doble pila IPv4 / IPv6.
Mi enrutador
- CentOS6.0 i686
- eth0 para WAN
- eth1,2 para LAN
- ISC dhcp (versión 4.1.1) instalado por "# yum install dhcp" del repositorio de actualizaciones de CentOS
- radvd (versión 1.6) instalado por "# yum install radvd" del repositorio CentOS-base
- [EDITAR] La razón por la que uso el cliente ISC es que mi enrutador tiene que enviar una opción 16 de DHCPv6 (clase de proveedor) en sus mensajes de solicitud y solicitud, a fin de obtener la opción de información específica del proveedor que incluye información específica del ISP ( Número de teléfono SIP, dirección del servidor de firmware). Sé cómo configurar la opción 16 en ISC dhclient, pero no lo sé en WIDE-dhcpv6. Y no puedo encontrar configuraciones como "id-assoc" en ISC dhclient.
Mi meta
- El prefijo / 48 se delega al cliente DHCPv6-PD (Delegación de prefijo DHCPv6) (dhclient) en eth0.
- Se establece una ruta predeterminada de IPv6 hacia ISP. Tengo que considerar la dirección local de enlace del servidor DHCPv6 del ISP como una ruta predeterminada.
- Se asignan una subred / 64 y una dirección global (que se encuentran en el prefijo delegado) a cada LAN I / F (eth1 / eth2).
- radvd en eth1 y eth2 anuncia RA basado en la subred / 64 asignada.
- dhcpd6 en eth1 y eth2 anuncia información de red adicional (servidores de nombres, lista de búsqueda de dominios y direcciones de servidores sip) recibida del servidor DHCPv6 del ISP.
Mi configuracion actual
/ 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;
}
Resultado
Después de "# reinicio de la red de servicio", el cliente DHCPv6-PD parece finalizar correctamente.
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;
}
Pregunta
El cliente DHCPv6-PD se delega / 48 prefijo con éxito. Pero después de eso,
- ¿Cómo establecer una ruta predeterminada de IPv6 en la tabla de enrutamiento del enrutador?
- ¿Cómo asignar una dirección IPv6 global y / 64 subred a cada LAN I / F (eth1 y eth2) en función del prefijo delegado?
- ¿Cómo activar radvd para anunciar RA en cada LAN I / F (eth1 y eth2)?
- ¿Cómo activar el servidor DHCPv6 (dhcpd6) en cada LAN I / F para anunciar información adicional de la red (servidores de nombres, lista de búsqueda de dominios y direcciones de servidores sip) recibidas del servidor DHCPv6 del ISP?
Mi conjetura
De acuerdo con "$ man dhclient" y "$ man dhclient-script", parece que dhclient-script se usa para configurar dichos ajustes, y ofrece algunos ganchos. Pero ahora, no hace nada para el cliente DHCPv6-PD.
Sí, es posible que tenga que escribir algunos scripts adecuados para mi entorno DHCPv6-PD, aunque no estoy familiarizado con las configuraciones de red IPv6. ¿Alguien me dejó saber la configuración anterior en dhclient-script? [EDITAR] Quiero saber la práctica dhclient-script.
Y me preocupa, se debe tomar alguna consideración especial. Por ejemplo, debido a que cada dirección IPv6 tiene una vida útil preferida / válida, cuando asigno una dirección IPv6 global a una interfaz LAN basada en el prefijo delegado, tengo que asignar no solo una dirección IPv6 sino también su vida útil que debe derivarse de la delegada vida útil preferida / válida del prefijo?
Además, ¿pueden tener que reconfigurar el servidor radvd y el servidor DHCPv6 en las interfaces LAN cuando ocurre la reconfiguración de DHCPv6? ¿Qué gancho se debe usar?
[EDITAR] Cuando ocurre la reconfiguración de DHCPv6, ¿cómo anunciar información nueva y obsoleta? ¿Radvd anuncia automáticamente que el prefijo anterior es obsoleto? ¿El servidor DHCPv6 anuncia automáticamente que los servidores de nombres anteriores son obsoletos?
Uso el cliente WIDE DHCPv6, en lugar de ISC, por lo que no sé cómo hacerlo específicamente, pero espero que ISC tenga algo equivalente a esta opción de configuración WIDE:
Básicamente, le dice al cliente DHCP cómo asignar subredes a las interfaces internas; la configuración anterior dice "Me delegan 4 bits de prefijo (
sla-len 4
), tomo la primera subred disponible (sla-id 1
) y la asigno aeth0
(prefix-interface eth0
).interface
estrofas apropiadas (hay buenos ejemplos en laradvd.conf
página del manual para trabajar), y simplemente funcionará.fuente
Wombie ha dado la misma respuesta que usaría para configurar radv y enrutamiento. Inet6 está diseñado para autoconfigurarse sin la necesidad de un servidor DHCP.
No uso DHCPv6, ya que puede ser manejado por radvd y zeroconf. radvd se puede configurar para suministrar servidores de nombres y puede anunciar servidores desde /etc/resolv.conf. Las nuevas versiones de radvd también han implementado la distribución de listas de búsqueda.
Configuré avahi-daemon para distribuir servicios de nombres y servidores a los clientes. Necesitará que los clientes puedan hacer el descubrimiento del servicio. No he hecho muchas pruebas de descubrimiento de servicios, ya que ejecuto una red de doble pila en todos los ámbitos.
fuente