Forum Turris
Fórum Turris Nápověda

Milí majitelé routerů Turris,

toto fórum bylo 9. 12. 2016 zmrazeno a nahrazeno naším novým Turris fórem. Ještě chvíli bude dostupné k prohlížení, ale již zde není možné přispívat. Více informací naleznete v oznámení o uzavření fóra.


Dear Turris routers users,

this forum has been frozen on Dec 9th, 2016 and replaced by our new Turris forum. It will be read-only accessible for some time after. For more information, read the announcement about closing the forum.

Nahoru Téma Majitelé routerů / Technická podpora / IPv6 tunel a zachování analýzy komunikace
- - Od rene.kliment (>) Dne 2014-03-30 12:08 Upraveno 2014-03-30 12:21
Zdravím.
Rozběhl jsem si na Turrisu IPv6 tunel od SixxS přes aiccu jako jsem to měl na routeru původním, jelikož můj poskytovatel IPv6 nenabízí.
Nicméně si nejsem jist, zda je to úplně v souladu se smlouvou - jestli to nebrání a případně v jaké míře analýze provozu.
Mám to nakonfigurované takto:

config interface 'wan6'
        option proto 'static'
        option ifname 'sixxs0'
        option ip6addr '2a01:8c00:XXXX:27::2/64'
        option ip6gw '2a01:8c00:XXXX:27::1'
        option ip6prefix '2a01:8c00:YYYY::/48'

Můžete mi tedy odpovědět, jestli je to oukej (jestli to mohu takto dále provozovat)?
Děkuji.

Bonusový dotaz č.2: Na http://wiki.openwrt.org/doc/uci/network6#router.advertisement.dhcpv6 je možné dočíst se, že
"The use of radvd is now unnecessary. The service 6relayd is used for Router Advertisement and DHCPv6 and picks up addresses from interfaces automatically.",
proto si myslím, že by bylo lepší, aby radvd nebyl defaultně nainstalován, protože by potom mohl někoho, kdo novinky v OpenWRT > 12.09 nezná, snadno zmást.
Nadřazený - Od Michal Vaner (>>) Dne 2014-04-01 09:45
Dobrý den

Je to OK. Jednak máme k dispozici lokální konec, do kterého lze koukat, jednak data tunelu jsou data jako každá jiná, která má cenu sledovat také. Mezi ta bránění sběru by patřily spíše věci jako snaha vypínat ucollect, nutit ho poslouchat na neexistujícím rozhraní a podobně.
- - Od horada (>) Dne 2014-04-03 14:25
Když jsme u té IPv6, jaký je nejvhodnější způsob nastavení IPv6 když ji nativně nemám od poskytovatele, ale mám veřejnou IPv4?
Na starším routeru jsem měl nastaveno 6to4, ale nejsem si jist jestli úplně správně - jaký je nejvhodnější způsob v dnešní době a jak to  správně nastavit v Turrisu? (jen až budete mít někdo znalejší chvíli čas, nebo pokud jste to někdo řešili :))... díky
Nadřazený - - Od Ondřej Caletka (>>>) Dne 2014-04-03 14:46 Hlasů 2
Máte-li veřejnou IPv4 adresu, je asi nejspolehlivější zařídit si tunel typu 6in4 od kohokoli. Doporučit můžu například Tunnelbroker.net, nebo SixXS.net. Oba mají PoPy v Praze. První jmenovaný má i podporu pro dynamicky se měnící veřejnou IPv4 adresu, podpora ale v  verzi OpenWRT, co je v Turrisu, nefunguje a musel jsem ji upravit.

Konfigurace pro tunel od HE.net (tedy Tunnelbroker.net) v souboru /etc/config/network vypadá takto:
config interface 'wan6'
        option proto '6in4'
        option mtu '1480'
        option 'peeraddr' '216.66.86.122'          # adresa PoPu v Praze
        option 'ip6addr' '2001:470:<xxx>::2/64' #spojovačka tunelu
        option 'ip6prefix' '2001:470:<yyy>::/64' #nadelegovaný rozsah /64 nebo /48 (pozor, <xxx> a <yyy> jsou vždy různé)
        #Následující volby platí pouze pro HE.net a slouží jen pro dynamickou aktualizaci IP adresy tunelu
        option 'tunnelid' '<nnn>'  #číselné ID tunelu
        option 'username' '<username>'
        option 'updatekey' '<updatekey>' #ve vlastnostech tunelu


