» »

IPv6 tunnelbroker

IPv6 tunnelbroker

boogie_xlr ::

Imam omrežje po naslednji skici:

mreža

Uporabljam Tunnelbroker od Hurricane Electric. Na linux boxu sem si uredil tunnel interface in packet forwarding, lahko pingam ipv6 naslove, skratka deluje. Instaliram si še radvd in vse potrebno nastavim, PCji lepo sami pridobijo ipv6 naslove, vendar ne morejo dostopat do ipv6 strani ter pingat ipv6 naslovov. Kakšna ideja?
  • zavaroval slike: Tilen ()

BlueRunner ::

Pozabil omogočiti v6 forwarding?
# sysctl -w net.ipv6.conf.all.forwarding=1
# sysctl -w net.ipv6.conf.default.forwarding=1


Če potem začne delati, samo še ustrezno popravi /etc/sysctl.conf.

boogie_xlr ::

v6 forwarding (te dve vrstice) imam v sysctl.conf, vendar (po rebootu) še vedno ne deluje. Je morda problem v tem, da imam na linux boxu samo en interface eth0? Poganjam pa ubuntu server. Nekaj sem našel za gentoo, kaj naredit, če imaš samo en interface, vendar mi ni čisto jasno, kako to naredit v ubuntu server.
http://en.gentoo-wiki.com/wiki/TunnelBr... čisto spodaj

BlueRunner ::

Kaj dobiš, če vpišeš "ip -6 rou sh"?

Oziroma, da ne boš sem notri dajal svojih IPv6 naslovov... ali imaš IPv6 privzet prehod (default route)?

Zgodovina sprememb…

boogie_xlr ::

user@ubuntu-server:~$ ip -6 rou sh
2001:470:25:7dd::/64 via :: dev he-ipv6  proto kernel  metric 256
fe80::/64 dev eth0  proto kernel  metric 256
fe80::/64 via :: dev he-ipv6  proto kernel  metric 256
default dev he-ipv6  metric 1024

BlueRunner ::

Hmm... ne vidim globalnega IPv6 prefix-a na eth0. Si za tunel vzel tudi dodaten /48 prefix za notranja omrežja?

Če da, potem moraš na eth0 vpisati v6 naslov iz istega omrežja, kot si ga določil, da naj ga radvd oglašuje. Če tega ne storiš, se bi znalo zaplesti pri vračanju paketov nazaj v omrežje.

Na koncu pa preveri še ip6tables ("ip6tables -n -v -L"), da nimaš filtra na požarnem zidu, ki prepoveduje posredovanje ipv6 paketov (kaj imaš navedeno v FORWARD verigi).

boogie_xlr ::

Sem zdaj vzel še /48 prefix. Torej za eth0 določim iface inet6 static in Client IPv6 Address od tunnelbrokerja:
user@ubuntu-server:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
iface eth0 inet6 static
        address 2001:470:25:7dd::2
        netmask 64

auto he-ipv6
iface he-ipv6 inet6 v4tunnel
        endpoint 216.66.80.98
        address 2001:470:25:7dd::2
        netmask 64
        up ip -6 route add default dev he-ipv6
        down ip -6 route del default dev he-ipv6
user@ubuntu-server:~$ cat /etc/radvd.conf
interface eth0
{
        AdvSendAdvert on;
        AdvHomeAgentFlag off;
        MinRtrAdvInterval 30;
        MaxRtrAdvInterval 100;
        prefix 2001:470:26:7dd::/64
        {
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr on;
        };
};
V ip6tables ni vpisov.

BlueRunner ::

Naslov pri eth0 je "2001:470:25:...", v radvd.conf pa je prefix "2001:470:26:..." Tole dvoje bi morali biti usklajeno.

Zgodovina sprememb…

boogie_xlr ::

Sem uskladil, vendar še vedno ni dostopa do ipv6 strani.

BlueRunner ::

Hmmm... potem pa še nekaj diagnostike:
- ali ICMPv6 paketi prihajajo na eth0 routerja (tcpdump -nn -i eth0 ip6)? Da/ne.
- ali ICMPv6 paketi gredo ven na tunelu in se tudi vračajo nazaj (tcpdump -nn -i he-ipv6 ip6)? Da/ne.

boogie_xlr ::

Bom diagnosticiral, ko pridem domov.

Ugotovil pa sem, da imam morda narobe zasnovane interfacee. Hurricane Electric poda client ipv6 endpoint (...:25:.../64), ki ga mora uporabljati virtualni interface he-ipv6, ki predstavlja tunel. eth0 je fizični interface, ki pa mora imeti statični ipv6 naslov, ki bo predstavljal gateway za ipv6, ustvariti pa moram nov virtualni interface(sit0), ki bo prejemal ipv6 pakete in jih forwardal naprej na tunnel. Radvd pa oglašuje ip-je iz /64 (ali /48 ?) routed prefixa(...:26:...), ki ga poda HE posebej za moje omrežje.

boogie_xlr ::

ping ipv6.google.com na pc-ju (tcpdump -nn -i eth0 ip6)
16:52:23.913172 IP6 2002:c0a8:17a:7dd:5054:b365:7f59:626a > ff02::1:ff03:9a6: ICMP6, neighbor solicitation, who has fe80::216:36ff:fe03:9a6, length 32
16:52:23.913217 IP6 fe80::216:36ff:fe03:9a6 > 2002:c0a8:17a:7dd:5054:b365:7f59:626a: ICMP6, neighbor advertisement, tgt is fe80::216:36ff:fe03:9a6, length 32
16:52:23.913875 IP6 2002:c0a8:17a:7dd:5054:b365:7f59:626a > 2a00:1450:8007::68: ICMP6, echo request, seq 10, length 40
16:52:27.601572 IP6 fe80::216:36ff:fe03:9a6 > ff02::1: ICMP6, router advertisement, length 56
16:52:28.752357 IP6 2002:c0a8:17a:7dd:5054:b365:7f59:626a > 2a00:1450:8007::68: ICMP6, echo request, seq 11, length 40
16:52:28.915713 IP6 fe80::216:36ff:fe03:9a6 > 2002:c0a8:17a:7dd:5054:b365:7f59:626a: ICMP6, neighbor solicitation, who has 2002:c0a8:17a:7dd:5054:b365:7f59:626a, length 32
16:52:28.916024 IP6 2002:c0a8:17a:7dd:5054:b365:7f59:626a > fe80::216:36ff:fe03:9a6: ICMP6, neighbor advertisement, tgt is 2002:c0a8:17a:7dd:5054:b365:7f59:626a, length 32
16:52:33.751323 IP6 2002:c0a8:17a:7dd:5054:b365:7f59:626a > 2a00:1450:8007::68: ICMP6, echo request, seq 12, length 40
16:52:36.083191 IP6 fe80::216:36ff:fe03:9a6 > ff02::1: ICMP6, router advertisement, length 56
16:52:38.752227 IP6 2002:c0a8:17a:7dd:5054:b365:7f59:626a > 2a00:1450:8007::68: ICMP6, echo request, seq 13, length 40
16:52:44.058742 IP6 fe80::216:36ff:fe03:9a6 > ff02::1: ICMP6, router advertisement, length 56
ping ipv6.google.com na pc-ju (tcpdump -nn -i he-ipv6 ip6)
user@ubuntu-server:~$ sudo tcpdump -nn -i he-ipv6 ip6
tcpdump: WARNING: he-ipv6: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on he-ipv6, link-type RAW (Raw IP), capture size 65535 bytes
16:55:37.120670 IP6 2002:c0a8:17a:7dd:5054:b365:7f59:626a > 2a00:1450:8007::69: ICMP6, echo request, seq 14, length 40
16:55:41.749913 IP6 2002:c0a8:17a:7dd:5054:b365:7f59:626a > 2a00:1450:8007::69: ICMP6, echo request, seq 15, length 40
16:55:46.749948 IP6 2002:c0a8:17a:7dd:5054:b365:7f59:626a > 2a00:1450:8007::69: ICMP6, echo request, seq 16, length 40
16:55:51.748704 IP6 2002:c0a8:17a:7dd:5054:b365:7f59:626a > 2a00:1450:8007::69: ICMP6, echo request, seq 17, length 40
Nič ne pride nazaj...
ping ipv6.google.com na linux boxu (tcpdump -nn -i he-ipv6 ip6)
user@ubuntu-server:~$ sudo tcpdump -nn -i he-ipv6 ip6
tcpdump: WARNING: he-ipv6: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on he-ipv6, link-type RAW (Raw IP), capture size 65535 bytes
16:59:00.240341 IP6 2001:470:25:7dd::2 > 2a00:1450:8007::69: ICMP6, echo request, seq 1, length 64
16:59:00.282005 IP6 2a00:1450:8007::69 > 2001:470:25:7dd::2: ICMP6, echo reply, seq 1, length 64
16:59:01.242094 IP6 2001:470:25:7dd::2 > 2a00:1450:8007::69: ICMP6, echo request, seq 2, length 64
16:59:01.284689 IP6 2a00:1450:8007::69 > 2001:470:25:7dd::2: ICMP6, echo reply, seq 2, length 64
16:59:02.243831 IP6 2001:470:25:7dd::2 > 2a00:1450:8007::69: ICMP6, echo request, seq 3, length 64
16:59:02.283100 IP6 2a00:1450:8007::69 > 2001:470:25:7dd::2: ICMP6, echo reply, seq 3, length 64
16:59:03.245398 IP6 2001:470:25:7dd::2 > 2a00:1450:8007::69: ICMP6, echo request, seq 4, length 64
16:59:03.285818 IP6 2a00:1450:8007::69 > 2001:470:25:7dd::2: ICMP6, echo reply, seq 4, length 64
Kaj to mi radvd oglašuje take čudne naslove? -> radvdump
#
# radvd configuration generated by radvdump 1.7
# based on Router Advertisement from fe80::216:36ff:fe03:9a6
# received by interface eth0
#

