Мой интернет-провайдер только что запустил службу двойного стека IPv4 / IPv6. Для подключения к Интернету IPv4 / IPv6 почти все пользователи обычно используют CPE, арендованное провайдером. Но я хочу использовать свой Linux-маршрутизатор вместо такого CPE, потому что у моего маршрутизатора очень много ролей (множество правил iptables и 3 интерфейса Ethernet, обратный прокси http, кеш http, memcached, сервер smtp / pop и прокси DNS). Я хочу, чтобы это был маршрутизатор с двойным стеком IPv4 / IPv6.
Мой роутер
Моя цель
Моя текущая конфигурация
/ и т.д. / sysconfig / сеть
NETWORKING=yes
HOSTNAME=xxx.yyy.zzz
# Enable IPv6 routing and stop accept_ra/autoconf.
IPV6FORWARDING=yes
/ и т. д. / sysconfig / сетевые сценарии / 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;
}
Результат
После "# перезапуска сети обслуживания" клиент DHCPv6-PD, похоже, завершил работу успешно.
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;
}
Вопрос
Клиенту DHCPv6-PD успешно делегирован префикс / 48. Но после этого
Моя догадка
Согласно "$ man dhclient" и "$ man dhclient-script", dhclient-скрипт похоже, используется для настройки таких параметров и предлагает некоторые ловушки. Но теперь он ничего не делает для клиента DHCPv6-PD.
Да, мне, возможно, придется написать несколько сценариев, подходящих для моей среды DHCPv6-PD, хотя я не знаком с конфигурациями сети IPv6. Кто-нибудь сообщил мне о вышеуказанных настройках в dhclient-script? [РЕДАКТИРОВАТЬ] Я хочу знать практический сценарий dhclient.
И я беспокоюсь, что нужно уделить особое внимание. Например, поскольку каждый IPv6-адрес имеет предпочтительное / допустимое время жизни, когда я назначаю глобальный IPv6-адрес интерфейсу LAN на основе делегированного префикса, я должен назначить не только IPv6-адрес, но и время его жизни, которое должно быть получено из делегированного префикса. предпочтительное / допустимое время жизни префикса?
Кроме того, возможно, придется перенастроить сервер radvd и DHCPv6 на интерфейсах LAN, когда произойдет перенастройка DHCPv6? Какой крючок использовать?
[РЕДАКТИРОВАТЬ] Когда происходит повторная конфигурация DHCPv6, как объявлять как новую, так и устаревшую информацию? radvd автоматически объявляет, что предыдущий префикс устарел? Сервер DHCPv6 автоматически объявляет, что предыдущие name-серверы устарели?
Я не знаю ответа на ваш вопрос, но хочу предупредить вас об использовании адреса DHCP-сервера в качестве маршрутизатора по умолчанию. Если это сработает, то это случайно ... В IPv6 маршрут по умолчанию передается RA, а не DHCP.
Вам нужно будет включить пересылку, прием RA и отправку RS. Проблема здесь в том, что ядро, включенное в Centos6, не позволяет вам этого делать. Когда пересылка включена, прием RA и отправка RS отключены. Однако должно быть ядро CentosPlus с соответствующими патчами. См. Ветку / сообщение в списке рассылки по адресу http://lists.centos.org/pipermail/centos/2011-April/thread.html#109756
Соответствующие настройки sysctl.conf:
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.eth0.accept_ra=2
net.ipv6.conf.eth0.accept_ra_defrtr=1
net.ipv6.conf.eth0.router_solicitations=1
Я использую клиент WIDE DHCPv6, а не ISC, поэтому я не знаю, как это делать конкретно, но я ожидаю, что ISC имеет что-то эквивалентное этой опции конфигурации WIDE:
id-assoc pd {
prefix-interface eth0 {
sla-id 1;
sla-len 4;
};
};
По сути, вы указываете DHCP-клиенту, как назначать подсети внутренним интерфейсам; в приведенной выше конфигурации говорится: «Мне делегированы 4 бита префикса (sla-len 4
), возьмите первую доступную подсеть (sla-id 1
) и назначьте его eth0
(prefix-interface eth0
).
interface
строфы (есть хорошие примеры в radvd.conf
справочная страница для работы), и она будет просто работать.Wombie дал тот же ответ, который я использовал бы для настройки radv и маршрутизации. Inet6 предназначен для самостоятельной настройки без использования DHCP-сервера.
Я не использую DHCPv6, так как с ним могут работать radvd и zeroconf. radvd может быть настроен для предоставления серверов имен и может анонсировать серверы из /etc/resolv.conf. В новых версиях radvd также реализовано распределение списков поиска.
Я настроил avahi-daemon для распространения сервисов имен и серверов клиентам. Вам понадобятся клиенты, способные выполнять обнаружение служб. Я не проводил много тестов на обнаружение сервисов, так как использую сеть с двойным стеком по всем направлениям.