<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.freifunk-franken.de/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Freifunk-Gateway_aufsetzen%2Fspezielles_routing</id>
	<title>Freifunk-Gateway aufsetzen/spezielles routing - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.freifunk-franken.de/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Freifunk-Gateway_aufsetzen%2Fspezielles_routing"/>
	<link rel="alternate" type="text/html" href="https://wiki.freifunk-franken.de/mediawiki/index.php?title=Freifunk-Gateway_aufsetzen/spezielles_routing&amp;action=history"/>
	<updated>2026-04-22T19:00:13Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Freifunk Franken</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://wiki.freifunk-franken.de/mediawiki/index.php?title=Freifunk-Gateway_aufsetzen/spezielles_routing&amp;diff=11909&amp;oldid=prev</id>
		<title>ChristianD: Die Seite wurde neu angelegt: „= Einzelne IPs oder Services über anderen Server routen =  Manchmal möchte man einzelne Clients oder bestimmte Services (Achtung Netzneutralität!) über ein…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.freifunk-franken.de/mediawiki/index.php?title=Freifunk-Gateway_aufsetzen/spezielles_routing&amp;diff=11909&amp;oldid=prev"/>
		<updated>2018-08-28T06:21:35Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „= Einzelne IPs oder Services über anderen Server routen =  Manchmal möchte man einzelne Clients oder bestimmte Services (Achtung Netzneutralität!) über ein…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Einzelne IPs oder Services über anderen Server routen =&lt;br /&gt;
&lt;br /&gt;
Manchmal möchte man einzelne Clients oder bestimmte Services (Achtung Netzneutralität!) über einen anderen Server ins Internet routen. Dies ist folgendermaßen möglich. In meinen Beispiel route ich auf [https://wiki.freifunk-franken.de/w/Server#Gateway_Server_.22fff-gw-cd1.22 fff-gw-cd1] den kompletten Internettraffic von nbgland über fff-pi-cd1 ins Internet um den Mullvad auf [https://wiki.freifunk-franken.de/w/Server#Gateway_Server_.22fff-gw-cd1.22 fff-gw-cd1] zu entlasten (nbgland hat ein hohes Trafficaufkommen).&lt;br /&gt;
&lt;br /&gt;
== Routingtabelle anlegen ==&lt;br /&gt;
Zuerst brauchen wir eine weitere Routingtabelle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vi /etc/iproute2/rt_tables&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
und fügen dort hinzu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
12	nbgland&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese Routingtabelle füllen wir mit einem neuen default&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ip route add default via 10.50.252.251 dev fff-pi-cd1 table nbgland&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Routing erstellen ==&lt;br /&gt;
&lt;br /&gt;
Anschließend können wir alle Pakete mit Iptables markieren und für diese markierten Pakete in die neue Routingtabelle gucken, in unserem Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
iptables -A PREROUTING -t mangle -s 10.50.88.0/21 ! -d 10.0.0.0/8 -j MARK --set-mark 3&lt;br /&gt;
ip rule add fwmark 3 table nbgland&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Das heißt:&lt;br /&gt;
Markiere alle Pakete mit dem &amp;quot;Marker 3&amp;quot; die von dem IP Bereich 10.50.88.0/21 hereinkommen und nicht als Ziel 10.0.0.0/8 haben (damit wird Freifunkinterner Traffic von der Regel ausgenommen). Mit dem ip rule Regel sagen wir das für alle Pakete mit dem Marker 3 in die neue Routingtabelle nbgland geguckt werden soll wo der neue default fff-pi-cd1 drinnen steht.&lt;br /&gt;
Da mit Iptables sehr viele möglichkeiten bestehen ist man über diesen Weg extrem flexibel, man könnte z.b. alle Torrentpakete markieren (Achtung Netzteutralität!) und über einen &amp;quot;Müllserver&amp;quot; ausleiten.&lt;br /&gt;
&lt;br /&gt;
== Problem wenn Server offline ==&lt;br /&gt;
&lt;br /&gt;
Ein Problem bleibt noch, was passiert wenn fff-pi-cd1 offline ist? Genau da dies ganze am Olsr &amp;quot;vorbei&amp;quot; läuft stehen alle markierten Pakete dann ohne Exit (in unseren Fall ganz nbgland ohne Internet) da. Dazu hab ich das [https://wiki.freifunk-franken.de/w/Freifunk-Gateway_aufsetzen#OpenVPN_Start.2FStop_Automatik OpenVPN Start/Stop Automatik] von [[Benutzer:Green|Green]] ein wenig vereinfacht und angepasst für unsere bedürfnisse:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
ping1 () {&lt;br /&gt;
    ping -c 3 -i 5 8.8.8.8 -I fff-pi-cd1&lt;br /&gt;
    ping1_ExitCode=$?&lt;br /&gt;
    echo &amp;quot;$(date): Exit Status: ${ping1_ExitCode}&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while true&lt;br /&gt;
do&lt;br /&gt;
    ping1&lt;br /&gt;
    # check if ping successful&lt;br /&gt;
    if ([[ ${ping1_ExitCode} -eq 0 ]]); then&lt;br /&gt;
        sleep 10;&lt;br /&gt;
                echo &amp;quot;Ping success&amp;quot;;&lt;br /&gt;
    else&lt;br /&gt;
                echo &amp;quot;Ping fault&amp;quot;;&lt;br /&gt;
                iptables -D PREROUTING -t mangle -s 10.50.88.0/21 ! -d 10.0.0.0/8 -j MARK --set-mark 3&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Script wird gestartet und läuft in einer Endlosschleife. Es wird regelmäßig versucht über fff-pi-cd1 8.8.8.8 zu pingen und falls dies nicht mehr gelingt wird die iptables Regel mit -D entfernt, somit werden die Pakete nicht mehr markiert und Olsr hat wieder die Kontrolle über den Traffic. Ein automatisches reaktivieren findet aktuell nicht statt, dies müsste ich nach beheben des Problems manuell anstoßen.&lt;br /&gt;
Diese Konstellation läuft jetzt schon seit 6. Januar problemlos, es gab keine beschwerden und das Script musste noch nicht einmal eingreifen.&lt;br /&gt;
&lt;br /&gt;
Achtung: Falls am fff-pi-cd1 der OpenVPN abstürzt baut dort Olsr auf einen anderen Server um. Da dadurch der Ping nach wie vor gelingt, wird die iptables Rule auch nicht entfernt. Man sollte also dafür sorgen das fff-pi-cd1 einen guten 2. Exit hat, falls OpenVPN abstürzt. Dies ist heute passiert und da es keinen guten Exit gab, war nbgland einige Zeit ziemlich lahm.&lt;/div&gt;</summary>
		<author><name>ChristianD</name></author>
	</entry>
</feed>