NAT64: Unterschied zwischen den Versionen
Aus Freifunk Franken
(→NAT 64) |
|||
Zeile 59: | Zeile 59: | ||
address 10.83.252.53 #hier muss die v4 von Freifunk auch mit dran | address 10.83.252.53 #hier muss die v4 von Freifunk auch mit dran | ||
netmask 255.255.255.255 | netmask 255.255.255.255 | ||
post-up ip route add 192.168.xx.x/24 dev $IFACE tab fff | post-up ip route add 192.168.xx.x/24 dev $IFACE tab fff #damit die Rückroute von tayga bekannt ist muss diese in die Tabelle rein, es darf/muss kein proto static verwendet werden, da Babel die Rückroute nicht announcen muss da wir NAT machen | ||
post-up ip addr add 2a0b:yy:xx:6464::1 dev $IFACE | post-up ip addr add 2a0b:yy:xx:6464::1 dev $IFACE #damit PMTU klappt, muss die Adresse auch hier ran | ||
post-up ip route add 192.168.xx.x/24 dev $IFACE | post-up ip route add 192.168.xx.x/24 dev $IFACE #die Zeile ist überflüssig oder? | ||
post-up ip route add 2a0b:yy:xx:6464::/96 dev $IFACE proto static tab fff | post-up ip route add 2a0b:yy:xx:6464::/96 dev $IFACE proto static tab fff #die Route muss per Babel announced werden damit auch von außen erreichbar (muss wirklich?) | ||
post-up ip route add 2a0b:yy:xx:6465::/64 dev $IFACE proto static tab fff | post-up ip route add 2a0b:yy:xx:6465::/64 dev $IFACE proto static tab fff #die Route muss per Babel announced werden damit auch von außen erreichbar (muss wirklich?) | ||
post-up tayga --config /usr/local/etc/tayga.conf | post-up tayga --config /usr/local/etc/tayga.conf #tayga mit der entsprechenden config starten | ||
</pre> | </pre> |
Version vom 28. März 2018, 14:13 Uhr
Ich möchte hier mal grob versuchen das NAT64 Setup für Freifunk zu erklären.
Vorraussetzung
- 1 /64 Public v6 Netz
- 1 /96 v6 Netz (am besten auch Public)
- eine v4 Adresse wo man v4 Traffic los werden kann (geht z.b. auch per Freifunk)
- eine VM die per Ethernet an das Babelnetz angebunden ist
- Bei mir ist es ens9 welches direkt in der Babelbridge über den Host hängt
- es wird weder eine public v4 noch eine public v6 auf der VM benötigt (z.b. Hetzneradresse o.ä.)
Benötigte Programme
- bind9
- tayga
Tayga config
/usr/local/etc/tayga.conf
tun-device nat64 ipv4-addr 192.168.xx.1 prefix 2a0b:yy:xx:6464::/96 dynamic-pool 192.168.xx.0/24 data-dir /var/db/tayga
- Erste Zeile gibt das Device an worüber später Tayga arbeitet
- Zweite Zeile ist ein priv. Subnetz das tayga nutzt. Ich hab mich für ein 192.168.x.x entschieden. Man könnte auch ein 10er Subnetz hier im Wiki registrieren und per Babel announcen, dann spart man sich 1x NAT
- Dritte Zeile wird das /96 angegeben worein die v4 Adressen später gemappt werden
- Vierte Zeile ist der Pool den Tayga verwendet (2. Zeile)
- Fünfte Zeile wird angegeben wo Tayga die Datenbank ablegt.
Interface config
Freifunk
ens9 ist das Interface wo Babel drauf liegt:
#Freifunk auto ens9 iface ens9 inet static address 10.83.252.XX # hier muss die eigene priv. v4 Adresse aus dem Freifunknetz drauf netmask 255.255.255.255 post-up ip rule add from all lookup fff priority 20 # wir biegen den kompletten default Traffic auf Freifunk um. post-up iptables -t nat -A POSTROUTING -o $IFACE -j MASQUERADE #da tayga bei mir mit 192.168.X.X arbeitet, muss auf das ens9 ein NAT drauf iface ens9 inet6 static address 2a0b:yy:xx:6464::1/128 #v6 Adresse die im Freifunk dann erreichbar ist post-up ip -6 rule add from all lookup fff priority 20 # hier biegen wir den kompletten default Traffic auf Freifunk um
NAT 64
#NAT64 auto nat64 iface nat64 inet static pre-up tayga --mktun #zuerst das Interface von tayga anlegen lassen pre-up ip link set $IFACE up #das Interface starten address 10.83.252.53 #hier muss die v4 von Freifunk auch mit dran netmask 255.255.255.255 post-up ip route add 192.168.xx.x/24 dev $IFACE tab fff #damit die Rückroute von tayga bekannt ist muss diese in die Tabelle rein, es darf/muss kein proto static verwendet werden, da Babel die Rückroute nicht announcen muss da wir NAT machen post-up ip addr add 2a0b:yy:xx:6464::1 dev $IFACE #damit PMTU klappt, muss die Adresse auch hier ran post-up ip route add 192.168.xx.x/24 dev $IFACE #die Zeile ist überflüssig oder? post-up ip route add 2a0b:yy:xx:6464::/96 dev $IFACE proto static tab fff #die Route muss per Babel announced werden damit auch von außen erreichbar (muss wirklich?) post-up ip route add 2a0b:yy:xx:6465::/64 dev $IFACE proto static tab fff #die Route muss per Babel announced werden damit auch von außen erreichbar (muss wirklich?) post-up tayga --config /usr/local/etc/tayga.conf #tayga mit der entsprechenden config starten