Supernode konfigurieren

auf dem Router:
mit batctl o kann ich die mac-addresse der fastd-interface vom Server sehen

ich kann jetzt aber den Server selber 192.168.99.1 nicht anpingen auch nicht durch batctl p …
soll ich tcpdumb auf dem Router installieren ?

Grüße
Shaymaa

Wenn du Gluon benutzt, wird der Router wohl keine V4 haben, hast du es mit V6 probiert?

Glaube um ein bisschen tcpdump-Spielerei wirst du nicht herum kommen.

Hast du auf dem Laptop eine Default Route zum vpn-server? Falls ja, hast du auf dem VPN-Server Routing aktiviert? Falls ja, ist das NAT für ipv4 richtig eingestellt und wird ipv6 richtig gerohtrt?

Ach ja. Immer dabei schreiben, ob du dich in ipv6 oder ipv4 bewegst. Sind zwei Paar Schuhe!

IPv6 habe ich garnicht eingeführt. vielleicht war das auch das problem.
nur IPv4

default-lease-time 240;
max-lease-time 1200;
authoritative;
log-facility local7;
subnet 192.168.99.0 netmask 255.255.255.0 {
range 192.168.99.2 192.168.99.254;
option routers 192.168.99.1;
#option domain-name-servers 192.168.99.1;
option interface-mtu 1280
interface bat0;
}

IPv6-DHCPserver für lokale netze einrichten mit evt. so eine Adresse? fdd3:5d16:b5dd:1009::/64

interface bat0 {
MaxRtrAdvInterval 200;
prefix fdd3:5d16:b5dd:1009::/64 {
AdvOnLink on;
AdvAutonomous on;
# AdvRouterAddr on;
};
};
zeigt aber Fehler Meldung, kann mir jemanden sagen was das bedeutet. ich habe gegoogelt komme nicht auf ein Lösung.

-problem checking all-routers membership on bat0
-sendmsg: Network is unreachable

Dann mach doch erst mal ipv4. Wenn du vom Laptop den Router pingen kannst, und du nicht ins Internet pingen kannst, dann ist ipv4 Routing nicht aktiviert, oder das NAT nicht eingerichtet.

1 „Gefällt mir“

vom Laptop kann ich das dhcp server (192.168.99.1 bat0) anpingen wenn ich mit dem Router per wlan verbunden bin.

vom Router selber kann ich den 192.168.99.1 nicht anpingen

für NAT habe ich :
sudo iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -o mesh-vpn -j MASQUERADE

reicht das ?

Das ist beides korrekt, weil der Router keine V4 hat. Nur diese pseudo IPV4, auf der er aber nur aus dem eigenen lokalen Netz, nicht vom Gateway aus erreichbar ist.

Ich glaube, dass alles richtig ist.

Die NAT-Regel muss quell- und nicht zielbarsiert (source versus destination nat) sein:

-A POSTROUTING -o tun-+ -j SNAT --to-source 185.66.193.51

Die tun-Interfaces sind bei uns die Uplink-Tunnel. Bei dir ist das vermutlich dann eth0 oder so.

Du kannst den den dhcp-server pingen, weil du im gleichen logischen Netz bist: 192.168.99.0/24 vermute ich. D.h. der Freifunk-Knoten baut den tunnel zum vpn-server (auf dem der dhcp-server läuft) richtig auf und da funktioniert alles.

Dein Nat ist vermutlich falsch. Was macht die Zeile?

In die Tabelle nat wird in die Regel POSTROUTING geschrieben:

  • Pakete die als Quell-Ip im Netz 192.168.99.0/24 (-s 192.168.99.0/24) UND
  • und den VPN-Server über das interface mesh-vpn (-o mesh-vpn) verlassen wollen

werten mit der IP-Adresse des mesh-vpn maskiert (-j MASQUERADE). Das mesh-vpn ist vermutlich das (innere) Interface: es gibt keine Pakete, die Quelle 192.168.99.0/24 haben und den Router wieder über das Interface verlassen. Die kommen da ja rein.

Richtig ist vermutlich:

sudo iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -o eth0 -j MASQUERADE

Wenn eth0 das Interface des VPN-Servers ist, das am Internet hängt. Mehr Details:

  • man iptables
  • man iptables-extensions

Wie ein Paket so durch nen Linux geht (input/forward/output, pre-routing/postrouting, etc), wird hier schön erklärt:

So werden alle Pakete, egal über welches Interface sie rein kommen, z.B. auch über ein anderes tun-Interface, auf die IP-Adresse 185.66.193.51 maskiert (falls sie auf einem Interface konfiguriert ist). Das halte ich für einen Fehler. Es fehlt ein „-i bat+“.

1 „Gefällt mir“

Sorry aber ich bin jetzt etwas durcheinander. das natten hier wird auf dem Server oder ?

eth0 hier ist die interface, die auch in der fastd-server durch batman angelegt ist (virtuell) ? bei mir mesh-vpn.
oder das physikalische was am Netz hängt ? eth0

Grüße

Shaymaa

Weiß nicht. Mal mal auf.

hat für kurze zeit geklappt, dann nicht mehr. Auf dem Router selber habe ich das IP-interface für die lokalen Node geändern von der Community IP in das private IP was ich nutze.

jetzt nicht mehr :cry:

Ja, als erste darfst du dem Knoten nicht die gleiche IP geben, die auch der super-node auf seinem bat0-Interface hat. Du weist warum? Kennst du die Funktion vom local-node interface auf den Knoten? Nimm für den Konten z.B. die 192.168.99.254. Verkleinere den DHCP-Range entsprechend!

Dann:

Für mal auf dem Super-Knoten diesen Befehl aus: sudo iptables -t nat -L -v

Dann werden auch eingehende/ausgehende Ports gezeigt. Dann siehst du, dass ich oben wohl mit dem eth0 richig lag.

-leider nein. ich kenne die Funktion nicht

  • wenn die 192.168.99.254 nehme muss den range so schreibe ?
    range 192.168.99.2 192.168.99.253;

Du hast vollkommen recht mit eth0 :wink:

local-node: ipv4/ipv6-Adressen, über die ein Knoten immer lokal erreichbar ist. Wenn alles nicht geht, kommt man, wenn man sich an dem WLAN angemeldet hat, immer auf den nächsten Knoten. Im ipv6 Fall klappt das immer, den der Knoten verbreitet selbständig das zugehörige Netzwerk. Im ipv4 Fall, muss man sich eine statische IP geben (da im zweifel ja keine DHCP-Server erreichbar sind).

Aufgrund von deinem Bild gehe ich davon aus, dass du noch einen zweiten Super-Node bauen willst. Soll der das gleiche Netz bedienen? Falls ja, dann reservier im range gleich noch eine ipv4 für den (192.168.99.2), und überlege dir, ob du an den Supernodes den server-mode aktivieren willst. Falls ja, kommt es auf den Standort des/der DHCP-Server an (siehe auch Gateways - batman-adv - Open Mesh), ob und wie du den range auf die beiden Server aufteilen willst.

range 192.168.99.2 192.168.99.253;

ist bisher richtig.

Vielen Dank an euch allen. Es hat endlich alles geklappt.

WLAN-Durchsatz auf dem Laptop bei der Nutzung von TL-WDR4300-Router ist überhabt nicht interessant ungefähr 10 Mbit/s. hätte was besseres erwartet in einem Gibt-Netz

Du machst fastd, oder? Hausaufgabe: Warum das Setup mit fastd „langsam“ ist.