Freifunk-Gateway aufsetzen/xlat464: Unterschied zwischen den Versionen
Zeile 4: | Zeile 4: | ||
Zuerst benötigen wir eine weitere ULA IPv6 Adresse. Diese Adresse darf an kein Interface gebunden sein, muss aber ins Babel announced werden. Dies können wir mit einer route in der fff table erledigen: | Zuerst benötigen wir eine weitere ULA IPv6 Adresse. Diese Adresse darf an kein Interface gebunden sein, muss aber ins Babel announced werden. Dies können wir mit einer route in der fff table erledigen: | ||
< | <pre> | ||
ip -6 ro replace fd43:5602:29bd:ffff::deine_res_ip/128 dev lo proto static table fff | ip -6 ro replace fd43:5602:29bd:ffff::deine_res_ip/128 dev lo proto static table fff | ||
</ | </pre> | ||
Für diese IP müssen wir zwingend in die main table gucken da dort später clatd eine route ablegt (priority kann angepasst werden, die rule sollte aber sehr bald greifen!): | Für diese IP müssen wir zwingend in die main table gucken da dort später clatd eine route ablegt (priority kann angepasst werden, die rule sollte aber sehr bald greifen!): | ||
< | <pre> | ||
ip -6 ru add from all to fd43:5602:29bd:ffff::deine_res_ip/128 lookup main priority 10 | ip -6 ru add from all to fd43:5602:29bd:ffff::deine_res_ip/128 lookup main priority 10 | ||
</ | </pre> | ||
Danach installieren wir clatd nach Anleitung https://github.com/toreanderson/clatd: | Danach installieren wir clatd nach Anleitung https://github.com/toreanderson/clatd: | ||
< | <pre> | ||
cd ~ | cd ~ | ||
git clone https://github.com/toreanderson/clatd | git clone https://github.com/toreanderson/clatd | ||
sudo make -C clatd install installdeps | sudo make -C clatd install installdeps | ||
</ | </pre> | ||
Wir müssen die config ein klein wenig erweitern: | Wir müssen die config ein klein wenig erweitern: | ||
Zeile 26: | Zeile 26: | ||
/etc/clatd.conf | /etc/clatd.conf | ||
< | <pre> | ||
dns64-servers=fd43:5602:29bd:ffff:1:1:1:64 | dns64-servers=fd43:5602:29bd:ffff:1:1:1:64 | ||
v4-conncheck-enable=no | v4-conncheck-enable=no | ||
clat-v6-addr=fd43:5602:29bd:ffff::deine_res_ip | clat-v6-addr=fd43:5602:29bd:ffff::deine_res_ip | ||
</ | </pre> | ||
In der ersten Zeile wird der DNS64 Server für das 64:ff9b::/96 Subnetz angegeben. In der 2. Zeile wird der IPv4 Check deaktiviert (das Gateway hat in den meisten Fällen eine IPv4 Adresse, so das dieser Check sonst den Abbruch bedeutet) und in der 3. Zeile wird die IP Adresse angegeben die wir oben bereits entsprechend geroutet haben. | In der ersten Zeile wird der DNS64 Server für das 64:ff9b::/96 Subnetz angegeben. In der 2. Zeile wird der IPv4 Check deaktiviert (das Gateway hat in den meisten Fällen eine IPv4 Adresse, so das dieser Check sonst den Abbruch bedeutet) und in der 3. Zeile wird die IP Adresse angegeben die wir oben bereits entsprechend geroutet haben. | ||
Zeile 36: | Zeile 36: | ||
Danach kann man clatd starten: | Danach kann man clatd starten: | ||
< | <pre> | ||
systemctl restart clatd | systemctl restart clatd | ||
</ | </pre> | ||
Den Status ob alles geklappt hat mit | Den Status ob alles geklappt hat mit | ||
< | <pre> | ||
systemctl status clatd | systemctl status clatd | ||
</ | </pre> | ||
angucken. | angucken. | ||
Zeile 50: | Zeile 50: | ||
Danach müssen noch die Freifunk Netze auf das clat Interface geroutet und genNATet werden: | Danach müssen noch die Freifunk Netze auf das clat Interface geroutet und genNATet werden: | ||
< | <pre> | ||
ip ro replace default dev clat table fff | ip ro replace default dev clat table fff | ||
iptables -t nat -A POSTROUTING -o clat -j SNAT --to-source 192.0.0.1 | iptables -t nat -A POSTROUTING -o clat -j SNAT --to-source 192.0.0.1 | ||
</ | </pre> | ||
Es können somit in den Hoods auch IPv4 Adressen verwendet werden, die nicht im Freifunk reserviert sind, z.b. aus dem 192.168.0.0/16 Netz (z.b. für jede Hood ein /23 aus diesem Netz) | Es können somit in den Hoods auch IPv4 Adressen verwendet werden, die nicht im Freifunk reserviert sind, z.b. aus dem 192.168.0.0/16 Netz (z.b. für jede Hood ein /23 aus diesem Netz) |
Version vom 19. Januar 2021, 16:14 Uhr
Erklärung
Vorraussetzung
Zuerst benötigen wir eine weitere ULA IPv6 Adresse. Diese Adresse darf an kein Interface gebunden sein, muss aber ins Babel announced werden. Dies können wir mit einer route in der fff table erledigen:
ip -6 ro replace fd43:5602:29bd:ffff::deine_res_ip/128 dev lo proto static table fff
Für diese IP müssen wir zwingend in die main table gucken da dort später clatd eine route ablegt (priority kann angepasst werden, die rule sollte aber sehr bald greifen!):
ip -6 ru add from all to fd43:5602:29bd:ffff::deine_res_ip/128 lookup main priority 10
Danach installieren wir clatd nach Anleitung https://github.com/toreanderson/clatd:
cd ~ git clone https://github.com/toreanderson/clatd sudo make -C clatd install installdeps
Wir müssen die config ein klein wenig erweitern:
/etc/clatd.conf
dns64-servers=fd43:5602:29bd:ffff:1:1:1:64 v4-conncheck-enable=no clat-v6-addr=fd43:5602:29bd:ffff::deine_res_ip
In der ersten Zeile wird der DNS64 Server für das 64:ff9b::/96 Subnetz angegeben. In der 2. Zeile wird der IPv4 Check deaktiviert (das Gateway hat in den meisten Fällen eine IPv4 Adresse, so das dieser Check sonst den Abbruch bedeutet) und in der 3. Zeile wird die IP Adresse angegeben die wir oben bereits entsprechend geroutet haben.
Danach kann man clatd starten:
systemctl restart clatd
Den Status ob alles geklappt hat mit
systemctl status clatd
angucken.
Danach müssen noch die Freifunk Netze auf das clat Interface geroutet und genNATet werden:
ip ro replace default dev clat table fff iptables -t nat -A POSTROUTING -o clat -j SNAT --to-source 192.0.0.1
Es können somit in den Hoods auch IPv4 Adressen verwendet werden, die nicht im Freifunk reserviert sind, z.b. aus dem 192.168.0.0/16 Netz (z.b. für jede Hood ein /23 aus diesem Netz)
Wenn man kein IPv4 mehr routen möchte kann im babeld IPv4 komplett deaktivieren und auf den Gateway alle IPv4 Adressen auf allen peering Interfaces verwerfen. Seiteneffekte sind noch ungeprüft und muss u.U. beachtet werden!