Как развернуть IPv6 в локальной сети с помощью маршрутизатора на основе Debian и делегирования префиксов?

мой провайдер начал использовать DHCPv6, что означает с этим /и т. д./сети/интерфейсов...

auto lo eth0 eth1

iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static
    address 192.168.0.1
    netmask 255.255.255.0

allow-hotplug eth1
iface eth1 inet dhcp
iface eth1 inet6 dhcp

... мой маршрутизатор Debian Wheezy наконец-то получает IPv6-адрес (yay!).

но что мне нужно сделать, чтобы маршрутизатор назначил IPv6-адреса всем рабочим станциям в локальной сети?

С IPv4 все, что мне нужно было сделать, это включить DHCP-клиент на интерфейсе WAN, назначить статические IPv4-адреса маршрутизатору и рабочие станции и, наконец, настроить NAT (я использовал iptables -t nat -a POSTROUTING -s 192.168.0.0/32 ! -d 192.168.0.0/32 -j MASQUERADE для этого).

С IPv6 нет NAT. Я заглянул в radvd и isc-dhcp-server, но оба, кажется, требуют набора префиксов в своих файлах конфигурации (т. е. префикс, который не изменяется). Мой провайдер, однако, кажется, предоставляет мне новый префикс каждый раз, когда я подключаюсь.

Я действительно потерял.

24
задан Dubu
08.04.2023 3:43 Количество просмотров материала 2613
Распечатать страницу

2 ответа

вы не сказали, кто ваш провайдер был, но следующие работы на Comcast в областях, где они выкатили IPv6.

Я должен был использовать wide-dhcpv6-client, так как ни один из других клиентов DHCPv6 не мог обрабатывать все получение адреса для интерфейса, обращенного к провайдеру, делегирования префиксов и максимальной /60 сетевой маски Comcast одновременно.

после установки wide-dhcpv6-client, отредактируйте/etc/network / interfaces, чтобы ваши настройки eth1 IPv6 выглядели так это:

iface eth1 inet6 auto
        post-up sysctl -w net.ipv6.conf.ext0.accept_ra=2

Edit/etc/wide-dhcpv6 / dhcp6c.conf так выглядит:

profile default
{
  information-only;

  request domain-name-servers;
  request domain-name;

  script "/etc/wide-dhcpv6/dhcp6c-script";
};

interface eth1 {
    send rapid-commit;

    send ia-na 0;
    send ia-pd 0;
};

id-assoc na 0 {

};

id-assoc pd 0 {
    prefix ::/60 infinity;

    # Internal interface (LAN)
    prefix-interface eth0 {
        sla-len 4;
        sla-id 0;
        ifid 1;
    };
};

раздел "na" получает адрес IPv6 для eth1 (лицом к провайдеру). Раздел " pd "получает делегирование префикса для вашей внутренней сети и назначит адрес IPv6" [prefix]::1 " eth0 (ваш внутренний интерфейс). Если у вас есть дополнительные внутренние сети, можно добавить дополнительные разделы "prefix-interface" для тех интерфейсов и инкрементировать "sla-id" для каждого один.

тогда вам нужен маршрутизатор демон на системы внутренней сети. Можно использовать radvd или dnsmasq.

Если вы используете dnsmasq, необходимые дополнения к /etc / dnsmasq.conf для IPv6

# Enable IPv6 Router Advertisement (RA) features.
enable-ra

# Advertise delegated prefix based on the IPv6 address of eth0.
dhcp-range = ::1,constructor:eth0,   ra-stateless, ra-names, 4h

вам нужно установить dnsmasq из Debian testing, так как версия, поставляемая с Debian wheezy, не делает рекламу маршрутизатора должным образом.

затем ifdown и ifup ваш внешний интерфейс, убедитесь, что dhcp6c работает, и посмотреть, если ваш внешний и внутренний интерфейс имеют IPv6-адреса, отличные от link-local из них ("fe80::..." адреса.) Если все это сработало, перезапустите dnsmasq, и системы в локальной сети начнут автоматически настраивать IPv6-адреса для себя.

10
отвечен Michael Berg 2023-04-09 11:31

Если вы хотите заменить свой Debian на OpenWRT, затем все настраивается автоматически - последние версии OpenWRT будут запрашивать делегирование префикса DHCPv6 на интерфейсе Wan, вырезать его в /64 бита и использовать их для своих интерфейсов LAN с помощью RA и DHCPv6. Никакая конфигурация не необходима, все из этого настроено из коробки.

Если у вас есть несколько маршрутизаторов в сети, вы можете поэкспериментировать с их автоматической настройкой с помощью Homenet набор протоколов. Homenet реализован для OpenWRT с помощью hnetd, а для Linux используется shncpd. (Интеграция shncpd в Debian идет постоянная работа, нам нужна ваша помощь.)

0
отвечен jch 2023-04-09 13:48

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх