Benutzer-Werkzeuge


    Warning: Undefined array key "REMOTE_USER" in /usr/local/www/wiki.freifunk-bielefeld.de/lib/tpl/starter/main.php on line 62
  • Admin

  • Warning: Undefined array key "REMOTE_USER" in /usr/local/www/wiki.freifunk-bielefeld.de/lib/tpl/starter/tpl_functions.php on line 50

    Warning: Undefined array key "REMOTE_USER" in /usr/local/www/wiki.freifunk-bielefeld.de/lib/tpl/starter/tpl_functions.php on line 77
  • Registrieren

Webseiten-Werkzeuge


Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
fastd_und_batman_server [2014/08/15 03:22] mwarningfastd_und_batman_server [2014/10/13 17:54] mwarning
Zeile 2: Zeile 2:
  
 Dieses Howto ist für Leute gedacht die selber einen Server bereitstellen wollen der als Knotenpunkt und vielleicht auch als Gateway (Exit-Node/Gateway) dient. Das heißt das viele Knoten (z.B. Router) sich über diesen Server verbinden und Daten austauschen können. Ebenso kann für alle Nutzer eine Internetanbindung über einen VPN-Provider zur Verfügung gestellt werden. Dieses Howto ist für Leute gedacht die selber einen Server bereitstellen wollen der als Knotenpunkt und vielleicht auch als Gateway (Exit-Node/Gateway) dient. Das heißt das viele Knoten (z.B. Router) sich über diesen Server verbinden und Daten austauschen können. Ebenso kann für alle Nutzer eine Internetanbindung über einen VPN-Provider zur Verfügung gestellt werden.
-Die Anleitung ist definitiv für fortgeschrittene Nutzer gedacht und wurde für Debian-artige Systeme geschrieben.+Die Anleitung ist definitiv für fortgeschrittene Nutzer gedacht und wurde für Debian/Ubuntu Systeme geschrieben. Sie sollte aber auch für andere unixartige Systeme funktionieren.
  
  
-**Aufsetzen des Watchdog-Scriptes**+/etc/radvd.conf 
 +  interface bat0 { 
 +  IgnoreIfMissing on; 
 +  AdvSendAdvert on; 
 +  AdvOtherConfigFlag off; 
 +  AdvDefaultLifetime 1800; 
 +  AdvLinkMTU 0; 
 +  AdvCurHopLimit 64; 
 +  AdvReachableTime 0; 
 +  MaxRtrAdvInterval 600; 
 +  MinRtrAdvInterval 198; 
 +  AdvDefaultPreference high; 
 +  AdvRetransTimer 0; 
 +  AdvManagedFlag off; 
 +  UnicastOnly on; #send RAs only as a request as unicast 
 +   
 +  prefix fdef:17a0:ffb1:300::/64 { 
 +  AdvOnLink on; 
 +  AdvAutonomous on; 
 +  AdvRouterAddr on; 
 +  }; 
 +  prefix 2001:bf7:1320:300::/64 { 
 +  AdvOnLink on; 
 +  AdvAutonomous on; 
 +  AdvRouterAddr on; 
 +  }; 
 +  RDNSS fdef:17a0:ffb1:300::1 {  }; 
 +  };
  
-Das Watchdog-Script testet den OpenVPN Anschluss on Internet verfügbar ist und +/etc/tayga.conf 
-gibt das im Freifunk-Netz bekannt.+  tun-device nat64 
 +  ipv4-addr 10.26.0.1 
 +  prefix fdef:17a0:ffb1:1337::/96 
 +  dynamic-pool 10.26.0.0/20 
 +  data-dir /var/spool/tayga
  
-Das Script bemötigt noch tunctl und brctl:+  apt-get install bridge-utils tayga radvd
  
-  apt-get install uml-utilities +  fastd --config /etc/fastd/fastd.conf --daemon 
-  apt-get install bridge-utils +  /etc/init.d/tayga start 
- +  /etc/init.d/radvd start
-Dieses Script konfiguriert und startet die Dienste. +
- +
-  #!/bin/bash+
      