Chcete-li automatické aktualizace IPv4 adresy tunelu, je potřeba opravit soubor /lib/netifd/proto/6in4.sh. Bohužel jsem při hackování nebyl příliš důsledný, takže nemám k dispozici původní verzi, proto přikládám celý soubor tak jak funguje pro mě. Hlavní změna je v URL, na kterou se posílají aktualizace a použití políčka updatekey namísto password. V každém případě nový systém aktualizace podporuje standardní DynDNS formát, takže pro aktualizaci IP adresy je také možné použít DynDNS klienta zabudovaného v Turrisu.
#!/bin/sh
# 6in4.sh - IPv6-in-IPv4 tunnel backend
# Copyright (c) 2010-2012 OpenWrt.org

[ -n "$INCLUDE_ONLY" ] || {
        . /lib/functions.sh
        . /lib/functions/network.sh
        . ../netifd-proto.sh
        init_proto "$@"
}

proto_6in4_setup() {
        local cfg="$1"
        local iface="$2"
        local link="6in4-$cfg"

        local mtu ttl ipaddr peeraddr ip6addr ip6prefix tunnelid username password updatekey
        json_get_vars mtu ttl ipaddr peeraddr ip6addr ip6prefix tunnelid username password updatekey

        [ -z "$peeraddr" ] && {
                proto_notify_error "$cfg" "MISSING_ADDRESS"
                proto_block_restart "$cfg"
                return
        }

        ( proto_add_host_dependency "$cfg" 0.0.0.0 )

        [ -z "$ipaddr" ] && {
                local wanif
                if ! network_find_wan wanif || ! network_get_ipaddr ipaddr "$wanif"; then
                        proto_notify_error "$cfg" "NO_WAN_LINK"
                        return
                fi
        }

        proto_init_update "$link" 1
        proto_add_ipv6_route "::" 0

        [ -n "$ip6addr" ] && {
                local local6="${ip6addr%%/*}"
                local mask6="${ip6addr##*/}"
                [[ "$local6" = "$mask6" ]] && mask6=
                proto_add_ipv6_address "$local6" "$mask6"
        }

        [ -n "$ip6prefix" ] && proto_add_ipv6_prefix "$ip6prefix"

        proto_add_tunnel
        json_add_string mode sit
        json_add_int mtu "${mtu:-1280}"
        json_add_int ttl "${ttl:-64}"
        json_add_string local "$ipaddr"
        json_add_string remote "$peeraddr"
        proto_close_tunnel

        proto_send_update "$cfg"

        [ -n "$tunnelid" -a -n "$username" -a \( -n "$password" -o -n "$updatekey" \) ] && {
                [ "${#password}" == 32 -a -z "${password//[a-fA-F0-9]/}" ] || {
                        password="$(echo -n "$password" | md5sum)"; password="${password%% *}"
                }

                [ -n "$updatekey" ] && password="$updatekey"

                local url="http://ipv4.tunnelbroker.net/nic/update?username=$username&password=$password&hostname=$tunnelid"
                local try=0
                local max=3

                while [ $((++try)) -le $max ]; do
                        ( exec wget -qO/dev/null "$url" 2>/dev/null ) &
                        local pid=$!
                        ( sleep 5; kill $pid 2>/dev/null ) &
                        wait $pid && break
                done
        }
}

proto_6in4_teardown() {
        local cfg="$1"
}

proto_6in4_init_config() {
        no_device=1             
        available=1

        proto_config_add_string "ipaddr"
        proto_config_add_string "ip6addr"
        proto_config_add_string "ip6prefix"
        proto_config_add_string "peeraddr"
        proto_config_add_string "tunnelid"
        proto_config_add_string "username"
        proto_config_add_string "password"
        proto_config_add_string "updatekey"
        proto_config_add_int "mtu"
        proto_config_add_int "ttl"
}

[ -n "$INCLUDE_ONLY" ] || {
        add_protocol 6in4
}
Nadřazený - Od horada (>) Dne 2014-04-16 09:00 Upraveno 2014-04-16 09:04
Úplně jsem zapoměl poděkovat :red: ... Funguje to výborně... Díky!
Nahoru Téma Majitelé routerů / Technická podpora / IPv6 tunel a zachování analýzy komunikace

Powered by mwForum 2.29.3 © 1999-2013 Markus Wichitill