IPv6 router útmutató

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page IPv6 router guide and the translation is 100% complete.


Ez az útmutató részleteket tartalmaz az IPv6 útválasztás beállításáról a Gentoo Linux operációs rendszeren.

Telepítés

Kernel

Bármely v2.6.0 verziójú kernel vagy annak újabb verziója támogatja az IPv6 protokollt.

root #emerge --ask sys-kernel/gentoo-sources
KERNEL Required IPv6 options
[*] Networking support --->
    Networking options --->
        <M> The IPv6 protocol --->

Emerge

root #emerge --ask sys-apps/iproute2
root #emerge --ask net-misc/radvd
Tip
Az ipv6 USE változót egyes szoftvercsomagok esetében engedélyezni kell, és hozzáadható a /etc/portage/make.conf fájlhoz.

További szoftverek

Néhány szoftvercsomag kifejezetten az IPv6 elemek kezelésére szolgál. Ezek többsége a net-misc szoftvercsomag-kategóriában található.

Szoftvercsomag Leírás
net-misc/radvd Router hirdetése szolgáltatás.
net-misc/dhcpd ISC DHCP szerver, DHCPv4 és DHCPv6 képesség.
net-misc/dibbler DHCPv6 szerver
net-misc/ipv6calc IPv6 cím tömör formátumba történő átalakítása.
dev-perl/Socket6 A C socket.h IPv6 protokollhoz kapcsolódó része meghatározásokat és struktúramanipulátorokat tartalmaz.

IPv6 állapotának megerősítése

Ha az IPv6 engedélyezve van, akkor a loopback eszköznek meg kell jelenítenie egy IPv6 címet.

root #ip -6 addr show lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever

Beállítás

Cím és előtag megszerzése

A dhcpcd használható egyetlen, kizárólag a host számítógépnek szánt, /128 IPv6 cím megszerzésére a WAN interfész számára, valamint egy /64 IPv6 előtag létrehozására a LAN interfész számára.

FILE /etc/dhcpcd.confEgy IPv6 előtag kérése az eth0.lan és eth0.management számára, hogy nyilvánosan irányítható legyen az eth0.wan segítségével
# Letiltja az útválasztó kérelmeket minden felületen, és csak a kiválasztottakon engedélyezi a noipv6rs -t.
 
# WAN VLAN interfész beállítása az eth0 interfészen.
interface eth0.wan
  # Engedélyezi az útválasztó kérelmet ezen az interfészen.
  ipv6rs
  # Normál cím kérése az iaid 1 használatával az eth0.wan interfészhez.
  ia_na 1
  # Előtag kérése az iaid 2 használatával, és hozzárendelése az eth0.lan interfészhez az sla_id 0 és 64-es előtagméret használatával.
  ia_pd 2 eth0.lan/0/64
See also
Dhcpcd
Warning
Az RFC 6177 alig tekinthető ajánlásnak a lakossági internetszolgáltatók számára, ezért az előtagdelegálás nem biztos, hogy működik.

Továbbítás (forwarding) engedélyezése

Az IPv6 csomagtovábbítást engedélyezni kell a kernelben, mielőtt egy rendszer útválasztóként működhetne. Ez a sysctl használatával megvalósítható:

root #sysctl -w net.ipv6.conf.all.forwarding=1
Important
A később használt radvd inicializáló szkript engedélyezi (és letiltja) a továbbítást (a forwargingot), így a következő lépés felesleges.

Az IPv6-címek kliensekhez való hozzárendeléséhez az IPv6-specifikáció mindkét (az állapot nélküli és állapottartó ip-hozzárendelési) metódust lehetővé teszi. Az IPv6 állapot nélküli cím automatikus beállítása egy útválasztó hirdetésnek (Router Advertisement) nevezett folyamatot használ, és lehetővé teszi a kliensek számára, hogy egy interfész egyszerű előhívásával megkapják az IP-címet és az alapértelmezett útvonalat. "Stateless" -nek nevezik, mert nincs rekord a hozzárendelt IP-kről és a hozzárendelt host számítógépről. Az állapotalapú hozzárendelést a dhcpv6 kezeli. "Stateful"-t jelentő, mert a szerver megőrzi az IP-t kérő és azokat fogadó kliensek állapotát.

Note
Az IPv6 Stateless Address Autoconfiguration beállítja az IP-útválasztást és a kapcsolódást, míg a DHCPv6 szükséges az IPv6 címek kiosztásához, valamint olyan információk biztosításához, mint a DNS-szerverek.

Állapot nélküli (stateless) beállítás

Az állapot nélküli beállítás egyszerűen megvalósítható a Router Advertisement Daemon, vagyis radvd használatával:

A /etc/radvd.conf fájl a radvd beállítására szolgál, és alapértelmezés szerint nincs létrehozva. Ha az IPv6 előtag beállítása üresen marad, akkor a már hozzárendelt vagy beállított IPv6 előtag kerül felhasználásra.

