Jak skonfigurować podsieć radvd, dhcpd6, routing i / 64 na podstawie delegowanego prefiksu przez serwer DHCPv6-PD?


10

Mój dostawca usług internetowych właśnie uruchomił usługę podwójnego stosu IPv4 / IPv6. Aby połączyć się z Internetem IPv4 / IPv6, prawie wszyscy użytkownicy zwykle korzystają z CPE dzierżawionego przez dostawcę usług internetowych. Ale chcę używać mojego routera Linux zamiast takiego CPE, ponieważ mój router ma tak wiele ról (wiele reguł iptables i 3 interfejsy Ethernet, odwrotne proxy http, http cache, memcached, serwer smtp / pop i proxy DNS). Chcę, aby był to router z dwoma stosami IPv4 / IPv6.

Mój router

  • CentOS6.0 i686
  • eth0 dla WAN
  • eth1,2 dla LAN
  • ISC dhcp (wersja 4.1.1) zainstalowany przez „# yum install dhcp” z repozytorium aktualizacji CentOS
  • radvd (wersja 1.6) zainstalowany przez „# yum install radvd” z repozytorium CentOS-base
  • [EDYCJA] Powodem, dla którego używam ISC dhclient jest to, że mój router musi wysyłać opcję DHCPv6 16 (klasa dostawcy) w swoich żądaniach i żądaniach, aby uzyskać opcję informacji specyficznych dla dostawcy, która zawiera pewne informacje specyficzne dla dostawcy usług internetowych ( Numer telefonu SIP, adres serwera oprogramowania układowego). Wiem, jak ustawić opcję 16 w ISC dhclient, ale nie znam tego w WIDE-dhcpv6. I nie mogę znaleźć takich ustawień jak „id-assoc” w ISC dhclient.

Mój cel

  • Prefiks / 48 jest delegowany do klienta DHCPv6-PD (Delegowanie prefiksu DHCPv6) (dhclient) na eth0.
  • Domyślna trasa IPv6 jest ustawiona na ISP. Muszę rozważyć adres lokalny łącza DHCPv6 serwera ISP jako domyślną trasę.
  • Jedna podsieć / 64 i jeden adres globalny (które są w delegowanym prefiksie) są przypisane do każdego LAN I / F (eth1 / eth2).
  • radvd na eth1 i eth2 ogłasza RA na podstawie przypisanej podsieci / 64.
  • dhcpd6 na eth1 i eth2 ogłasza dodatkowe informacje o sieci (serwery nazw, lista wyszukiwania domen i adresy serwerów sip) otrzymane z serwera DHCPv6 ISP.

Moja obecna konfiguracja

/ 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;
}

Wynik

Po „# zrestartowaniu sieci serwisowej” klient DHCPv6-PD wydaje się kończyć pomyślnie.

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;
}

Pytanie

Klient DHCPv6-PD został pomyślnie delegowany / 48 prefiksów. Ale potem

  • Jak ustawić domyślną trasę IPv6 w tabeli routingu routera?
  • Jak przypisać globalny adres IPv6 i podsieć / 64 do każdego LAN I / F (eth1 i eth2) na podstawie delegowanego prefiksu?
  • Jak uruchomić radvd, aby ogłosić RA na każdym LAN I / F (eth1 i eth2)?
  • Jak uruchomić serwer DHCPv6 (dhcpd6) na każdym LAN I / F, aby ogłosić dodatkowe informacje o sieci (serwery nazw, lista wyszukiwania domen i adresy serwerów sip) otrzymane z serwera DHCPv6 ISP?

Zgaduję że

Według „$ man dhclient” i „$ man dhclient-script”, skrypt dhclient wydaje się być używany do konfigurowania takich ustawień i oferuje pewne haki. Ale teraz nic nie robi dla klienta DHCPv6-PD.

Tak, być może będę musiał napisać kilka skryptów odpowiednich dla mojego środowiska DHCPv6-PD, chociaż nie znam konfiguracji sieci IPv6. Czy ktoś dał mi znać powyższe ustawienia w skrypcie dhclient? [EDYCJA] Chcę poznać praktyczny skrypt dhclient.

I martwię się, należy zwrócić szczególną uwagę. Na przykład, ponieważ każdy adres IPv6 ma preferowany / prawidłowy czas życia, kiedy przypisuję globalny adres IPv6 do interfejsu LAN na podstawie delegowanego prefiksu, muszę przypisać nie tylko adres IPv6, ale także jego czasy życia, które muszą pochodzić z przekazanego preferowane / ważne czasy życia prefiksu?

Czy może zajść potrzeba ponownej konfiguracji serwera radvd i DHCPv6 w interfejsach LAN, gdy nastąpi ponowna konfiguracja DHCPv6? Którego haka należy użyć?

[EDYCJA] Kiedy nastąpi ponowna konfiguracja DHCPv6, jak ogłosić zarówno nowe, jak i nieaktualne informacje? radvd automatycznie ogłasza, że ​​poprzedni prefiks jest nieaktualny? Serwer DHCPv6 automatycznie ogłasza, że ​​poprzednie serwery nazw są przestarzałe?

Odpowiedzi:


4

Nie znam odpowiedzi na twoje pytanie, ale chcę cię tylko ostrzec przed użyciem adresu serwera DHCP jako routera domyślnego. Jeśli to zadziała, jest to przypadek ... W IPv6 domyślna trasa jest komunikowana przez RA, a nie przez DHCP.

Musisz włączyć przekazywanie, przyjmowanie RA i wysyłanie RS. Problem polega na tym, że jądro zawarte w Centos6 nie pozwala na to. Gdy przekazywanie jest włączone, akceptowanie RA i wysyłanie RS jest wyłączone. Powinno być jednak jądro CentosPlus z odpowiednimi łatkami. Zobacz wątek / wiadomość na liście mailingowej pod adresem http://lists.centos.org/pipermail/centos/2011-April/thread.html#109756

