1 (edytowany przez z0nk 2013-07-13 13:10:29)

Temat: [howto] konfiguracja IPv6 dla końcówek sieci.

szybkie howto dla ipv6 w openwrt.

Generalnie celem tego howto jest przydzielenie na końcówkach sieci zewnętrznego adresu ipv6.
Wstęp:
1. Zapoznajemy się jak działa protokół ipv6
2. Jak już większość zignorowała 1 punkt to tak w skrócie jakie mamy drogi:
   a) provider daje nam adres ipv6 z pulą /64 (native ipv6)
   b) tworzymy tunel (tun6)
   c) generujemy sobie sami ipv6 na podstawie ipv4 (6to4)

aby dowiedzieć się w której jesteśmy sytuacji wykonujemy polecenie ipconfig i patrzymy czy mamy jakieś zewnętrzne adresy ipv6. Adresy zaczynające się od fe80 oraz ::1, się nie liczą.

2a - przypadek nieciekawy bo już router posiada ipv6 - idź do punktu 3
2b - przypadek w którym rozpisywanie się jak ustawić tunel ipv6 i jakie są typy zajęło by za wiele czasu - w ramach tego puntu pytać wujka google o dostawców tunelu i jak już się na jakiegoś zdecydujemy to poszukać jak taki tunel ustawić na swoim routerze. Wadą tego rozwiązania jest niska prędkość. Po ustanowieniu tunelu przechodzimy do punktu 3.
2c - przypadek 'ciekawy' którym się zajmę. Jeśli nasz provider przydziela nam adres ipv4 to na jego podstawie możemy wygenerować adres ipv6 np. adresowi 80.90.100.110 odpowiada adres 2002:505A:646E:: z pulą /48. Jak to się dzieje? aby dostać swoje ipv6 korzystamy z bramy 6to4 dostepnej w internecie (192.88.99.1). Nasz router staje się routeren typu dual stack tzn. obsługuję stos ipv4 oraz ipv6. Dość teori, pora na działanie.

opkg update
opkg install kmod-ipv6 6to4 6rd
opkg remove dnsmasq
opkg install dnsmasq-dhcpv6

plik /etc/config/network:
   w sekcji   config interface 'lan' dopisujemy następujące linie:

   option ip6assign '64'
   option ip6hint '10'

  na końcu dopisujemy:

  config interface 'wan6'
    option proto '6to4'
 

 
kilka słów komentarza: option ip6assign '64' mówi jaki prefix dostanie interfejs br-lan. ip6hint w której podsieci będziem nasz br-lan (ta liczba która następuje po wygenerowanym adresie). interface wan6 bedzie odpowiadał nam za stos ipv6. Po podniesieniu ten interfejs bedzie miał maskę /16.

uci del firewall.@zone[1].network=wan6
uci add firewall zone
uci set firewall.@zone[-1]._name=wan6
uci set firewall.@zone[-1].network=wan6
uci set firewall.@zone[-1].family=ipv6
uci set firewall.@zone[-1].input=ACCEPT
uci set firewall.@zone[-1].output=ACCEPT
uci set firewall.@zone[-1].forward=REJECT
uci commit

uci add firewall forwarding
uci set firewall.@forwarding[-1].src=wan6
uci set firewall.@forwarding[-1].dest=lan
uci commit

uci add firewall forwarding
uci set firewall.@forwarding[-1].src=lan
uci set firewall.@forwarding[-1].dest=wan6
uci commit

uci add firewall rule
uci set firewall.@rule[-1]._name='Allow Multicast v6'
uci set firewall.@rule[-1].src=wan
uci set firewall.@rule[-1].src_ip=ff00::/8
uci set firewall.@rule[-1].dest_ip=ff00::/8
uci set firewall.@rule[-1].family=ipv6
uci set firewall.@rule[-1]target=ACCEPT
uci commit

uci add firewall rule
uci set firewall.@rule[-1]._name=6to4
uci set firewall.@rule[-1].src=wan
uci set firewall.@rule[-1].proto=41
uci set firewall.@rule[-1].target=ACCEPT
uci commit

zapisujemy wszystko i robimy

 /etc/init.d/network restart 