-  exec >/var/log/freifunk_watchdog.log 2>&1 
-  date 
-   
-  mac2ip() 
-  { 
-    #Get the IP of a node by MAC. 
-     
-    mac=$1 
-    ff_subnet=29 
-     
-    [ -z "$mac" -o -z "$ff_subnet" -o ${#mac} -ne 17 ] && { 
-      echo "0.0.0.0" 
-      exit 1 
-    } 
-     
-    seed=0 
-    for x in $(echo $mac | tr ":" "\n"); do 
-      seed=$((seed + 0x$x + (0x$x << 8) + (0x$x << 16))) 
-    done 
-     
-    addr_t=$((1900545 + (seed % 65278))) 
-    addr_c=$(((addr_t & 0xff00) >> 8)) 
-    addr_d=$(((addr_t & 0x00ff) >> 0)) 
-     
-    echo "10.$ff_subnet.$addr_c.$addr_d" 
-  } 
-     
-  is_running() { 
-    ps aux | grep -v grep | grep "$1" > /dev/null 
-  } 
-   
-  error() { 
-    echo "(E) $1" 
-    exit 1 
-  } 
-   
-  fastd --config /etc/fastd/fastd.conf --daemon 
- 
   modprobe batman-adv   modprobe batman-adv
-  batctl if add fastd_mesh +  echo "5000" /sys/class/net/bat0/mesh/orig_interval
-  ip link set dev bat0 up+
      
-  echo "client" > /sys/class/net/bat0/mesh/gw_mode +  ip addr add fdef:17a0:ffb1:300::dev bat0
-  echo "3000" >  /sys/class/net/bat0/mesh/orig_interval +
-  echo "1" > /sys/class/net/bat0/mesh/bridge_loop_avoidance  +
-   +
-  echo "(I) Set IP '$mesh_ip' for bat0." +
-  mesh_mac=`cat /sys/kernel/debug/batman_adv/bat0/originators | head -1 | grep -io '[0-9a-f:]\{17\}'+
-  mesh_ip=`mac2ip "$mesh_mac"+
-  ifconfig bat0 "$mesh_ip" netmask 255.255.0.0 up+
      
 +  alfred -i bat0  -b bat0 -m &
 +  #alfred #announce gateway
   #is_running "openvpn " || /etc/init.d/openvpn start   #is_running "openvpn " || /etc/init.d/openvpn start
-   
-  vpn_interface="vpn_exit" 
-  ping_servers() 
-  { 
-    echo "(I) Try to ping root servers on '$vpn_interface':" 
-     
-    #shuffle list and pick n entries 
-    pick() 
-    { 
-      local n=$1; shift; 
-      local s="`echo \"$@\" | tr ' ' '\n' | awk 'BEGIN { srand() } { print rand() "\t" $0 }' | sort -n | cut -f2- | tr '\n' ' '`" 
-      get() { shift $(($#-$1)); echo "$@"; } 
-      get $n $s 
-    } 
-     
-    #check if any root server can be reached via default gateway and wan interface 
-    IPCHECK="192.33.4.12 128.8.10.90 193.0.14.129 198.41.0.4 192.228.79.201 192.5.5.241 192.36.148.17 192.58.128.30" 
-    for ip in `pick 3 $IPCHECK`; do 
-      echo -n "(I) Ping '$ip' " 
-      if ping $ip -c 1 -I $vpn_interface -q -W 1 > /dev/null 2>&1; then 
-        echo "- success." 
-        return 0 
-      else 
-        echo "- failed." 
-      fi 
-    done 
-    echo "(W) Cannot reach any tested IP." 
-    return 1 
-  } 
-   
-  if ifconfig "$vpn_interface" &> /dev/null && ping_servers; then 
-    echo "(I) Internet access on '$vpn_interface' => Server mode." 
-    batctl gw_mode server 8MBit/8MBit 
-  else 
-    echo "(I) No Internet access on '$vpn_interface'. => Client mode." 
-    batctl gw_mode client 
-  fi 
-   
-  echo "(I) Done." 
- 
-Dieses Script kann einmal nach dem Systemstart oder regelmäßig durch cron aufgerufen werden. 
-Dafür muss folgende Zeile an die  /etc/crontab angehängt werden: 
- 
-<code>*/5 *   * * *   root    /root/freifunk_watchdog > /dev/null</code> 
- 
-Wichig ist dabei, dass das Script ausführbar ist: 
- 
-  chmod a+x freifunk_watchdog 
- 
-Ein Eintrag in /etc/hosts sorgt dafür das der Name "node" in eine Anycast-Adresse übersetzt wird 
-die jeder Router hat. Damit läßt sich der Router, mit dem man verbunden ist, bequemer finden. 
  
-  echo "fdef:17a0:ffb1::0 node" >> /etc/hosts