Odpowiednie ustawienia sysctl.conf to:

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

2
W rzeczywistości chcesz, aby parametr accept_ra wynosił 2 (akceptuj, nawet jeśli routing jest włączony). W przeciwnym razie jądro ignoruje je na routerze.
Kyle Butt,

2
  • Domyślna trasa IPv6 powinna zostać skonfigurowana przez cokolwiek, co uzyskało domyślne (wstępne) połączenie internetowe, przed użyciem DHCPv6 PD do uzyskania dodatkowych podsieci. Nie wspomniałeś, jak faktycznie łączysz się w górę, więc nie mogę ci pomóc.
  • Używam klienta WIDE DHCPv6 zamiast ISC, więc nie wiem, jak to zrobić konkretnie, ale oczekuję, że ISC ma coś równoważnego z tą opcją konfiguracji WIDE:

    id-assoc pd {
        prefix-interface eth0 {
            sla-id 1;
            sla-len 4;
        };
    };
    

    Zasadniczo mówisz klientowi DHCP, jak przypisywać podsieci do interfejsów wewnętrznych; powyższa konfiguracja mówi: „Dostaję 4 bity prefiksu do mnie ( sla-len 4), weź pierwszą dostępną podsieć ( sla-id 1) i przypisz ją do eth0( prefix-interface eth0).

  • Skonfiguruj radvd z odpowiednimi interfacezwrotkami (na radvd.confstronie podręcznika są dobre przykłady do pracy), a to po prostu zadziała.
  • Nie mogę ci tam pomóc; poza testowaniem nie korzystam z usługi DHCPv6 (wszystkie informacje o DHCP otrzymuję z serwera DHCP).

Dzięki za odpowiedź. 1. Jak podłączyć się do źródła danych, wystarczy podłączyć kabel Ethernet do FTTH GE-PON. W tej chwili nie ma sposobu, aby określić domyślną trasę IPv6 przez DHCPv6, muszę rozważyć lokalny adres serwera DHCPv6 jako domyślną trasę.
takaomag

2. Chociaż nie wspomniałem, powodem, dla którego używam ISC dhclient jest to, że mój router musi wysyłać opcję DHCPv6 16 (klasa dostawcy) w swoich komunikatach żądania i żądania, aby uzyskać opcję informacji specyficznych dla dostawcy, która zawiera niektóre Informacje specyficzne dla dostawcy usług internetowych (numer telefonu SIP, adres serwera oprogramowania układowego). Wiem, jak ustawić opcję 16 w ISC dhclient, ale nie znam tego w WIDE-dhcpv6. I nie mogę znaleźć takich ustawień jak „id-assoc” w ISC dhclient.
takaomag

2
3,4 Mogę być w stanie napisać słabe skrypty do budowy radvd.conf i dhcpd6.conf na podstawie informacji (Prefiks itp.) Z serwera DHCPv6. Ale kiedy nastąpi ponowna konfiguracja DHCPv6, jak ogłosić zarówno nowe, jak i nieaktualne informacje? radvd automatycznie ogłasza, że ​​poprzedni prefiks jest nieaktualny? Serwer DHCPv6 automatycznie ogłasza, że ​​poprzednie serwery nazw są przestarzałe?
takaomag

W każdym razie chcę poznać praktyczny skrypt dhclient.
takaomag

Nie dodawaj wszystkich tych informacji w komentarzach do odpowiedzi; dodaj to do swojego pytania .
womble

-1

Wombie podał tę samą odpowiedź, której użyłbym do konfiguracji radv i routingu. Inet6 został zaprojektowany do samodzielnej konfiguracji bez potrzeby używania serwera DHCP.

Nie używam DHCPv6, ponieważ może być obsługiwany przez radvd i zeroconf. radvd może być skonfigurowany do dostarczania serwerów nazw i może reklamować serwery z /etc/resolv.conf. Nowe wersje radvd wprowadziły również dystrybucję list wyszukiwania.

Skonfigurowałem avahi-demona do dystrybucji usług nazw i serwerów wśród klientów. Będziesz potrzebować klientów, którzy będą w stanie przeprowadzić wykrywanie usług. Nie przeprowadziłem wiele testów wykrywania usług, ponieważ prowadzę sieć z dwoma stosami w całym systemie.


Nawet bez względu na to, czy korzystam z serwera DHCPv6, czy radvd, muszę napisać kilka skryptów, które dynamicznie konstruują dhcpd6.conf lub radvd.conf na podstawie informacji (Prefiks itp.) Z serwera DHCPv6. Ale kiedy nastąpi ponowna konfiguracja DHCPv6, jak ogłosić nowe i nieaktualne informacje hostom po stronie sieci LAN? Jeśli konstruuję nowy plik dhcpd6.conf lub radvd.conf dynamicznie w oparciu o nowe informacje z serwera DHCPv6, czy radvd automatycznie ogłasza, że ​​poprzedni prefiks jest nieaktualny? Serwer DHCPv6 automatycznie ogłasza, że ​​poprzednie serwery nazw są przestarzałe?
takaomag,

radvd może używać prefiksu :: / 64, aby automatycznie pobierać swoje adresy z interfejsu. Nie musisz przepisywać konfiguracji. Serwery DNS i lista wyszukiwania powinny być danymi statycznymi. Automatyczna konfiguracja IPv6 została zaprojektowana do obsługi migrowanych adresów. Nie wiem, jak dobrze twój dostawca usług internetowych obsługuje przejście. Nie spojrzałem na DHCPv6.
BillThor,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.