Мой провайдер только что запустил службу двойного стека IPv4 / IPv6. Для подключения к Интернету IPv4 / IPv6 почти все пользователи обычно используют CPE, арендованный Интернет-провайдером. Но я хочу использовать свой Linux-маршрутизатор вместо такого CPE, потому что у моего маршрутизатора очень много ролей (много правил iptables и 3 интерфейса Ethernet, обратный прокси-сервер http, кэш-память http, memcached, сервер smtp / pop и прокси-сервер DNS). Я хочу, чтобы это был маршрутизатор с двойным стеком IPv4 / IPv6.
Мой роутер
- CentOS6.0 i686
- eth0 для WAN
- eth1,2 для локальной сети
- ISC dhcp (версия 4.1.1), установленная "# yum install dhcp" из репозитория CentOS-обновлений
- Radvd (версия 1.6) устанавливается с помощью # yum install radvd из репозитория CentOS
- [РЕДАКТИРОВАТЬ] Причина, по которой я использую ISC dhclient, заключается в том, что мой маршрутизатор должен отправлять опцию DHCPv6 16 (класс Vendor) в своих сообщениях запроса и запроса, чтобы получить опцию информации о конкретном поставщике, которая включает некоторую информацию, специфичную для провайдера ( SIP номер телефона, адрес сервера прошивки). Я знаю, как установить опцию 16 в ISC dhclient, но не знаю его в WIDE-dhcpv6. И я не могу найти такие настройки как "id-assoc" в ISC dhclient.
Моя цель
- Префикс / 48 делегируется клиенту DHCPv6-PD (делегирование префикса DHCPv6) (dhclient) на eth0.
- Маршрут IPv6 по умолчанию установлен в направлении ISP. Я должен рассматривать локальный адрес сервера DHCPv6 ISP как маршрут по умолчанию.
- Одна подсеть / 64 и один глобальный адрес (которые находятся в делегированном префиксе) назначаются для каждого LAN I / F (eth1 / eth2).
- Radvd на eth1 и eth2 объявляет RA на основе назначенной / 64 подсети.
- dhcpd6 на eth1 и eth2 объявляет дополнительную сетевую информацию (серверы имен, список доменов и адреса sip-серверов), полученные от сервера DHCPv6 интернет-провайдера.
Моя текущая конфигурация
/ И т.д. / 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;
}
Результат
После "# service network restart" клиент 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 префикса. Но после этого
- Как установить маршрут по умолчанию IPv6 в таблице маршрутизации маршрутизатора?
- Как назначить глобальный IPv6-адрес и / 64 подсеть для каждого LAN I / F (eth1 и eth2) на основе делегированного префикса?
- Как запустить radvd для объявления RA на каждом LAN I / F (eth1 и eth2)?
- Как запустить сервер DHCPv6 (dhcpd6) в каждой локальной сети, чтобы объявить дополнительную сетевую информацию (серверы имен, список поиска домена и адреса sip-серверов), полученные от сервера DHCPv6 интернет-провайдера?
Моя догадка
Согласно "$ man dhclient" и "$ man dhclient-script", dhclient-script, кажется, используется для настройки таких параметров, и он предлагает некоторые ловушки. Но теперь он ничего не делает для клиента DHCPv6-PD.
Да, возможно, мне придется написать несколько сценариев, подходящих для моей среды DHCPv6-PD, хотя я не знаком с сетевыми конфигурациями IPv6. Кто-нибудь, дайте мне знать вышеуказанные настройки в dhclient-script? [РЕДАКТИРОВАТЬ] Я хочу знать практический сценарий dhclient.
И я волнуюсь, некоторые особые соображения должны быть приняты. Например, поскольку каждый IPv6-адрес имеет предпочтительное / действительное время жизни, когда я назначаю глобальный IPv6-адрес интерфейсу LAN на основе делегированного префикса, мне приходится назначать не только IPv6-адрес, но и его времена жизни, которые должны быть получены из делегированного префикса. предпочтительное / действительное время жизни префикса?
Кроме того, возможно, придется переконфигурировать radvd и сервер DHCPv6 на интерфейсах локальной сети, когда произойдет переконфигурация DHCPv6? Какой крючок следует использовать?
[EDIT] Когда происходит переконфигурация DHCPv6, как объявить как новую, так и устаревшую информацию? Radvd автоматически объявляет, что предыдущий префикс устарел? DHCPv6-сервер автоматически объявляет предыдущие сервера имен устаревшими?
Я использую WIDE DHCPv6-клиент, а не ISC, поэтому я не знаю, как это сделать конкретно, но я ожидаю, что ISC имеет что-то эквивалентное этой опции конфигурации WIDE:
По сути, вы говорите клиенту 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 для распространения служб имен и серверов для клиентов. Вам понадобятся клиенты, способные сделать обнаружение сервиса. Я не провел большого тестирования обнаружения сервисов, поскольку управлял сетью с двумя стеками по всем направлениям.
источник