FILE /etc/radvd.confÚtválasztó hirdetési (Router Advertisement, RA) beállítás az eth0.lan interfészhez
interface eth0.lan
{
        # Engedélyezi a hirdetések küldését ezen az interfészen.
        AdvSendAdvert on;
        # Beállítja a Managed zászlót, lehetővé téve a DHCPv6 használatát (opcionális).
        AdvManagedFlag on;
        # Meghatározza az előtag-specifikus beállításokat a hozzárendelt előtag alapján.
        prefix ::/64
        {
                # Hirdetés küldése, amikor ez a kapcsolat aktívvá válik.
                AdvOnLink on;
                # Hirdesse az RFC 4862 szabvány megfelelőségét.
                AdvAutonomous on;
        };
};
Important
Az útválasztó hirdetések (Router Advertisements, RA) időszakosan elküldésre kerülnek az eth0.lan interfészen az összes csomópont multicast címére, egy LAN-hoz csatlakoztatott interfész használatával.
Tip
További információ elérhető a man radvd.conf dokumentációban.

Stateful beállítás

Warning
A Dibbler projekt lezárult.

Az stateful beállítás érdekében telepítse a net-misc/dibbler szoftvercsomagot.

root #emerge --ask dibbler

Állítsa be a Dibbler klienst a /etc/dibbler/client.conf fájl szerkesztésével.

CODE Példa a dibbler kliens beállítására
iface ppp0 {
	rapid-commit yes
	pd
	option dns-server
}

Most már indítsa el a dibbler klienst, és állítsa be úgy, hogy a bootoláskor elinduljon:

root #/etc/init.d/dibbler-client start
root #rc-update add dibbler-client default

Szolgáltatás

OpenRC

A radvd elindításához és az automatikus indítás beállításához:

root #/etc/init.d/radvd start
root #rc-update add radvd default

DNS beállítása

IPv6 és DNS

Ahogyan a DNS az IPv4 esetén A rekordokat használ, úgy az IPv6 esetén AAAA rekordokat alkalmaz. (Ez azért van, mert az IPv4 címterülete 2^32, míg az IPv6 címterülete 2^128.) A fordított DNS (reverse DNS) esetében az INT szabvány elavult, de még mindig széles körben támogatott. Az ARPA a legújabb szabvány. Az ARPA formátum támogatását itt ismertetjük.

BIND beállítása

A BIND legújabb verziói kiváló IPv6 támogatást tartalmaznak. Ez a szakasz legalább minimális ismereteket feltételez a BIND beállításáról és használatáról. Feltételezzük, hogy a BIND nem egy chroot környezetben fut. Ha ez a feltételezés téves, akkor egyszerűen adja hozzá a chroot előtagot a következő szakaszban szereplő legtöbb elérési úthoz.

Először adja hozzá a bejegyzéseket mind az forward, mind a reverse DNS zónafájlokhoz a /etc/bind/named.conf fájlban.

FILE /etc/bind/named.confA named.conf fájl bejegyzései
## (Engedélyezzük, hogy a BIND figyelje az IPv6 címeket.
## Az 'any' használata az egyetlen módja ennek a bind-9.3 előtti verziókban.)
options {
    [...]
    listen-on-v6 { any; }
    [...]
};
## (Ez biztosítja az forward DNS-t az 'ipv6-rules.com' domén számára:)
zone "ipv6-rules.com" IN {
    type master;
    file "pri/ipv6-rules.com";
};
## (Ez a formátum a reverse DNS-hez "bitwise". Az IPv6 előtagot vesszük,
## megfordítjuk a számok sorrendjét, és minden szám közé pontot helyezünk.) 
zone "6.9.2.0.0.0.f.1.0.7.4.0.1.0.0.2.ip6.arpa" {
        type master;
        file "pri/rev-ipv6-rules.com.arpa";
};

Mostantól minden host számítógéphez hozzá kell adni a zónafájlokat és bejegyzéseket:

FILE /etc/bind/pri/ipv6-rules.com
$TTL    2h
@       IN      SOA     ipv6-rules.com. webmaster.ipv6-rules.com.  (
                                2003052501 ; Serial
                                28800      ; Refresh
                                14400      ; Retry
                                3600000    ; Expire
                                86400 )    ; Minimum
                NS      ns1.ipv6-rules.com
 
IN      AAAA    2001:470:1f00:296::1 ; address for ipv6-rules.com
host1   IN      AAAA    2001:470:1f00:296::2 ; address for host1.ipv6-rules.com
host2   IN      AAAA    2001:470:1f00:296::3:3 ; address for host2.ipv6-rules.com
FILE /etc/bind/pri/ipv6-rules.com.arpa
$TTL 3d ; Default TTL (bind 8 needs this, bind 9 ignores it)
@       IN SOA ipv6-rules.com. webmaster.ipv6-rules.com. (
                        2003052501      ; Serial number (YYYYMMdd)
                        24h             ; Refresh time
                        30m             ; Retry time
                        2d              ; Expire time
                        3d )            ; Default TTL
        IN      NS     ns1.ipv6-rules.com.
; IPv6 PTR entries
$ORIGIN 6.9.2.0.0.0.f.1.0.7.4.0.1.0.0.2.ip6.arpa.
 
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN      PTR     ipv6-rules.com.
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN      PTR     host1.ipv6-rules.com.
3.0.0.0.3.0.0.0.0.0.0.0.0.0.0.0 IN      PTR     host2.ipv6-rules.com.

