Differences between revisions 4 and 5
Revision 4 as of 2012-06-18 18:44:18
Size: 9388
Editor: ?AloisMahdal
Comment: typos, style
Revision 5 as of 2012-06-18 18:45:08
Size: 9387
Editor: ?AloisMahdal
Comment: typo
Deletions are marked like this. Additions are marked like this.
Line 13: Line 13:
Máte-li již nativní konektivitu IPv6, Debian by jí měl převzít automaticky, tj. z ohlášení směrovače (router advertisement), a adresy by pro vás měl vytvořit sám. Nebo můžete v /etc/network/interfaces využít metody "static" a nastavit tak adresy ručně. Protože ne všechny PPP RAS servery podporu IPv6 ohlašují (i když by ji na požádání vyjednali), uživatelé [[PPP]] mohou navíc potřebovat přidat {{{+ipv6}}} do /etc/ppp/options. Máte-li již nativní konektivitu IPv6, Debian by ji měl převzít automaticky, tj. z ohlášení směrovače (router advertisement), a adresy by pro vás měl vytvořit sám. Nebo můžete v /etc/network/interfaces využít metody "static" a nastavit tak adresy ručně. Protože ne všechny PPP RAS servery podporu IPv6 ohlašují (i když by ji na požádání vyjednali), uživatelé [[PPP]] mohou navíc potřebovat přidat {{{+ipv6}}} do /etc/ppp/options.

Projekt Debian IPv6

Účelem projektu je poskytnout centrální rozcestník pro hledání informací o IP verzi 6 v Debianu. Všechny počítače v Internetu používají ke komunikaci protokol zvaný IP (Internet Protocol), tento protokol používají ve verzi 4.

Cílem Squeeze je mimo jiné plná podpora IPv6. Další detaily viz Full IPv6 Support.

Nativní IPv6

Máte-li již nativní konektivitu IPv6, Debian by ji měl převzít automaticky, tj. z ohlášení směrovače (router advertisement), a adresy by pro vás měl vytvořit sám. Nebo můžete v /etc/network/interfaces využít metody "static" a nastavit tak adresy ručně. Protože ne všechny PPP RAS servery podporu IPv6 ohlašují (i když by ji na požádání vyjednali), uživatelé PPP mohou navíc potřebovat přidat +ipv6 do /etc/ppp/options.

Pokud váš směrovač neprovádí ohlašování, bude možná třeba zavést IPv6 ručně:

ip -6 addr add 2002:c000:203::1/64 dev eth0

Adresu samozřejmě nahraďte adresou odpovídající vaší IPv4 adrese, nebo čímkoliv, co chcete přiřadit k eth0. Obdobně můžete IPv6 ze zařízení odstranit:

ip -6 addr del 2002:c000:203::1/64 dev eth0

Pokud máte nativní podporu IPv6 i IPv4 (tzv. duální implementace), budete možná chtít použít obě: 6to4 i vaše nativní adresy. IPv6 totiž specifikuje pravidla, která zajistí, že nativní stanice budou využívat vaši nativní IPv6 konektivitu, kdežto stanice se 6to4 konektivitou využijí vaši 6to4 konektivitu (což z hlediska konfigurace sníží počet možných poruch).

Konfigurace IPv6 6to4

Možná o tom nevíte, ale pokud máte veřejnou IPv4 adresu, máte již automaticky rezervovanou také adresu IPv6. Existuje přechodný systém zvaný 6to4 (někdy psáno "stf" nebo "6 to 4"), který přiřazuje každé IPv4 adrese celou podsíť z prostoru IPv6. Tento systém můžete použít k přiřazení jedné adresy k vašemu počítači, nebo prefixu pro vaši lokální IPv6 podsíť. Tuto metodu je tedy možné využít k vytvoření privátní IPv6 sítě s použitím privátní IPv4 adresy (RFC 1918) namísto zavržených "místních individuálních" adres, tj. fec0::/10

Chcete-li nastavit 6to4, je nejdříve třeba na základě vaší stávající IPv6 adresy vypočítat IPv6 adresu. To lze provést pomocí shellu. V následujícím příkladu je IPv4 adresa 192.0.2.3; tuto nahradíte svou skutečnou veřejnou IP adresou. Notace ::1 na konci znamená, že se bude jednat o stroj s adresou 1 v podsíti 0. Máte tedy k dispozici 16 bitů pro adresy sítí a 64 bitů pro adresy rozhraní.

$ printf "2002:%02x%02x:%02x%02x::1\n" 192 0 2 3
2002:c000:0203::1

nebo použijte ipv6calc, který vám vrátí prefix:

$ ipv6calc --quiet --action conv6to4 192.0.2.3
2002:c000:203::

Dále upravte /etc/network/interfaces, kde přidejte následující sloku (speciální tunelovací zařízení je zde nazváno tun6to4, můžete však použít i jiný název):

