[Berlin-wireless] MAP66 (NAT fuer IPv6)

Sven-Ola Tuecke sven-ola
Do Aug 26 19:39:18 CEST 2010


FYI,

ich hab'n Kernelmodul und eine ip6tables fuer NAT66 fertig. Nennt sich "MAP66" 
um Namens- und Denkkonflikte zu vermeiden. Zur Zeit nur Kernel-2.6. Muss noch'n 
Paket zusammenstellen und richtig testen kann ich gerade auch nicht (not-
enough sixxs points). Code steht erstmal hier:

http://ff-firmware.cvs.sourceforge.net/viewvc/ff-firmware/ff-devel/ip6t_MAP66-0.1/

Unter der Voraussetzung dass z.B. mit einer Freifunk-Firmware eine 
durchgehende Route zum Gateway mit ULAs (also irgend eine IP aus 
fdca:ffee:babe::/64) aufgebaut werden kann funktioniert das ganze auf dem IPv6-
Internet-Gateway etwa so:

insmod ip6t_MAP66.ko
ip6tables -t mangle -I POSTROUTING -o sixxs \
  -s fdca:ffee:babe::/64 -j MAP66 --to 2001:4dd0:ff00:2ee::/64
ip6tables -t mangle -I PREROUTING  -i sixxs \
  -d 2001:4dd0:ff00:2ee::/64 -j MAP66 --to fdca:ffee:babe::/64

Lektuere: http://tools.ietf.org/html/draft-mrw-behave-nat66-02

Um dann noch einen Linux-Rechner ohne OLSR, der an einem Freifunk-Router per 
Ethernet haengt, mit IPv6 zu versorgen (aktuelle Freifunk-Firmware-Testing, 
muss noch ausgefummelt und mit GUI versehen werden):

ipkg install radvd
cat>/etc/radvd.conf<<EOF
root at sven-ola-gs:~# cat /etc/radvd.conf 
interface br0
{
        AdvSendAdvert on;
        prefix fdca:ffee:babe::/64
        {
                AdvOnLink off;
        };
        #RDNSS 2001:4f8:0:2::14
        #{
        #};
};
EOF
ff_ipv6_lanmacs="00:0e:8e:0d:fe:be;00:c0:9f:2a:f2:38"
nvram commit
reboot

Damit bekommt der PC via Radvd eine passende ULA fuer das Freifunk-IPv6 
verpasst und auszerdem wird die IP (des PCs) noch per Hna6 angekuendigt damit 
es auch mit den Rueckrouten funzt.

// Sven-Ola





Mehr Informationen über die Mailingliste Berlin