Howto/Tinc-Node auf x86: Unterschied zwischen den Versionen

Aus Freifunk MWU Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „Folgendes HowTo ist für alle Nutzer von x86/x64-Nodes gedacht und beschreibt die Einrichtung von tinc auf Ubuntu Server bzw. vergleichbaren Systemen. Als Vorl…“)
 
K
Zeile 17: Zeile 17:
 
  Mode=switch
 
  Mode=switch
 
  Compression=9
 
  Compression=9
 +
Device=/dev/net/tun
 
  DirectOnly=yes
 
  DirectOnly=yes
 
  Forwarding=off
 
  Forwarding=off
Zeile 32: Zeile 33:
 
| intro=In dieser Tabelle werden unsere Gateways mitsamt den dazugehörigen Tinc-Schlüsseln gelistet
 
| intro=In dieser Tabelle werden unsere Gateways mitsamt den dazugehörigen Tinc-Schlüsseln gelistet
 
|}}
 
|}}
 
{{Todo|Diese Startscripte sind schlimme Bash-Wüste (a.k.a. Krepelscheiße). Vereinfachen & Anpassen.}}
 
  
 
== /etc/tinc/ffmz/tinc-up ==
 
== /etc/tinc/ffmz/tinc-up ==
Zeile 39: Zeile 38:
  
 
  #!/bin/sh
 
  #!/bin/sh
 +
modprobe batman-adv
 
  # $INTERFACE should be ffmz
 
  # $INTERFACE should be ffmz
 
  IP="10.37.XX.XX"
 
  IP="10.37.XX.XX"
  ifconfig $INTERFACE inet 0.0.0.0 netmask 255.0.0.0
+
  ifconfig $INTERFACE 0.0.0.0 netmask 255.255.0.0
echo "> assigned inet adr 0.0.0.0 to $INTERFACE..."
 
 
  ifconfig $INTERFACE mtu 1528
 
  ifconfig $INTERFACE mtu 1528
echo "> set MTU of $INTERFACE to 1528..."
 
 
  batctl if add $INTERFACE
 
  batctl if add $INTERFACE
echo "> added $INTERFACE to batctl..."
+
  ifconfig bat0 $IP netmask 255.255.0.0 up
  ifconfig bat0 up
 
echo "> bat0 up"
 
ifconfig bat0 $IP
 
echo "> assigned inet adr $IP to bat0..."
 
 
  ORIGINAL_GATEWAY=`ip route show | grep ^default | cut -d ' ' -f 2-5`
 
  ORIGINAL_GATEWAY=`ip route show | grep ^default | cut -d ' ' -f 2-5`
  ip route add 84.201.31.106 $ORIGINAL_GATEWAY
+
  ip route add 89.238.78.70 $ORIGINAL_GATEWAY
 
  ip route del default $ORIGINAL_GATEWAY
 
  ip route del default $ORIGINAL_GATEWAY
  ip route add default via 10.37.0.1
+
  ip route add default via 10.37.254.1
echo "> added routes..."
 
echo "> > > initialization done < < <"
 
 
 
  
 
== /etc/tinc/ffmz/tinc-down ==
 
== /etc/tinc/ffmz/tinc-down ==
  
 
  #!/bin/sh
 
  #!/bin/sh
  batctl if del ffmz
+
  batctl if del $INTERFACE
  ifconfig ffmz down
+
  ifconfig $INTERFACE down
 
  ifconfig bat0 down
 
  ifconfig bat0 down
  

Version vom 15. Juni 2014, 23:18 Uhr

Folgendes HowTo ist für alle Nutzer von x86/x64-Nodes gedacht und beschreibt die Einrichtung von tinc auf Ubuntu Server bzw. vergleichbaren Systemen. Als Vorlage wurde das normale Router-HowTo für OpenWRT Router benutzt und die Configs entsprechend angepasst.

Software Installation

Zuerst wird batctl und tinc installiert:

$ sudo apt-get update
$ sudo apt-get install batctl tinc

tinc Einrichtung & Konfiguration

Die Einrichtung sowie die Schlüsselerstellung funktioniert ähnlich der Konfiguration für Router, einzig die config-Dateien werden hier nocheinmal aufgeführt.

/etc/tinc/ffmz/tinc.conf

AdressFamily=ipv4
name=** IP eures Nodes ohne Punkte **
Mode=switch
Compression=9
Device=/dev/net/tun
DirectOnly=yes
Forwarding=off
LocalDiscovery=no
ConnectTo= **gewünschtes Gate**
PrivateKeyFile=/etc/tinc/ffmz/rsa_key.priv


Danach muss man unter /etc/tinc/ffmz/hosts/**gewünschtes Gate** den passenden Schlüssel hinterlegen.


/etc/tinc/ffmz/tinc-up

Die Zeile IP="10.37.XX.XX" ist natürlich ensprechend nach eurer IP-Adresse zu ändern.

#!/bin/sh

modprobe batman-adv

# $INTERFACE should be ffmz
IP="10.37.XX.XX"
ifconfig $INTERFACE 0.0.0.0 netmask 255.255.0.0
ifconfig $INTERFACE mtu 1528
batctl if add $INTERFACE
ifconfig bat0 $IP netmask 255.255.0.0 up
ORIGINAL_GATEWAY=`ip route show | grep ^default | cut -d ' ' -f 2-5`
ip route add 89.238.78.70 $ORIGINAL_GATEWAY
ip route del default $ORIGINAL_GATEWAY
ip route add default via 10.37.254.1

/etc/tinc/ffmz/tinc-down

#!/bin/sh
batctl if del $INTERFACE
ifconfig $INTERFACE down
ifconfig bat0 down


Up- & Down-Skripte ausführbar machen

Die Up- und Down-Scripte müssen noch ausführbar gemacht werden:

chmod +x tinc-up tinc-down

Automatische Ausführung bei Systemstart (alternativ)

Für den automatischen Start von tinc bei Systemstart erweitern wir /etc/rc.local um folgende zwei Zeilen:

modprobe batman_adv
screen -dmS tinc tincd -D -d1 -n ffmz

Der erste Befehl läd das für B.A.T.M.A.N. benötigte Kernel-Modul. Der zweite startet eine Screen-Session, in der tinc läuft (kann auch als Daemon gestartet werden, aber so ist es möglich bei Problemen die Screen-Session zu öffnen und das Log zu durchstöbern).

Soll tinc als Daemon komplett im Hintergrund laufen wird es wiefolgt gestartet:

tincd -n ffmz