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?
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:
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ą doeth0
(prefix-interface eth0
).interface
zwrotkami (naradvd.conf
stronie podręcznika są dobre przykłady do pracy), a to po prostu zadziała.źródło
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.
źródło