sprawdzamy poleceniem ifconfig czy jest interfejs 6to4-wan6 (poniżej przykład)

6to4-wan6 Link encap:IPv6-in-IPv4  
          inet6 addr: 2002:505A:646E::::1/16 Scope:Global
          inet6 addr: ::80.90.100.110/128 Scope:Compat

3. sparwdzamy czy działa ping6 ipv6.google.com (jak odpowiada to znaczy ze router ma ipv6) można przejść do punktu 4
4. jak już mamy pulę to trzeba ją rozgłosić dla naszych klientów w tym celu:


edytujemy plik: /etc/sysclt.conf
upewniamy się że są opcje ustawione jak poniżej:

net.ipv6.conf.default.forwarding=1
net.ipv6.conf.all.forwarding=1

plik: /etc/dnsmasq.conf (nasza wisieńka na torcie)

dhcp-range=2002:505A:646E:10::,ra-names
enable-ra

uwaga dhcp-range to podany przez nas ipv6 oraz sieć (/etc/config/network ->    option ip6hint '10' - tak to właśnie to "10" i powinno być tu i tu to samo, oczywiście 10 można zmienić na coś innego np. 1, dead, beef, cafe tylko trzeba pamiętać aby to zrobić w obydwóch miejscach).


po tym wszystkim

/etc/init.d/sysctl restart
/etc/init.d/network restart
/etc/init.d/dnsmasq restart

i sprawdzamy czy końcówki otrzymują ipv6 i mogą pingować inne ipv6 (test z punktu 3).

edit: zgodnie z zaleceniami cezarego przepisałem firewalla do uci firewall.

2

Odp: [howto] konfiguracja IPv6 dla końcówek sieci.

Prawie super, ale pozbyłeś się firewalla na rzecz własnego. I pół rzeczy z openwrt nie będzie przez to działać. Przerób to żeby korzystało z ichniego firewalla.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez z0nk 2013-06-22 23:17:17)

Odp: [howto] konfiguracja IPv6 dla końcówek sieci.

Cezary napisał/a:

Prawie super, ale pozbyłeś się firewalla na rzecz własnego. I pół rzeczy z openwrt nie będzie przez to działać. Przerób to żeby korzystało z ichniego firewalla.

nie do końca bo domyślnie w /etc/config/firewall jest

config include
    option path '/etc/firewall.user'

więc dopisuje swojego do już działającego, domyślny dla ipv6 jest trochę łysy..
Mi wszystko z openwrt/gargoyle działa smile

Edit: faktycznie nadpisywałem go, ale po dopisaniu wan6 do zone wan cały firewall na v6 z forwardingiem sie sam konfiguruje.
Edit2: domyślny działa, ale końcówki nie mają autonomiczności jeśli chodzi o porty. Jak sie zbiore w sobie to przepisze swojego firewalla na ichniechniego.

4 (edytowany przez Nimloth 2013-06-23 20:22:30)

Odp: [howto] konfiguracja IPv6 dla końcówek sieci.

Tak z ciekawosci sprawdzilem 6to4 (dotychczas korzystam z tunelu HE) i czasy sa gorsze:

6to4:

root@OpenWrt:~# ping6 facebook.com
PING facebook.com (2a03:2880:2110:df07:face:b00c:0:1): 56 data bytes
64 bytes from 2a03:2880:2110:df07:face:b00c:0:1: seq=0 ttl=56 time=202.042 ms
64 bytes from 2a03:2880:2110:df07:face:b00c:0:1: seq=1 ttl=56 time=195.718 ms
64 bytes from 2a03:2880:2110:df07:face:b00c:0:1: seq=2 ttl=56 time=202.824 ms
64 bytes from 2a03:2880:2110:df07:face:b00c:0:1: seq=3 ttl=56 time=206.050 ms
64 bytes from 2a03:2880:2110:df07:face:b00c:0:1: seq=4 ttl=56 time=200.637 ms
64 bytes from 2a03:2880:2110:df07:face:b00c:0:1: seq=6 ttl=56 time=204.875 ms
root@OpenWrt:~# ping6 google.com
PING google.com (2a00:1450:4001:c02::64): 56 data bytes
64 bytes from 2a00:1450:4001:c02::64: seq=0 ttl=58 time=70.272 ms
64 bytes from 2a00:1450:4001:c02::64: seq=3 ttl=58 time=70.259 ms
64 bytes from 2a00:1450:4001:c02::64: seq=4 ttl=58 time=70.522 ms
64 bytes from 2a00:1450:4001:c02::64: seq=5 ttl=58 time=72.092 ms