auto tun6to4
iface tun6to4 inet6 v4tunnel
        address 2002:c000:0203::1
        netmask 16
        gateway ::192.88.99.1
        endpoint any
        local 192.0.2.3 # odpovida adrese

Můžete také použít zavržené rozhraní sit0:

auto sit0
iface sit0 inet6 static
        address 2002:c000:0203::1
        netmask 16
        gateway ::192.88.99.1

Adresa 192.88.99.1 je speciální výběrová (anycast) adresa, která ukazuje na nejbližší 6to4 směrovač. Za předpokladu že nejbližší 6to4 směrovač funguje, mělo by již zbývat jen provést ifup tun6to4 (resp. sit0) a pak už se jen kochat vaší novou IPv6 konektivitou!

Zkušenější uživatelé IPv6 se možná zeptají, proč je maska podsítě pro sit0 /16, ne /64. Nastavením masky na /16 svému systému říkáte, aby pakety posílal přímo na IPv4 adresy ostatních účastníků 6to4. Pokud by maska byla /48, pakety by byly odesílány nejbližším 6to4 směrovačem, což by znamenalo další prodlení.

V případě příkladu se sit0 může dojít k interakci s IPv4 adresou, která neodpovídá 6to4 adrese na "vícedomoveckém" (multihomed, výraz Pavel Satrapa, IPv6, 2011,) rozhraní. Obecné tunelovací zařízení sit0 navíc neumožňuje specifikovat filtrování na základě zařízení.

Viz také:

Setting up a 6to4 relay router using Debian

If you have a dual-stacked host (one with both IPv4 and IPv6 native connectivity), you may wish to offer a relay router for the rest of your network. A relay router also helps with connectivity for IPv6-only hosts on your network; rather than relying on a public 6to4 relay router to communicate with 6to4 hosts, your router can encapsulate IPv6 into IPv4.

There are two ways to do this; one is to have the relay on a normal address, which you share with your clients. The other is to add 192.88.99.1/24 to your IPv4 addresses and routing, so that clients that use 6to4 will pick up your relay router automatically. If you run a relay router on an address other than 192.88.99.1, you will need to change the gateway on your clients to match.

A relay router should already be configured to forward IPv6 packets natively for its clients; you then add a sit0 interface without a gateway for the 6to4 relay. In /etc/network/interfaces, this looks like:

auto sit0
iface sit0 inet6 static
        address 2002:c000:0203::1
        netmask 16

Note that this is almost identical to a plain 6to4 setup; the only difference is that as you already have native connectivity, you do not need to use a relay router to act as your gateway.

IPv6 Tunnel Configuration

An IPv6 tunnel can be configured using /etc/network/interfaces on Debian:

auto 6in4
iface 6in4 inet6 v4tunnel
  address [Your IPv6 Endpoint]
  netmask [Prefix Length]
  endpoint [PoP IPv4 Endpoint]
  gateway [PoP IPv6 Endpoint]
  ttl 64
  up ip link set mtu 1280 dev $IFACE

Now you can use ifup(8) and ifdown(8) to control your tunnel. What's even better about it, is that the tunnel is set up at boot time, because in /etc/init.d/networking, "ifup -a" is called, which brings up all interfaces from /etc/network/interfaces configured with the "auto" option.

Automated Tunnel Configuration

Try the aiccu, for SixXS or 'tspc', for Hexago package to automate most of the tunnel configuration.

Manual Tunnel Configuration

Hurricane Electric operates a free tunnel broker, with simple web based registration and forums. Examples for Debian using ifconfig or ip commands available. Configuration instructions for use with ifupdown (/etc/network/interfaces) are available on the tunnelbroker.net forum.

How to turn off IPv6

In squeeze

  • Disable ipv6 in kernel : echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/disableipv6.conf will disable ipv6 at next reboot.

    • fetchmail will stop sending dns AAAA queries.
    • If you've built a custom kernel with IPv6 as a module be aware that due to a race condition with the init scripts you'll need to load the ipv6 module before the procps init script is run (see /usr/share/doc/procps/README.Debian and 507788)

    • You will probably need to comment-out any IPv6 address in /etc/hosts (especially the one for loopback) otherwise ssh will fail to forward ports (or you must always use -4 to ssh).
  • In exim4:
    • put disable_ipv6 = true into your exim configuration file

    • run update-exim4.conf

    • then restart exim4
  • In sshd:
    • put ?AddressFamily inet into /etc/ssh/sshd_config

    • restart sshd: /etc/init.d/ssh restart
  • Change /etc/avahi/avahi-daemon.conf to say use-ipv6=no

Swisscom DSL with the latest netopia router will not work with Lenny out of the box. For example ssh only works the -4 option despite

Are there really dirty hacks as in http://osdir.com/ml/debian-user-german-debian/2009-07/msg00516.html needed?

See Also