DJBDNS beállítás

Jelenleg elérhetők bizonyos harmadik fél által készített javítások a net-dns/djbdns szoftvercsomaghoz, amelyek lehetővé teszik az IPv6 névkiszolgálást. A DJBDNS ezekkel a javításokkal telepíthető az ipv6 USE jelölőzászlóval történő forráskód lefordítása során.

Warning
Ezekkel a javításokkal még nem támogatott minden rekordtípus. Különösen az NS és MX rekordok nem támogatottak.
root #emerge --ask net-dns/djbdns

Miután a DJBDNS telepítésre került, a tinydns-setup futtatásával lehet beállítani. Néhány kérdésre kell válaszolni, például hogy mely IP-címekhez kell kötni, hol kell telepíteni a tinydns-t stb.

root #tinydns-setup

Feltételezve, hogy a tinydns telepítésre került a /var/tinydns könyvtárba, szerkessze a /var/tinydns/root/data fájlt. Ez a fájl tartalmazza az összes szükséges adatot ahhoz, hogy a tinydns kezelje az IPv6 delegáció DNS-ét.

CODE Példa adatfájl
## (*.ipv6-rules.com is authoritatively handled by 192.168.0.1)
.ipv6-rules.com:192.168.0.1:a:259200
## (Authoritative reverse DNS for 2001:470:1f00:296::/64)
.6.9.2.0.0.0.f.1.0.7.4.0.1.0.0.2.ip6.arpa:192.168.0.1:a
## (Specify the IPs for host1 and host2)
6host1.ipv6-rules.com:200104701f0002960000000000000001:86400
6host2.ipv6-rules.com:200104701f0002960000000000000002:86400
## (Point www to host1)
3www.ipv6-rules.com:200104701f0002960000000000000002:86400

Azok a sorok, amelyek 6 előtaggal kezdődnek, mind AAAA, mind PTR rekordot létrehoznak. Azok, amelyek 3 előtaggal kezdődnek, csak AAAA rekordot hoznak létre. A data fájl manuális szerkesztése mellett lehetséges az új bejegyzések hozzáadása a add-host6 és add-alias6 szkriptek segítségével. Miután módosításokat végeztek a data fájlban, egyszerűen futtassa a make parancsot a /var/tinydns/root könyvtárban. Ez létrehozza a /var/tinydns/root/data.cfb fájlt, amelyet a tinydns információforrásként használ a DNS lekérdezésekhez.

IPv6 kliensek

A radvd használata

Az e mögött a router mögött lévő kliensszámítógépeknek most képesnek kell lenniük az IPv6-on keresztül csatlakozni a hálózat többi részéhez. Ha radvd-t használ, a host számítógépek beállítása olyan egyszerű lehet, mint az interfész aktiválása. (Ez valószínűleg már megtörtént a net.ethX init szkriptek által.)

root #ip link set eth0 up
root #ip addr show eth0
1: eth0: <BROADCAST,MULTICAST,UP> mtu 1400 qdisc pfifo_fast qlen 1000
    link/ether 00:01:03:2f:27:89 brd ff:ff:ff:ff:ff:ff
    inet6 2001:470:1f00:296:209:6bff:fe06:b7b4/128 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::209:6bff:fe06:b7b4/64 scope link
       valid_lft forever preferred_lft forever
    inet6 ff02::1/128 scope global
       valid_lft forever preferred_lft forever

Ha ez nem működik, akkor győződjön meg róla, hogy az IPv6 tűzfal engedélyezi az ICMPv6 csomagok áthaladását.

root #ip6tables -A INPUT -p icmpv6 -j ACCEPT

Hibaelhárítás

Szoftvercsomagból hiányzik az IPv6 támogatás

A szoftvercsomagok általában az ipv6 USE jelölőzászlóval vannak a forráskódból lefordítva bináris futtatható kódra, de ha az IPv6 nem működik egy adott programon, akkor az első lépésként érdemes ellenőrizni, hogy ezzel a jelölőzászlóval lett-e létrehozva a szoftvercsomag.

Note
Nincs akadálya annak, hogy az USE="ipv6" beállítást hozzáadja a /etc/portage/make.conf fájlhoz, de ez gyakran szükségtelen.
Note
Egyes szoftvercsomagok tévesen automatikusan érzékelik az IPv6 támogatást, ezért nincs ipv6 USE jelölőzászlójuk. Emiatt nem minden szoftvercsomag fogja ténylegesen támogatni az IPv6 protokollt, ha nem egy IPv6-kompatibilis kernellel lett lefordítva.

További olvasnivaló a témában

Külső források

Számos kiváló online forrás érhető el az IPv6 témájában.

Az IRC-n próbálja ki az #ipv6 (webchat) csatornát a Libera.Chat hálózaton. Csatlakozzon a Libera.Chat szerverekhez egy IPv6-képes klienssel az irc.ipv6.libera.chat címen.


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Peter Johanson, Jorge Paulo, Camille Huot, Pasi Valminen, , Markos Chandras (Hwoarang)
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.