Poza wyzszym czasem sa jeszcze timeouty

Tunel:

root@OpenWrt:~# ping6 facebook.com
PING facebook.com (2a03:2880:2110:df07:face:b00c:0:1): 56 data bytes
64 bytes from 2a03:2880:2110:df07:face:b00c:0:1: seq=0 ttl=51 time=126.069 ms
64 bytes from 2a03:2880:2110:df07:face:b00c:0:1: seq=1 ttl=51 time=123.137 ms
64 bytes from 2a03:2880:2110:df07:face:b00c:0:1: seq=2 ttl=51 time=125.272 ms
64 bytes from 2a03:2880:2110:df07:face:b00c:0:1: seq=3 ttl=51 time=123.222 ms
64 bytes from 2a03:2880:2110:df07:face:b00c:0:1: seq=4 ttl=51 time=123.112 ms
64 bytes from 2a03:2880:2110:df07:face:b00c:0:1: seq=5 ttl=51 time=124.117 ms
64 bytes from 2a03:2880:2110:df07:face:b00c:0:1: seq=6 ttl=51 time=124.839 ms
root@OpenWrt:~# ping6 google.com
PING google.com (2a00:1450:4001:c02::8b): 56 data bytes
64 bytes from 2a00:1450:4001:c02::8b: seq=0 ttl=56 time=33.510 ms
64 bytes from 2a00:1450:4001:c02::8b: seq=1 ttl=56 time=32.495 ms
64 bytes from 2a00:1450:4001:c02::8b: seq=2 ttl=56 time=31.994 ms
64 bytes from 2a00:1450:4001:c02::8b: seq=3 ttl=56 time=31.728 ms
64 bytes from 2a00:1450:4001:c02::8b: seq=4 ttl=56 time=32.606 ms
64 bytes from 2a00:1450:4001:c02::8b: seq=5 ttl=56 time=31.851 ms

5 (edytowany przez z0nk 2013-06-24 22:02:38)

Odp: [howto] konfiguracja IPv6 dla końcówek sieci.

Nimloth napisał/a:

Tak z ciekawosci sprawdzilem 6to4 (dotychczas korzystam z tunelu HE) i czasy sa gorsze:

Poza wyzszym czasem sa jeszcze timeouty

różnice są, ale końcowy transfer jest większy. ja na na 6to4 osiągam prędkości ~20Mbps Niestety na tunelu nigdy tyle nie będzie(a przynajmniej ja sie nie spotkałem).  Ale fakt - łącze ipv6 jest mniej stabilne na 6to4
Pozatym tu dostajemy pule /48 więc mamy do dyspozycji 2^80 adresów, co daje 1.2089258e+24, więc z jednej takiej puli więc gdybyśmy każdemu człowiekowi na świecie dali po 1 ip z naszej puli to byśmy nawet 1% jej nie wykorzystali smile (swoją drogą co za marnotrastwo...)
Poztym napisałem to bo nóż znajdzie się ktoś kto chce pogrzebąc w konfigach i dać swoim userom zew. ipv6 - wtedy kończy się problem z przekierowywaniem portów, vpn'a mi.
A inny wątek to nigdzie nie znalazłem na internecie połączenia openwrt, 6to4 i dnsmasq. są opisy z radvd (ale radvd jest ciężkie w porównaniu do dnsmasq)

6 (edytowany przez z0nk 2013-07-13 13:06:25)

Odp: [howto] konfiguracja IPv6 dla końcówek sieci.

zebrałem się w sobie i przepisałem firewalla do ichniego, jak Cezary polecił, ostatnio duzo zmian w firewallu ipv6 wiec na chwile obecna jest to aktualne dla wersji openwrt r37267.