interface eth0
{
        AdvSendAdvert on;
        # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
        AdvManagedFlag off;
        AdvOtherConfigFlag off;
        AdvReachableTime 0;
        AdvRetransTimer 0;
        AdvCurHopLimit 64;
        AdvDefaultLifetime 30;
        AdvHomeAgentFlag off;
        AdvDefaultPreference medium;
        AdvSourceLLAddress on;

        prefix 2002:c0a8:17a:7dd::/64
        {
                AdvValidLifetime 30;
                AdvPreferredLifetime 20;
                AdvOnLink off;
                AdvAutonomous on;
                AdvRouterAddr on;
        }; # End of prefix definition

}; # End of interface definition
user@ubuntu-server:~$ cat /etc/radvd.conf
interface eth0 {
        AdvSendAdvert on;
        MinRtrAdvInterval 3;
        MaxRtrAdvInterval 10;
        prefix 2001:470:26:7dd::/64 {
                AdvOnLink off;
                AdvAutonomous on;
                AdvRouterAddr on;
                Base6to4Interface eth0;
                AdvPreferredLifetime 20;
                AdvValidLifetime 30;
        };
};

boogie_xlr ::

Ok, nastavim statični ipv6 in dela. Zgleda, da je nekaj hudo narobe z radvd-jem...

BlueRunner ::

Dve stvari mi ne štimata... HE po mojem vedenju ni še nikoli dodelil naslove za povezovalni segment in usmerjan /48 segment tako, da bi bili en za drugim. Zato varianta "2001:470:25:XXXX::2" za povezovalni in "2001:470:26:XXXX::/48" za usmerjanje najverjetneje ne štima.

Ravno tako si izpisal dva radvd.conf-a. Prvi, ki ima notri "prefix 2002:c0a8:17a:7dd::/64" je napačen, ker je to primer, 2002:: prefix pa služi 6to4 translaciji. Torej no-go. Glede na to, da tcpdump kaže, da tvoj PC uporablja točno ta naslov, odpade varianta, da bi to pravilno delovalo.

Iz /48 prefix, ki ti ga je HE dodelil si izbereš enega /64. Torej "2001:470:DODELJEN_48_PREFIX:TVOJA_IZBIRA::/64" in nato na eth0 nastaviš naslov "2001:470:DODELJEN_48_PREFIX:TVOJA_IZBIRA::1". Če ti je bil dodeljen npr. 2001:470:d0d0::/48, izbral si pa npr. 2001:470:d0d0:baba::/64, nastaviš na eth0 2001:470:d0d0:baba::1. V radvd.conf pa vpišeš samo en prefix in to je "prefix 2001:470:d0d0:baba::/64". Ostale prefixe na eth0 oziroma druge konfiguracije za eth0 pa izbrišeš.

boogie_xlr ::

Prvi je radvdump(ukaz) izpiše trenutne nastavitve glede na to, kaj radvd oddaja, drugi je radvd.conf(configuration file).
Sem ugotovil, kaj je bilo narobe: radvd se je samokonfiguriral kot da mora razpošiljati 6to4 prefix, kar si tudi ti pravilno ugotovil, da je no-go, zato sem spremenil radvd.conf glede na radvd.conf.example.
Povezovalni in routing del sta ločena vsaj pri meni s tisto foro 25 in 26. Omrežje za tunelom ima 26:.../64 routed prefix, tunel pa uporablja 25:.../64 ipv6 naslove.
HE lahko dodeli tudi routed /48 prefix, če boš uporabljal več notranjih omrežij.
Vglavnem sedaj končno imam working ipv6 omrežje. 8-) Pa hvala za vso pomoč! Sedaj pa grem brat teorijo...


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

IPv6 (strani: 1 2 3 4 5 6 7 8 )

Oddelek: Omrežja in internet
36393178 (11193) Klemen86
»

Ipv6 dosegljivost

Oddelek: Slo-Tech
302861 (2075) AndraZK
»

IPv6 najbolj razširjen v Švici, Slovenija ni slaba

Oddelek: Novice / Omrežja / internet
3112254 (9484) Bakunin
»

IPv6 na DD-WRT (radvd)

Oddelek: Omrežja in internet
111830 (1533) Gapi
»

T-2jev IPv6 na optiki- nekaj težav

Oddelek: Omrežja in internet
386735 (6273) BlueRunner

Več podobnih tem