Freifunk-Gateway aufsetzen/xlat464: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „= Erklärung = = Vorraussetzung = = Einrichtung =“) |
|||
Zeile 2: | Zeile 2: | ||
= Vorraussetzung = | = 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: | |||
<code> | |||
ip -6 ro replace fd43:5602:29bd:ffff::deine_res_ip/128 dev lo proto static table fff | |||
</code> | |||
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!): | |||
<code> | |||
ip -6 ru add from all to fd43:5602:29bd:ffff::deine_res_ip/128 lookup main priority 10 | |||
</code> | |||
Danach installieren wir clatd nach Anleitung https://github.com/toreanderson/clatd: | |||
<code> | |||
cd ~ | |||
git clone https://github.com/toreanderson/clatd | |||
sudo make -C clatd install installdeps | |||
</code> | |||
Wir müssen die config ein klein wenig erweitern: | |||
/etc/clatd.conf | |||
<code> | |||
dns64-servers=fd43:5602:29bd:ffff:1:1:1:64 | |||
v4-conncheck-enable=no | |||
clat-v6-addr=fd43:5602:29bd:ffff::deine_res_ip | |||
</code> | |||
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: | |||
<code> | |||
systemctl restart clatd | |||
</code> | |||
Den Status ob alles geklappt hat mit | |||
<code> | |||
systemctl status clatd | |||
</code> | |||
angucken, dies sollte etwa so aussehen: | |||
<code> | |||
● clatd.service - 464XLAT CLAT daemon | |||
Loaded: loaded (/etc/systemd/system/clatd.service; enabled; vendor preset: enabled) | |||
Active: active (running) since Tue 2021-01-19 14:56:27 CET; 13min ago | |||
Docs: man:clatd(8) | |||
Main PID: 11764 (clatd) | |||
Tasks: 2 (limit: 2359) | |||
Memory: 18.5M | |||
CGroup: /system.slice/clatd.service | |||
├─11764 /usr/bin/perl -w /usr/sbin/clatd | |||
└─11780 tayga --config /tmp/Tm3kPlgTzD --nodetach | |||
Jan 19 14:56:27 uranus clatd[11764]: Creating and configuring up CLAT device 'clat' | |||
Jan 19 14:56:27 uranus clatd[11764]: Created persistent tun device clat | |||
Jan 19 14:56:27 uranus clatd[11764]: Adding IPv4 default route via the CLAT | |||
Jan 19 14:56:27 uranus clatd[11764]: Starting up TAYGA, using config file '/tmp/Tm3kPlgTzD' | |||
Jan 19 14:56:27 uranus tayga[11780]: starting TAYGA 0.9.2 | |||
Jan 19 14:56:27 uranus tayga[11780]: Using tun device clat with MTU 1500 | |||
Jan 19 14:56:27 uranus tayga[11780]: TAYGA's IPv4 address: 192.0.0.2 | |||
Jan 19 14:56:27 uranus tayga[11780]: TAYGA's IPv6 address: 64:ff9b::c000:2 | |||
Jan 19 14:56:27 uranus tayga[11780]: NAT64 prefix: 64:ff9b::/96 | |||
Jan 19 14:56:27 uranus tayga[11780]: Note: traffic between IPv6 hosts and private IPv4 addresses (i.e. to/from 64:ff9b::10.0.0.0/104, 64:ff9b::192.168.0.0/112, etc) will be dropped. Use a translation prefix within your organization's IPv6 | |||
</code> | |||
Danach müssen noch die Freifunk Netze auf das clat Interface geroutet und genNATet werden: | |||
<code> | |||
ip ro replace default dev clat table fff | |||
iptables -t nat -A POSTROUTING -o clat -j SNAT --to-source 192.0.0.1 | |||
</code> | |||
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! | |||
= Einrichtung = | = Einrichtung = |
Version vom 19. Januar 2021, 16:13 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, dies sollte etwa so aussehen:
● clatd.service - 464XLAT CLAT daemon
Loaded: loaded (/etc/systemd/system/clatd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-01-19 14:56:27 CET; 13min ago
Docs: man:clatd(8)
Main PID: 11764 (clatd)
Tasks: 2 (limit: 2359)
Memory: 18.5M
CGroup: /system.slice/clatd.service
├─11764 /usr/bin/perl -w /usr/sbin/clatd
└─11780 tayga --config /tmp/Tm3kPlgTzD --nodetach
Jan 19 14:56:27 uranus clatd[11764]: Creating and configuring up CLAT device 'clat'
Jan 19 14:56:27 uranus clatd[11764]: Created persistent tun device clat
Jan 19 14:56:27 uranus clatd[11764]: Adding IPv4 default route via the CLAT
Jan 19 14:56:27 uranus clatd[11764]: Starting up TAYGA, using config file '/tmp/Tm3kPlgTzD'
Jan 19 14:56:27 uranus tayga[11780]: starting TAYGA 0.9.2
Jan 19 14:56:27 uranus tayga[11780]: Using tun device clat with MTU 1500
Jan 19 14:56:27 uranus tayga[11780]: TAYGA's IPv4 address: 192.0.0.2
Jan 19 14:56:27 uranus tayga[11780]: TAYGA's IPv6 address: 64:ff9b::c000:2
Jan 19 14:56:27 uranus tayga[11780]: NAT64 prefix: 64:ff9b::/96
Jan 19 14:56:27 uranus tayga[11780]: Note: traffic between IPv6 hosts and private IPv4 addresses (i.e. to/from 64:ff9b::10.0.0.0/104, 64:ff9b::192.168.0.0/112, etc) will be dropped. Use a translation prefix within your organization's IPv6
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!