za povevzavo v medmrežje uporabljam storitve ponudnika t-2, ki že poldrugo desetletje obljublja celotivo implementacijo ipv6.
kot omenjeno prej, ponudnik še vedno ni pravilno uvedel podpore za ipv6.
ker je v ipv6 naslovu celih 16 bajtov in od operaterja dobim celih 9 bajtov za nastavitev na poljubno vrednost, lahko ipv6 naslov nastavim na svoj elektronski naslov. tedaj bo vsak poslan paket vseboval moj ip naslov v ascii kodiranju, kar lepo v ipv6 naslovu. če naslov 2a01:261:ee4:4845:4c4f:4034:412e:5349
prevedemo v ascii znake, dobimo *a�HELO@4A.SI
! tukaj mi pride prav, da se zadnji bajt omrežne predpone konča s H, tako lahko navidezno podaljšam elektronski naslov na celih 10 bajtov.
kot sem že omenil, moj operater po več kot 15 letih, odkar razpolaga z ipv6 naslovi, še vedno ni strankam omogočil statičnih predpon, zato je treba za dosego zadostne ipv6 ekstaze žal še vedno dinamično urejati imenske zapise za računalnike. za imenski strežnik uporabljam bind9 in tam sem ustvaril eno dinamično dns območje rfc2136.sijanec.eu.
, kjer lahko z nsupdate(1)
urejam zapise.
zone "rfc2136.sijanec.eu" { type master; file "/var/lib/bind/db.rfc2136.sijanec.eu"; key-directory "/etc/bind/keys"; auto-dnssec maintain; inline-signing yes; update-policy { grant ddns-key.rfc2136.sijanec.eu. subdomain rfc2136.sijanec.eu. ANY; }; };
simetrični ključ generiramo z
gentoo distribucija uporablja
na debianu z networkmanager pa se zadevo uredi drugače, za shranjevanje tokena:
... in za izdelavo ddns dodamo skript, ki ga pokliče /etc/NetworkManager/dispatcher.d/01-ifupdown ob primernih trenutkih. tu je uporabljenih kar nekaj hackov; kot prvo nimamo na voljo imena omrežje kartice in kot drugo se začuda ta skript izvede, preden zares dobimo ipv6 naslov, kar mi ni povsem jasno, zato počakam 1 sekundo, kar v teoriji upočasni dobršen del sisema in zna voditi do težav:
ddns-confgen > keyfile.conf
, dobljeno datoteko pa vgradimo v named.conf in jo shranimo tudi na vse računalnike, kjer želimo izvajati dinamične dns posodobitve. v praksi za dosego večje varnosti naredimo več ključev za vsako napravo posebej.
netifrc
za konfiguracijo omrežnih vmesnikov. konfiguracija naprave, ki se poveže v ipv6 in v dns objavi svoj naslov, izgleda na mojih gentoo napravah takole:
# /etc/conf.d/net
dns_domain_lo="sijanec.eu"
nis_domain_lo="sijanec.eu"
config_enp9s0="dhcp"
config_wlp12s0="dhcp"
token=::3
postup () {
sysctl net.ipv6.conf.$IFACE.accept_ra=1
ip token set $token dev $IFACE
p=`ip a s dev $IFACE | grep global | grep inet6 | sed 's/^\s*//' | while read a; do grep $token <<<$a > /dev/null && echo $a && break; done`
[ x"$p" = x ] && p=`ip a s dev $IFACE | grep global | grep inet6 | sed 's/^\s*// ' | head -n1`
i=`cut -d' ' -f2 <<<"$p" | cut -d/ -f1`
nsupdate -k /etc/rfc2136.conf << EOF
server ns1.sijanec.eu
update delete `hostname`.rfc2136.sijanec.eu. AAAA
update add `hostname`.rfc2136.sijanec.eu. 1 AAAA $i
send
EOF
return 0
}
sudo nmcli connection modify domači\ nat ipv6.addr-gen-mode eui64
sudo nmcli connection modify domači\ nat ipv6.token ::4
#!/bin/bash
# /etc/network/if-up.d/rfc2136
if [ x$1 = x ]
then
sleep 1
$0 delayed
else
p=`ip a | grep global | grep inet6 | sed 's/^\s*//' | while read a; do grep ::4 <<<$a > /dev/null && echo $a && break; done`
[ x"$p" = x ] && p=`ip a s | grep global | grep inet6 | sed 's/^\s*//' | head -n1`
i=`cut -d' ' -f2 <<<"$p" | cut -d/ -f1`
nsupdate -k /etc/rfc2136.conf << EOF
server ns1.sijanec.eu
update delete `hostname`.rfc2136.sijanec.eu. AAAA
update add `hostname`.rfc2136.sijanec.eu. 1 AAAA $i
send
EOF
fi