Raspberrypi.gateway: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
 
(47 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
* Ziel ist es dass sich der Raspberry Pi mit einem WLAN verbindet, dieses ist in meinem Fall ein durch ein Handy aufgespannter HotSpot
== Alternativer Internet-Zugang ==
* Er ist per LAN an das lokale Netz angebunden, und soll eigentlich eine fest IP-Adresse haben
* Er soll als Gateway dem Netz dienen


* Ich konfiguriere einen Raspberry Pi (Trixie) als Gateway so dass ich einen alternativen Internet-Zugang nutzen kann
* Das Gateway erhalte ja ich automatisch auf einem Windows-System per DHCP - kann aber das Gateway dann temporär wechseln:


[[Datei:Change-Gateway.png]]


* 192.168.178.1 ist das Standard-Gateway via DHCP, so ist es nach dem Einschalten
* 192.168.178.50 ist mein Raspberry Pi, der dann einen ganz anderen Internet-Zugang zur Verfügung stellt


== Problem 1 ==


* LAN sollte eine statische Adresse erhalten, wenn ich aber in interfaces was formuliere geht wlan0 DHCP nicht mehr
* Ein Raspberry muss dann 2 Netzwerkschnittstellen haben
** einen im aktuellen Netz z.B. "wlan0"
** einen der direkt Client des alternativen Internetzugangs ist z.B. "eth0"
* So kann sich der Raspberry Pi mit einem WLAN verbindet
** dieses ist ein durch ein Handy aufgespannter HotSpot "wlan0"
** oder direkt am Arris Modem eines Vodafone Kabel Anschlusses "eth0" (also vertauschte Rollen, LAN am Modem, WLAN in deinem Netz)
* Das Gateway muss immer vom Soll- Internetzugang gesetzt werden
* Der Gateway Eintrag vom lokalen Netz muss ignoriert oder gelöscht werden!


=== Lösung? ===
=== im lokalen-Device (dein Netz) ===


/etc/dhcpcd.conf
Mit nmtui das setzen des Gateway rausnehmen
interface eth0
static ip_address=10.0.0.1/24


-> noch testen!
=== im Internet-Zugang (dein alternativer Internet-Zugang) ===


== Problem 2 ==
meine "and-firewall.sh"


* sind beide interfaces ungenannt wird immer wieder die standard-route des LAN gesetzt
#!/bin/bash
* dann haben wir 2 standard-Route, die vom wlan0 ist aber die einzig richtige
 
#
== Problem 3 ==
# erst mal die Tabellen leeren
 
#
* /etc/dhcp/dhcpcd.conf scheint wirkungslose zu sein
iptables -F
 
  iptables -X
== Problem 4 ==
  iptables -t nat -F
 
  iptables -t nat -X
* der Raspi macht zwar einen internen automatischen reconnect auf das wlan0
  iptables -t mangle -F
* aber er holt sich keine IP Adresse ab, das wlan0 INterface stellt sich so dar:
  iptables -t mangle -X
 
   
  wlan0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
  #
        ether b8:27:eb:6d:1b:a7 txqueuelen 1000  (Ethernet)
  echo 1 > /proc/sys/net/ipv4/ip_forward
        RX packets 424373 bytes 46354455 (44.2 MiB)
   
        RX errors 0 dropped 0  overruns 0  frame 0
  DEV_LOC=eth0
        TX packets 1173317 bytes 1621973317 (1.5 GiB)
  DEV_EXT=eth1
        TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0
   
 
  iptables -t nat -A POSTROUTING -o $DEV_EXT -j MASQUERADE
* erst ein
   
 
  #
  systemctl restart dhcpcd
  # Show what you set
 
  iptables -t nat -L -n -v
* konfiguriert die wlan0 Verbindung wieder ordentlich
 
  wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICASTmtu 1500
        inet 192.168.115.49 netmask 255.255.255.0  broadcast 192.168.115.255
        inet6 2a02:8071:2bce:a600:fc2f:13ef:88f5:bb7d prefixlen 64  scopeid 0x0<global>
        inet6 fe80::d98:f2c6:7b55:c5c5  prefixlen 64 scopeid 0x20<link>
        ether b8:27:eb:6d:1b:a7 txqueuelen 1000  (Ethernet)
        RX packets 424734 bytes 46379214 (44.2 MiB)
        RX errors 0 dropped 0  overruns 0  frame 0
        TX packets 1173430 bytes 1622028515 (1.5 GiB)
        TX errors 0 dropped 0 overruns 0  carrier 0  collisions 0
 
* will man das ev. automatisch machen, sollte man noch den "status" der technischen WLAN Verbindung prüfen ...


wpa_cli -i wlan0 status
starten der and-firewall mit einem systemd service
bssid=dc:39:6f:b9:5a:a0
freq=2437
ssid=OrgaMon
id=0
mode=station
pairwise_cipher=CCMP
group_cipher=CCMP
key_mgmt=WPA2-PSK
wpa_state=COMPLETED
<s>ip_address=192.168.115.49</s>
p2p_device_address=ca:b6:ff:6b:7f:f3
address=b8:27:eb:6d:1b:a7
uuid=b2f1733f-4738-5f57-956c-9262b4882b58


* die durchgestrichene Zeile fehlt dann in diesem Fall
* es sieht so aus als hätte sich die p2p Adresse geändert:


# "hier" wurde die ip addresse Verloren
#
p2p_device_address=ca:b6:ff:6b:7f:f3
  #
  #
  # mit dieser neuen Adresse ging es dann wieder
  # /etc/systemd/system/and-firewall.service
  #
  #
  p2p_device_address=5e:9c:31:33:9d:17
   
 
[Unit]
* Ich denke es liegt am AVM Fritz!Box Mesh und der Streering Technologie
Description=route like a gateway
** https://patents.google.com/patent/WO2018096383A1/en
Requires=network-online.target
* Ich vermute der Raspi "soll" / "will" / "muss" zu einem anderen Node, dies verändert die p2p_device_address
After=network-online.target
* das funktioniert, aber er rechnet nicht damit dass die IP Adresse bleiben darf!
 
[Service]
== "routes" option beim DHCPD Server verhindern ==
Type=oneshot
WorkingDirectory=/root
ExecStart=/root/and-firewall.sh
[Install]
  WantedBy=multi-user.target


* Wir betreiben wegen "Problem 1" beide Interfaces im DHCP Modus
=== Wenn man einen DHCP-Server betreibt ===
* Verwirrung entsteht jedoch dass zusammen mit der IP Adresse für eth0 auch ein Gateway versendet und eigetragen wird
* da kabelgebunden hat es eine niedrigere Metrik und wird dem wlan0-gateway vorgezogen
* dies kann man auf seinem DHCPD Server verhindern, es ist jedoch eine undokumentierte Funktion
* <code><b>option routers false;</b></code>
* KORREKTUR: der Routername "false" kann nur nicht aufgeklöst werden, das ist kein Feature sondern ein Seiteneffekt, der zufällig geholen hat, ich mach das jetzt mit gruppen ...


  # /etc/dhcp/
  # /etc/dhcp/
Zeile 118: Zeile 92:
* im Notfall die default route löschen <code>ip route del default</code>
* im Notfall die default route löschen <code>ip route del default</code>


== aktuelles Router-Script ==
=== bisher ===
#!/bin/bash
#
# erst mal die Tabellen leeren
#
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
#
#
#
route del default gw 192.168.115.47
dhcpcd -S ip_adress=192.168.115.47/24 eth0
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
#
# Ausgabe zur Diagnose
#
iptables -t nat -L -v -n
route -vn
#
=== neu ===
* Es gibt einen 2. Internet-Zugang (FritZ!Box 2).
* Dieser soll als weiteres/alternatives Gateway im normalen Netz genutzt werden.
* Dabei ist ein Raspberry Pi über LAN Kabel an die 2. Fritz!Box angeschlossen
* Er ist zudem Teilnehmer des primären/normalen WLANS mit dem alle ins Internet gehen
* Ziele
** die Fritz!Box Oberfläche der 2. Box soll aus dem normalen WLAN aufrufbar sein
** der RPi soll als Gateway für den alternativen INternet-Zugang dienen


[[Datei:Zweites-Gateway.jpg|100px]]
[[Datei:Zweites-Gateway.jpg|100px]]
Zeile 190: Zeile 124:
  iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
  iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE


== Fritz!Box ==
=== Fritz!Box ===


=== Oberfläche ===
==== Oberfläche ====


* Ziel ist es, die Fritz!Box, die am eth0 Interface hängt sichtbar zu machen
* Ziel ist es, die Fritz!Box, die am eth0 Interface hängt sichtbar zu machen
Zeile 215: Zeile 149:


[[Datei:Freigaben-pi3x00.jpg]]
[[Datei:Freigaben-pi3x00.jpg]]
== In 2 verschiedenen Netzen ==
* Durch Erhöhen/Vermindern der Metric kann die Benutzung einer anderen Verbindung EIN oder AUS geschaltet werden
nmcli connection modify 'Wired connection 2' ipv4.route-metric 50
nmcli connection modify 'Wired connection 2' ipv6.route-metric 50
== VLAN für verschiedene Netze (auf einer Leitung) ==
* Wegen einer Störung habe ich mich entschieden einen alternativen Internet-Zugang anzuschaffen
* So habe ich einen DSL-Zugang (Fritz!BOX 7490) einen Kabel-Zugang (Vodafone-Arris-Modem) und eine herumliegende Fritz!BOX 7590
* Den WLAN-Zugang des Arris-Modems schalte ich ab
* Die 2 Fritz!Boxen spannen jeweils ein eigenes Mesh-WLAN-Netzwerk auf, der WAN-Eingang der 7590 wird vom Arris-Modem gespeist - so hat jedes Mesh einen Internet-Zugang
* Die Mesh Repeater sind zu einem Großteil über LAN an den Mesh-Master angebunden
* Es gibt 3 LAN-Netzwerke, 2x Fritz!BOX und 1x Arris-Modem
* Die verschiedenen Wohnungen sind nur über ein Netzwerkkabel angeschlossen. Um an jedem Netzwerk-Punkt alle 3 LAN Netze abgreifen zu können verwende ich die VLAN Technologie
* Die Uplinks (dafür verwende ich die rechten/hohen Ports der Switche also Port 6-8) sind alle Tagged und transportieren alle 3 Netze
* Administriert werden die Switche über den Port 1, da ist immer VLAN 1 ungetagged, so sperre ich mich nie aus
[[Datei:Netzwerk.png]]
* Will man die 3 TL-SG108E weiterhin über Port1 administrieren, so muss ...
** ... Port 1 (weiterhin) den PVID=1 haben
** ... Port 1 untagged und exclusiv dem VLAN 1 angehören
=== VLANs erstellen ===
==== Software ====
* Ich will dass ein Raspi mit einer Schnittstelle (eth0) in allen 3 Netzwerken ist
* Dazu sollen über DHCP 3 Netzwerkadressen und 3 Routen und 3 DNS gezogen werden
* Dazu schliesse ich den Raspi-eth0 an einen Tagged-Port eines Switches an (Port mit allen Netzen VLAN Id=1 / VLAN Id=2 / VLAN Id=3)
* Auf einem Raspberry Pi mit (Trixie) verwende ich den Netzwerkmanager
* Fraglich: Muss man das Paket <code>apt install vlan</code> installieren?
* Fraglich: Muss man das Kernel Modul <code>modprobe 8021q</code> installieren?
#
# eth0 vorbereiten
#
<b>nmtui</b>
IPv4 Configuration <Disabled>
IPv6 Configuration <Disabled>
[ ] Automatically Connect
[ ] Awailable to all users
#
# 3 vlan Adapter erstellen
#
<b>nmcli con add type vlan con-name "vlan1-conn" dev eth0 id 1
nmcli con add type vlan con-name "vlan2-conn" dev eth0 id 2
nmcli con add type vlan con-name "vlan3-conn" dev eth0 id 3</b>
#
# <b>ip r</b>
default via 192.168.0.1 dev eth1 proto dhcp src 192.168.0.236 metric 100
default via 192.168.178.1 dev eth0.1 proto dhcp src 192.168.178.50 metric 402
default via 192.168.0.1 dev eth0.2 proto dhcp src 192.168.0.15 metric 403
default via 192.168.115.8 dev eth0.3 proto dhcp src 192.168.115.62 metric 404
192.168.0.0/24 dev eth1 proto kernel scope link src 192.168.0.236 metric 100
192.168.0.0/24 dev eth0.2 proto kernel scope link src 192.168.0.15 metric 403
192.168.115.0/24 dev eth0.3 proto kernel scope link src 192.168.115.62 metric 404
192.168.115.0/24 dev wlan0 proto kernel scope link src 192.168.115.18 metric 601
192.168.178.0/24 dev eth0.1 proto kernel scope link src 192.168.178.50 metric 402
192.168.178.0/24 dev wlan2 proto kernel scope link src 192.168.178.70 metric 600
==== Hardware ====
* Über die Administration der beteiligten Switche werden die VLANs abgebildet
* Die beteiligten Repeater und Router merken davon nichts und müssen nicht für VLANs vorbereitet werden
* Die 3 VLANs sind für Endgeräte völlig getrennt, Teilnehmer eines Netzes können die anderen 2 Netze nicht sehen
===== Switch Heizraum =====
[[Datei:VLAN-2.png]]
[[Datei:PVID-2.png]]
===== Switch Keller =====
[[Datei:VLAN-1.png]]
[[Datei:PVID-1.png]]
===== Switch DG =====
[[Datei:VLAN-3.png]]
[[Datei:PVID-3.png]]
=== Switch W3 ===
[[Datei:GSS108E-VLAN-1.png]][[Datei:GSS108E-VLAN-2.png]][[Datei:GSS108E-VLAN-3.png]][[Datei:GSS108E-VLAN-4.png]][[Datei:GSS108E-VLAN-5.png]]
=== Diagnose ===
# kann der Kernel das?
<b>modinfo 8021q</b>
#
<b>tcpdump -nnei eth0 -vvv</b>
#
# mal prüfen was auf dem device so los ist, das ist sehr hilfreich
# vlan rot markiert
<b>tcpdump -nnei eth0 -vvv | grep --color " vlan "</b>


== vbkraichgau.de ERR_CONNECTION_TIMED_OUT ==
== vbkraichgau.de ERR_CONNECTION_TIMED_OUT ==


* Ich habe einen 1und1 (1&1, eins und eins) DSL-Anschluss (DS-Lite) und ab und zu ganztägige Timeouts beim Verbindungsversuch zu vbkraichgau.de
* Ich habe einen 1und1 (1&1, eins und eins) DSL-Anschluss (DS-Lite) und ab und zu ganztägige Timeouts beim Verbindungsversuch zu vbkraichgau.de (Homepage und Login).
* Bei im lokalen WLAN angemeldeten Handys funktioniert die "VR Banking App" dann auch nicht
* Im lokalen WLAN angemeldete Handys: Es funktioniert die "VR Banking App" dann auch nicht
* Alle anderen https://, http:// Seiten im Internet funktionieren der Anschluss ist störungsfrei
* Alle anderen https://, http:// Seiten im Internet funktionieren - der Anschluss ist ansonsten störungsfrei


=== Spekulation der Adruvia über die Ursache ===
=== Spekulation der Adruvia über die Ursache ===
Zeile 226: Zeile 262:
* Die Ursache würde am Internet-Anbieter 1und1 liegen
* Die Ursache würde am Internet-Anbieter 1und1 liegen
* DS-Lite wäre kein richtiger Internetanschluss man bräuchte einen Anschluss mit IP V4 Adresse
* DS-Lite wäre kein richtiger Internetanschluss man bräuchte einen Anschluss mit IP V4 Adresse
* IP V6 ist zu gering verbreitet deshalb wird es nicht angeboten und führt zu Problemen
* IP V6 ist zu gering verbreitet deshalb wird es nicht angeboten und führt zu Problemen in Zusammenarbeit mit IP V4


Dazu meine Stellungnahme
Dazu meine Stellungnahme
Zeile 232: Zeile 268:
* Nein, es liegt nicht am Provider 1 und 1
* Nein, es liegt nicht am Provider 1 und 1
* Nein, DS-Lite hat keine Nachteile bei http://, https://  
* Nein, DS-Lite hat keine Nachteile bei http://, https://  
** DS-Lite vergibt eine IP V4 Adresse UND eine IP V6 Adresse
** DS-Lite vergibt eine IP V4 Adresse UND eine IP V6 Adresse - Immer beide!
** Auf IP V4 Seite gibt es Einschränkungen bei der Erreichbarkeit aus dem Internet (Rückkanal) was beim Surfen jedoch keine Rolle spielt
** Auf IP V4 Seite gibt es Einschränkungen bei der Erreichbarkeit aus dem Internet (Rückkanal) was beim Surfen jedoch keine Rolle spielt
** Die zugeteilte IP V4 Adresse ist NICHT auf einen aktuell aktiven Internetzugang beschränkt
** Die zugeteilte IP V4 Adresse ist NICHT auf einen aktuell aktiven Internetzugang beschränkt
** Der Rückkanal ist nur auf IP V6 Seite unbeschränkt
** Der Rückkanal ist nur auf IP V6 Seite unbeschränkt
** Die Exklusivität ist nur auf der IP V6 Seite gegeben, von einer 1:1 Beziehung kann bei V4 <b>NICHT</b> ausgegangen werden
** Die Exklusivität (1 Zugang:1 Adresse) ist nur auf der IP V6 Seite gegeben, von einer 1:1 Beziehung kann bei V4 <b>NICHT</b> ausgegangen werden
* IP V6 als alternativen Zugang anzubieten führt seit Jahren zu keiner Störung im IP V4 Bereich


=== Meine Spekulation über die wahre Ursache ===
=== Meine Spekulation über die wahre Ursache ===


* Im Rechenzentrum der Atruvia wird eine Sicherheits-Software eingesetzt die IP V4 adressbezogen die Anzahl und Art der Zugriffe protokolliert
* Im Rechenzentrum der Alruvia wird eine Sicherheits-Software eingesetzt die IP V4 adressbezogen die Anzahl und Art der Zugriffe protokolliert
* Das https:// Protokoll verwendet zum Absichern TLS, ich denke auch diese Verbindungen werden genau inspiziert
* Das https:// Protokoll verwendet zum Absichern das TLS-Protokoll, ich denke auch diese Verbindungen werden genau inspiziert
* Ist das Zugriffs-Schema einer IP V4 Adresse "verdächtig" wird die IP V4 Adresse als "missbräuchlich" markiert und gesperrt
* Ist das Zugriffs-Schema einer IP V4 Adresse "verdächtig" wird die IP V4 Adresse als "missbräuchlich" markiert und gesperrt
* Jegliche weitere Kontaktaufnahme wird vollständig ignoriert, es wird keine Verbindung mehr aufgebaut ->
* Jegliche weitere Kontaktaufnahme wird vollständig ignoriert, es wird keine Verbindung mehr aufgebaut, dadurch der _TIMEOUT
* Ich vermute 1 & 1 hat aus Kostengründen einen sehr engen IP V4 Adressbereich
* Ich vermute 1 & 1 hat aus Kostengründen einen sehr engen IP V4 Adressbereich
* Normal ist, dass alle 1 und 1 Kunden diesen engen Adressbereich gemeinsam nutzen und dabei dutzende auch eine einzelne IP V4
* Normal ist, dass alle 1 und 1 Kunden diesen engen Adressbereich gemeinsam nutzen und dabei dutzende Anschlüsse gleichzeitig auch eine einzelne IP V4 Adresse
* So ist es denkbar dass innerhalb weniger Minuten zahlreiche gleichzeitige Verbindungsversuche mit verschiedenen TLS Identitäten beobachtet werden
* So ist es denkbar dass innerhalb weniger Minuten zahlreiche gleichzeitige Verbindungsversuche mit verschiedenen TLS- Identitäten auf einer IP V4 Adresse beobachtet werden
* Das sieht aus wie ein Angriff eines automatischen Systems zum "Niederzwingen der Performance" oder "Ausprobieren zahlreicher Passworte"
* Das sieht aus wie ein Angriff eines automatischen Systems zum "Niederzwingen der Performance" oder zum "Ausprobieren zahlreicher Passworte"
* Dies ist eine fehlerhafte Einschätzung der Sicherheits-Software unter Missachtung der technischen Realitäten von Dual Stack Lite (DS-Lite)
* Ich denke in der Folge wird die Quell IP V4 Adresse von 1&1 als "böse" markiert, und somit zahlreiche 1und1 Kunden ausgesperrt


=== Lösungen ===
=== Lösungen ===
==== kurzfristig ====
* Korrekte Konfiguration der Sicherheits-Software
* oder Einpflegen der IP-V4 Adressen des Providers 1 und 1, Policy-Änderung bei diesen Adressen
==== langfristig ====


* vbkraichgau.de wird ausschließlich auf eine IP V4 Adresse aufgelöst (A-Record), eine IP V6 Adresse wird nicht alternativ angeboten (AAAA-Record)
* vbkraichgau.de wird ausschließlich auf eine IP V4 Adresse aufgelöst (A-Record), eine IP V6 Adresse wird nicht alternativ angeboten (AAAA-Record)
** Würde vbkraichgau.de auch eine IP V6 Adresse im DNS liefern würde das Problem nicht entstehen, da sich Clients vorrangig via IP V6 verbinden würden
** Würde vbkraichgau.de auch eine IP V6 Adresse im DNS liefern würde das Problem nicht entstehen, da sich Clients vorrangig via IP V6 verbinden würden
** Würden sich Clients über IP V6 Verbinden wäre die fälschlicherweise angenommene 1:1 Beziehung (eine Adresse<->einige wenige Nutzer) wieder näher an der Relatität

Aktuelle Version vom 14. Januar 2026, 18:51 Uhr

Alternativer Internet-Zugang

  • Ich konfiguriere einen Raspberry Pi (Trixie) als Gateway so dass ich einen alternativen Internet-Zugang nutzen kann
  • Das Gateway erhalte ja ich automatisch auf einem Windows-System per DHCP - kann aber das Gateway dann temporär wechseln:

  • 192.168.178.1 ist das Standard-Gateway via DHCP, so ist es nach dem Einschalten
  • 192.168.178.50 ist mein Raspberry Pi, der dann einen ganz anderen Internet-Zugang zur Verfügung stellt


  • Ein Raspberry muss dann 2 Netzwerkschnittstellen haben
    • einen im aktuellen Netz z.B. "wlan0"
    • einen der direkt Client des alternativen Internetzugangs ist z.B. "eth0"
  • So kann sich der Raspberry Pi mit einem WLAN verbindet
    • dieses ist ein durch ein Handy aufgespannter HotSpot "wlan0"
    • oder direkt am Arris Modem eines Vodafone Kabel Anschlusses "eth0" (also vertauschte Rollen, LAN am Modem, WLAN in deinem Netz)
  • Das Gateway muss immer vom Soll- Internetzugang gesetzt werden
  • Der Gateway Eintrag vom lokalen Netz muss ignoriert oder gelöscht werden!

im lokalen-Device (dein Netz)

Mit nmtui das setzen des Gateway rausnehmen

im Internet-Zugang (dein alternativer Internet-Zugang)

meine "and-firewall.sh"

#!/bin/bash

#
# erst mal die Tabellen leeren
#
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

#
echo 1 > /proc/sys/net/ipv4/ip_forward

DEV_LOC=eth0
DEV_EXT=eth1 

iptables -t nat -A POSTROUTING -o $DEV_EXT -j MASQUERADE

#
# Show what you set
iptables -t nat -L -n -v

starten der and-firewall mit einem systemd service


#
# /etc/systemd/system/and-firewall.service
#

[Unit]
Description=route like a gateway
Requires=network-online.target
After=network-online.target

[Service]
Type=oneshot
WorkingDirectory=/root
ExecStart=/root/and-firewall.sh

[Install]
WantedBy=multi-user.target

Wenn man einen DHCP-Server betreibt

# /etc/dhcp/
#

...

  host pi3x02 {
   option host-name "pi3x02";
   hardware ethernet b8:27:eb:bd:79:cc;
   fixed-address pi3x02;
   option routers false;
  }

...

#
  • dadurch ist pi3x02 ein normaler DHCP Client, er bekommt jedoch keine Standard-Route, gut in diesem Fall
  • im Notfall die default route löschen ip route del default


#!/bin/bash

#
# erst mal die Tabellen leeren
#
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

#
# System für TCP-Manipulationen öffnen
#
echo "1" > /proc/sys/net/ipv4/ip_forward

#
# Fritz!Box zugänglich machen
#
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 443 -j DNAT --to-destination 192.168.178.1:443
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j DNAT --to-destination 192.168.178.1:80
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#
# System als Gateway befähigen
#
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

Fritz!Box

Oberfläche

  • Ziel ist es, die Fritz!Box, die am eth0 Interface hängt sichtbar zu machen
  • Der Raspi ist über WLAN in unser Netz angebunden
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 443 -j DNAT --to-destination 192.168.178.1:443
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j DNAT --to-destination 192.168.178.1:80
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


  • Voraussetzung sind ordentliche Routen, dies wird erreicht dass der DHCPD Server an eth0 keine Standard-Route sendet. Stichwort "options route false"


Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         fritz.box       0.0.0.0         UG    202    0        0 eth0
192.168.115.0   0.0.0.0         255.255.255.0   U     303    0        0 wlan0
192.168.178.0   0.0.0.0         255.255.255.0   U     202    0        0 eth0

Freigaben

In 2 verschiedenen Netzen

  • Durch Erhöhen/Vermindern der Metric kann die Benutzung einer anderen Verbindung EIN oder AUS geschaltet werden
nmcli connection modify 'Wired connection 2' ipv4.route-metric 50
nmcli connection modify 'Wired connection 2' ipv6.route-metric 50

VLAN für verschiedene Netze (auf einer Leitung)

  • Wegen einer Störung habe ich mich entschieden einen alternativen Internet-Zugang anzuschaffen
  • So habe ich einen DSL-Zugang (Fritz!BOX 7490) einen Kabel-Zugang (Vodafone-Arris-Modem) und eine herumliegende Fritz!BOX 7590
  • Den WLAN-Zugang des Arris-Modems schalte ich ab
  • Die 2 Fritz!Boxen spannen jeweils ein eigenes Mesh-WLAN-Netzwerk auf, der WAN-Eingang der 7590 wird vom Arris-Modem gespeist - so hat jedes Mesh einen Internet-Zugang
  • Die Mesh Repeater sind zu einem Großteil über LAN an den Mesh-Master angebunden
  • Es gibt 3 LAN-Netzwerke, 2x Fritz!BOX und 1x Arris-Modem
  • Die verschiedenen Wohnungen sind nur über ein Netzwerkkabel angeschlossen. Um an jedem Netzwerk-Punkt alle 3 LAN Netze abgreifen zu können verwende ich die VLAN Technologie
  • Die Uplinks (dafür verwende ich die rechten/hohen Ports der Switche also Port 6-8) sind alle Tagged und transportieren alle 3 Netze
  • Administriert werden die Switche über den Port 1, da ist immer VLAN 1 ungetagged, so sperre ich mich nie aus

  • Will man die 3 TL-SG108E weiterhin über Port1 administrieren, so muss ...
    • ... Port 1 (weiterhin) den PVID=1 haben
    • ... Port 1 untagged und exclusiv dem VLAN 1 angehören

VLANs erstellen

Software

  • Ich will dass ein Raspi mit einer Schnittstelle (eth0) in allen 3 Netzwerken ist
  • Dazu sollen über DHCP 3 Netzwerkadressen und 3 Routen und 3 DNS gezogen werden
  • Dazu schliesse ich den Raspi-eth0 an einen Tagged-Port eines Switches an (Port mit allen Netzen VLAN Id=1 / VLAN Id=2 / VLAN Id=3)
  • Auf einem Raspberry Pi mit (Trixie) verwende ich den Netzwerkmanager
  • Fraglich: Muss man das Paket apt install vlan installieren?
  • Fraglich: Muss man das Kernel Modul modprobe 8021q installieren?
#
# eth0 vorbereiten
#
nmtui
IPv4 Configuration <Disabled>
IPv6 Configuration <Disabled>
[ ] Automatically Connect
[ ] Awailable to all users



#
# 3 vlan Adapter erstellen
#
nmcli con add type vlan con-name "vlan1-conn" dev eth0 id 1
nmcli con add type vlan con-name "vlan2-conn" dev eth0 id 2
nmcli con add type vlan con-name "vlan3-conn" dev eth0 id 3
#
# ip r
default via 192.168.0.1 dev eth1 proto dhcp src 192.168.0.236 metric 100
default via 192.168.178.1 dev eth0.1 proto dhcp src 192.168.178.50 metric 402
default via 192.168.0.1 dev eth0.2 proto dhcp src 192.168.0.15 metric 403
default via 192.168.115.8 dev eth0.3 proto dhcp src 192.168.115.62 metric 404
192.168.0.0/24 dev eth1 proto kernel scope link src 192.168.0.236 metric 100
192.168.0.0/24 dev eth0.2 proto kernel scope link src 192.168.0.15 metric 403
192.168.115.0/24 dev eth0.3 proto kernel scope link src 192.168.115.62 metric 404
192.168.115.0/24 dev wlan0 proto kernel scope link src 192.168.115.18 metric 601
192.168.178.0/24 dev eth0.1 proto kernel scope link src 192.168.178.50 metric 402
192.168.178.0/24 dev wlan2 proto kernel scope link src 192.168.178.70 metric 600

Hardware

  • Über die Administration der beteiligten Switche werden die VLANs abgebildet
  • Die beteiligten Repeater und Router merken davon nichts und müssen nicht für VLANs vorbereitet werden
  • Die 3 VLANs sind für Endgeräte völlig getrennt, Teilnehmer eines Netzes können die anderen 2 Netze nicht sehen
Switch Heizraum

Switch Keller

Switch DG

Switch W3

Diagnose

# kann der Kernel das?
modinfo 8021q

#
tcpdump -nnei eth0 -vvv

#
# mal prüfen was auf dem device so los ist, das ist sehr hilfreich
# vlan rot markiert
tcpdump -nnei eth0 -vvv | grep --color " vlan "

vbkraichgau.de ERR_CONNECTION_TIMED_OUT

  • Ich habe einen 1und1 (1&1, eins und eins) DSL-Anschluss (DS-Lite) und ab und zu ganztägige Timeouts beim Verbindungsversuch zu vbkraichgau.de (Homepage und Login).
  • Im lokalen WLAN angemeldete Handys: Es funktioniert die "VR Banking App" dann auch nicht
  • Alle anderen https://, http:// Seiten im Internet funktionieren - der Anschluss ist ansonsten störungsfrei

Spekulation der Adruvia über die Ursache

  • Die Ursache würde am Internet-Anbieter 1und1 liegen
  • DS-Lite wäre kein richtiger Internetanschluss man bräuchte einen Anschluss mit IP V4 Adresse
  • IP V6 ist zu gering verbreitet deshalb wird es nicht angeboten und führt zu Problemen in Zusammenarbeit mit IP V4

Dazu meine Stellungnahme

  • Nein, es liegt nicht am Provider 1 und 1
  • Nein, DS-Lite hat keine Nachteile bei http://, https://
    • DS-Lite vergibt eine IP V4 Adresse UND eine IP V6 Adresse - Immer beide!
    • Auf IP V4 Seite gibt es Einschränkungen bei der Erreichbarkeit aus dem Internet (Rückkanal) was beim Surfen jedoch keine Rolle spielt
    • Die zugeteilte IP V4 Adresse ist NICHT auf einen aktuell aktiven Internetzugang beschränkt
    • Der Rückkanal ist nur auf IP V6 Seite unbeschränkt
    • Die Exklusivität (1 Zugang:1 Adresse) ist nur auf der IP V6 Seite gegeben, von einer 1:1 Beziehung kann bei V4 NICHT ausgegangen werden
  • IP V6 als alternativen Zugang anzubieten führt seit Jahren zu keiner Störung im IP V4 Bereich

Meine Spekulation über die wahre Ursache

  • Im Rechenzentrum der Alruvia wird eine Sicherheits-Software eingesetzt die IP V4 adressbezogen die Anzahl und Art der Zugriffe protokolliert
  • Das https:// Protokoll verwendet zum Absichern das TLS-Protokoll, ich denke auch diese Verbindungen werden genau inspiziert
  • Ist das Zugriffs-Schema einer IP V4 Adresse "verdächtig" wird die IP V4 Adresse als "missbräuchlich" markiert und gesperrt
  • Jegliche weitere Kontaktaufnahme wird vollständig ignoriert, es wird keine Verbindung mehr aufgebaut, dadurch der _TIMEOUT
  • Ich vermute 1 & 1 hat aus Kostengründen einen sehr engen IP V4 Adressbereich
  • Normal ist, dass alle 1 und 1 Kunden diesen engen Adressbereich gemeinsam nutzen und dabei dutzende Anschlüsse gleichzeitig auch eine einzelne IP V4 Adresse
  • So ist es denkbar dass innerhalb weniger Minuten zahlreiche gleichzeitige Verbindungsversuche mit verschiedenen TLS- Identitäten auf einer IP V4 Adresse beobachtet werden
  • Das sieht aus wie ein Angriff eines automatischen Systems zum "Niederzwingen der Performance" oder zum "Ausprobieren zahlreicher Passworte"
  • Dies ist eine fehlerhafte Einschätzung der Sicherheits-Software unter Missachtung der technischen Realitäten von Dual Stack Lite (DS-Lite)
  • Ich denke in der Folge wird die Quell IP V4 Adresse von 1&1 als "böse" markiert, und somit zahlreiche 1und1 Kunden ausgesperrt

Lösungen

kurzfristig

  • Korrekte Konfiguration der Sicherheits-Software
  • oder Einpflegen der IP-V4 Adressen des Providers 1 und 1, Policy-Änderung bei diesen Adressen

langfristig

  • vbkraichgau.de wird ausschließlich auf eine IP V4 Adresse aufgelöst (A-Record), eine IP V6 Adresse wird nicht alternativ angeboten (AAAA-Record)
    • Würde vbkraichgau.de auch eine IP V6 Adresse im DNS liefern würde das Problem nicht entstehen, da sich Clients vorrangig via IP V6 verbinden würden
    • Würden sich Clients über IP V6 Verbinden wäre die fälschlicherweise angenommene 1:1 Beziehung (eine Adresse<->einige wenige Nutzer) wieder näher an der Relatität