7 (edytowany przez Camis 2014-02-17 22:31:28)

Odp: [howto] konfiguracja IPv6 dla końcówek sieci.

z0nk napisał/a:

ja na na 6to4 osiągam prędkości ~20Mbps Niestety na tunelu nigdy tyle nie będzie(a przynajmniej ja sie nie spotkałem).

Ja na tunelu HE - (tserv28.waw1, Warsaw, PL), osiągam bez problemu 85-95Mbps...  Było by więcej ale procek w routerze już nie wyrabia.  Sporo ruchu mi idzie codziennie po IPv6.

https://www.dropbox.com/s/nyajqwlcxpbtj … .15.36.png - speedtest

https://dl.dropboxusercontent.com/u/156 … 20IPv6.txt - ping po IPv6

8

Odp: [howto] konfiguracja IPv6 dla końcówek sieci.

Brakuje ipv6 w systemach, moj dostawca już opcjonalnie przydziela nawet  w takiej dziurze jak Gniezno

Mikrotik RB951G-2HnD, Mikrotik RB750 + RB260GS + TP-LINK-1043ND
Domowy serwer: http://home.linuxiarz.pl | http://linuxiarz.pl - Mój Blog
http://www.speedtest.net/result/3821476312.png - speed łącza domowego

9

Odp: [howto] konfiguracja IPv6 dla końcówek sieci.

Zrobiłem wszystko jak w poradniku i na routerze mam IPV6 a na komputerach niby mam, a nie działa.

C:\Users\Xury>ping -6 facebook.com

Badanie facebook.com [2a03:2880:2130:cf05:face:b00c:0:1] z 32 bajtami danych:
Sieć docelowa jest nieosiągalna.
Sieć docelowa jest nieosiągalna.
Sieć docelowa jest nieosiągalna.
Sieć docelowa jest nieosiągalna.

Statystyka badania ping dla 2a03:2880:2130:cf05:face:b00c:0:1:
    Pakiety: Wysłane = 4, Odebrane = 0, Utracone = 4
             (100% straty),

Niby widzi IP a nie ma pingów.
To samo jest z google.
Robię to na TP-WR1043nd na BB Cezarego z LuCi.
Podejrzewam coś z firewallem:

firewall.@defaults[0]=defaults
firewall.@defaults[0].syn_flood=1
firewall.@defaults[0].input=ACCEPT
firewall.@defaults[0].output=ACCEPT
firewall.@defaults[0].forward=REJECT
firewall.@zone[0]=zone
firewall.@zone[0].name=lan
firewall.@zone[0].network=lan
firewall.@zone[0].input=ACCEPT
firewall.@zone[0].output=ACCEPT
firewall.@zone[0].forward=ACCEPT
firewall.@zone[1]=zone
firewall.@zone[1].name=wan
firewall.@zone[1].network=wan wan6
firewall.@zone[1].input=REJECT
firewall.@zone[1].output=ACCEPT
firewall.@zone[1].forward=REJECT
firewall.@zone[1].masq=1
firewall.@zone[1].mtu_fix=1
firewall.@forwarding[0]=forwarding
firewall.@forwarding[0].src=lan
firewall.@forwarding[0].dest=wan
firewall.@rule[0]=rule
firewall.@rule[0].name=Allow-DHCP-Renew
firewall.@rule[0].src=wan
firewall.@rule[0].proto=udp
firewall.@rule[0].dest_port=68
firewall.@rule[0].target=ACCEPT
firewall.@rule[0].family=ipv4
firewall.@rule[1]=rule
firewall.@rule[1].name=Allow-Ping
firewall.@rule[1].src=wan
firewall.@rule[1].proto=icmp
firewall.@rule[1].icmp_type=echo-request
firewall.@rule[1].family=ipv4
firewall.@rule[1].target=ACCEPT
firewall.@rule[2]=rule
firewall.@rule[2].name=Allow-DHCPv6
firewall.@rule[2].src=wan
firewall.@rule[2].proto=udp
firewall.@rule[2].src_ip=fe80::/10
firewall.@rule[2].src_port=547
firewall.@rule[2].dest_ip=fe80::/10
firewall.@rule[2].dest_port=546
firewall.@rule[2].family=ipv6
firewall.@rule[2].target=ACCEPT
firewall.@rule[3]=rule
firewall.@rule[3].name=Allow-ICMPv6-Input
firewall.@rule[3].src=wan
firewall.@rule[3].proto=icmp
firewall.@rule[3].icmp_type=echo-request echo-reply destination-unreachable packet-too-big time-exceeded bad-header unknown-header-type router-solicitation neighbour-solicitation router-advertisement neighbour-advertisement
firewall.@rule[3].limit=1000/sec
firewall.@rule[3].family=ipv6
firewall.@rule[3].target=ACCEPT
firewall.@rule[4]=rule
firewall.@rule[4].name=Allow-ICMPv6-Forward
firewall.@rule[4].src=wan
firewall.@rule[4].dest=*
firewall.@rule[4].proto=icmp
firewall.@rule[4].icmp_type=echo-request echo-reply destination-unreachable packet-too-big time-exceeded bad-header unknown-header-type
firewall.@rule[4].limit=1000/sec
firewall.@rule[4].family=ipv6
firewall.@rule[4].target=ACCEPT
firewall.@include[0]=include
firewall.@include[0].path=/etc/firewall.user
firewall.miniupnpd=include
firewall.miniupnpd.type=script
firewall.miniupnpd.path=/usr/share/miniupnpd/firewall.include
firewall.miniupnpd.family=any
firewall.miniupnpd.reload=1
firewall.@zone[2]=zone
firewall.@zone[2]._name=wan6
firewall.@zone[2].network=wan6
firewall.@zone[2].family=ipv6
firewall.@zone[2].input=ACCEPT
firewall.@zone[2].output=ACCEPT
firewall.@zone[2].forward=REJECT
firewall.@forwarding[1]=forwarding
firewall.@forwarding[1].src=wan6
firewall.@forwarding[1].dest=lan
firewall.@forwarding[2]=forwarding
firewall.@forwarding[2].src=lan
firewall.@forwarding[2].dest=wan6
firewall.@rule[5]=rule
firewall.@rule[5]._name=Allow Multicast v6
firewall.@rule[5].src=wan
firewall.@rule[5].src_ip=ff00::/8
firewall.@rule[5].dest_ip=ff00::/8
firewall.@rule[5].family=ipv6
firewall.@rule[5].target=ACCEPT
firewall.@rule[6]=rule
firewall.@rule[6]._name=6to4
firewall.@rule[6].src=wan
firewall.@rule[6].proto=41
firewall.@rule[6].target=ACCEPT

10

Odp: [howto] konfiguracja IPv6 dla końcówek sieci.

A z czego korzystasz z ipv6? Bo jeżeli masz zwykłe ipv6 na wan to w openwrt jest już wszystko skonfigurowane co trzeba.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11 (edytowany przez xury 2014-10-14 00:42:25)

Odp: [howto] konfiguracja IPv6 dla końcówek sieci.

To znaczy ?
Nie bardzo wiem o co chodzi, bo w temacie IPv6 dopiero raczkuję.
Rozumiem, że sugerując się tym poradnikiem w Twoim ostatnim BB niepotrzebnie coś namieszałem?
Aaa
Chodziło ci o jaki rodzaj IPv6
6to4 na podstawie stalego IPv4
I wszystko działało na routerze, ale nie działało na końcowkach pomimo, że adresy były przydzielane z moiej puli i brama też.
Nie bylo jednak DNSów. I nie pingowalo.

12

Odp: [howto] konfiguracja IPv6 dla końcówek sieci.

Może ktoś próbował robić tunel 6to4 na BB i podzieli się konfiguracją, bo w sieci znalazłem kilka i każda jest inna.

13

Odp: [howto] konfiguracja IPv6 dla końcówek sieci.

Ok udało się po dwu nieprzespanych nockach smile
Na BB wystarczy tylko zainstalować 6to4 oraz przełączyć
Router Advertisement-Service na relay mode
DHCPv6-Service też na relay mode
oraz NDP-proxy na hybrid
Z tym ostatnim to do końca nie jestem pewien, bo robiłem rożne kombinacje i tak pozostało.