|
|
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| | | |
| So einfach kann man seinen Laptop in das Freifunk-Netz als Knoten mit integrieren. | | So einfach kann man seinen Laptop in das Freifunk-Netz als Knoten mit integrieren. |
− | (Unter Ubuntu 12.04 bis 13.10 getestet): | + | (Unter Ubuntu 12.04 bis 14.04 getestet): |
| | | |
− | Ausserdem konfiguriert dieses Script den eth0-Ausgang so um, dass man '''über den Netzwerk-Ausgang an deinem Rechner Internet an weitere Geräte freigeben''' kann.
| + | Außerdem konfiguriert dieses Script den eth0-Ausgang so um (wenn vorhanden), dass man '''über den Netzwerk-Ausgang an deinem Rechner Internet an weitere Geräte freigeben''' kann. |
| | | |
− | ===Installation=== | + | ===Anleitung im Git Repository Readme=== |
− | Es werden die Pakete ''batctl'' für batman-adv und ''bridge-utils'' für ''brctl''
| |
− | sudo apt-get install batctl bridge-utils
| |
| | | |
− | ===neuere Batman version aus Repo===
| + | Diese Seite ist verlegt ins GitHub: https://github.com/rubo77/batman-connect |
− | erstelle die datei `/etc/apt/sources.list.d/batman-adv-universe-factory.net.list` mit dem repository https://projects.universe-factory.net/projects/fastd/wiki für die neueste version:
| |
− |
| |
− | sudo bash -c 'echo "deb http://repo.universe-factory.net/debian/ sid main">/etc/apt/sources.list.d/batman-adv-universe-factory.net.list'
| |
− | gpg --recv-keys 0x16EF3F64CB201D9C
| |
− | gpg --export 0x16EF3F64CB201D9C|sudo apt-key add -
| |
− | | |
− | sudo apt-get update
| |
− | sudo apt-get install batman-adv-dkms
| |
− | | |
− | Wenn du den Fehler erhäst
| |
− | | |
− | Error! Module version 2013.4.0 for batman-adv.ko
| |
− | is not newer than what is already found in kernel 3.14.1-031401-generic (2014.1.0).
| |
− | You may override by specifying --force.
| |
− | | |
− | | |
− | Dann muss dkms mit force aufgerufen werden (bis dies gefixt ist), wenn dies nicht geht, dann muss das Paket von Hand kopiert werden:
| |
− | | |
− | sudo cp /var/lib/dkms/batman-adv/kernel-3.14.1-031401-generic-i686/module/batman-adv.ko /lib/modules/3.14.1-031401-generic/kernel/net/batman-adv/batman-adv.ko
| |
− | | |
− |
| |
− | | |
− | ===Kernelmodul laden:===
| |
− | sudo modprobe batman-adv
| |
− | | |
− | ===Version prüfen:===
| |
− | sudo batctl -v
| |
− | | |
− | Nicht alle Batmanversionen sind kompatibel - siehe: http://www.open-mesh.org/projects/batman-adv/wiki/Compatversion
| |
− | Du brauchst mindestens die Version:
| |
− | | |
− | batctl debian-2013.4.0-2 [batman-adv: 2013.4.0]
| |
− | | |
− |
| |
− | | |
− | ===Start-Script erstellen===
| |
− | Um sich mit <code>batman.kiel.freifunk.net</code> auf der Schnittstelle wlan0 mit der [[bssid]] <code>02:ca:ff:ee:ba:be</code> zu verbinden erstelle folgendes script und nenne es <br>
| |
− | '''<code>`/usr/local/sbin/freifunk-connect`</code>''':
| |
− | | |
− | [http://pastebin.com/a1J1Wx5U download script]
| |
− | | |
− | {{Achtung|Breite=100% |Dieses Script ist noch experimentell: Ein Fehler ist, dass es nur einmal funktioniert. Man kann sich dann zwar wieder trennen mit <br><code>`freifunk-connect stop`</code> <br>
| |
− | aber meist funktioniert ein erneutes Verbinden erst nach einem Rechner neustart}}
| |
− | | |
− | '''<pre style="color:#222233">
| |
− | #!/bin/bash
| |
− | IFACE=wlan0
| |
− | ESSID=02:ca:ff:ee:ba:be
| |
− | CHANNEL=11
| |
− | FREQUENCY=2462
| |
− | CELLID=02:ca:ff:ee:ba:be
| |
− | NODELINK=http://freifunk.in-kiel.de/ffmap/nodes.html
| |
− | | |
− | if [ "$1" = "hh" ]; then
| |
− | ESSID=f8:d1:11:87:52:2e
| |
− | CHANNEL=1
| |
− | FREQUENCY=2412
| |
− | CELLID=f8:d1:11:87:52:2e
| |
− | NODELINK=http://10.130.10.1/ffhh/nodes.html
| |
− | fi
| |
− | | |
− | | |
− | if [ "$1" = "--help" ]; then
| |
− | echo "[start](default) or [stop]"
| |
− | echo to connect to hamburg call this script with option hh
| |
− | echo edit the options in the top section of this script to connect to another network
| |
− | echo your network devices:
| |
− | lspci|grep -i net
| |
− | exit
| |
− | fi
| |
− | | |
− | NETWORKMANAGER="service network-manager"
| |
− | # some distributions have
| |
− | #NETWORKMANAGER="/etc/init.d/network-manager"
| |
− | | |
− | if [ "$(whoami &2>/dev/null)" != "root" ] && [ "$(id -un &2>/dev/null)" != "root" ] ; then
| |
− | echo "You must be root to run this script!"; exit 1
| |
− | fi
| |
− | | |
− | | |
− | if [ "$1" = "stop" ]; then
| |
− | echo "resuming normal networking..."
| |
− | echo "restart network-manager"
| |
− | $NETWORKMANAGER restart
| |
− |
| |
− | echo "turn network bridge off"
| |
− | brctl delif br-freifunk bat0
| |
− | brctl delif br-freifunk eth0
| |
− | brctl delbr br-freifunk
| |
− |
| |
− | ifconfig br-freifunk down
| |
− | ifconfig bat0 down -promisc
| |
− | ifconfig eth0 down -promisc
| |
− |
| |
− | echo "turn wlan iface off"
| |
− | batctl if del $IFACE
| |
− | sleep 10
| |
− | echo "OK"
| |
− | echo "echo it can take a few minutes until network-manager gets a new route"
| |
− | echo
| |
− | exit
| |
− | elif [ "$1" = "restart" ]; then
| |
− | echo "not implemented. call this script first with stop and then with start"
| |
− | exit
| |
− | else # "start"
| |
− | echo "stopping network-manager"
| |
− | $NETWORKMANAGER stop
| |
− | echo "pls wait"
| |
− | sleep 10
| |
− | echo "turn wlan iface off"
| |
− | ifconfig $IFACE down
| |
− | echo "set maximal transfer unit from standard 1500 to 1528"
| |
− | ifconfig $IFACE mtu 1528
| |
− | echo "turn wlan encryption off"
| |
− | iwconfig $IFACE enc off
| |
− | echo "start ad-hoc mode"
| |
− | # mit HT40 bei 802.11n kann man potentiell auch mit 40MHz breiten kanälen senden,
| |
− | # falls da noch platz ist über oder unter jenem kanal und dann am besten noch HT40- statt HT40+
| |
− | # das minus oder plus sagt, ob die zusätzlichen 20MHz kanalbreite über oder unter dem gewählten
| |
− | # kanal benutzt werden sollen
| |
− | #iw dev wlan0 ibss join $ESSID $FREQUENCY fixed-freq HT40- $CELLID
| |
− | | |
− | # in case the iw doesent work, use:
| |
− | iwconfig $IFACE mode ad-hoc essid $ESSID ap $CELLID channel $CHANNEL
| |
− |
| |
− | echo "load module into kernel"
| |
− | modprobe batman-adv
| |
− | echo "adding iface to batman"
| |
− | batctl if add $IFACE
| |
− | echo "turn wlan iface on"
| |
− | ifconfig $IFACE up
| |
− | echo "turn batman iface on"
| |
− | ifconfig bat0 up
| |
− | echo "ESSID $ESSID on $IFACE should be ready"
| |
− | #sollte man eigentlich machen, geht aber nicht:
| |
− | #batctl gw client
| |
− |
| |
− | echo "starting bridge to share internet connection over eth0"
| |
− | ifconfig eth0 up promisc
| |
− |
| |
− | brctl addbr br-freifunk
| |
− | brctl addif br-freifunk bat0
| |
− | brctl addif br-freifunk eth0
| |
− |
| |
− | echo "internet starting, this may take some minutes due to latency..."
| |
− | echo "(use"
| |
− | echo "tail -f /var/log/syslog"
| |
− | echo "in another window for debugging)"
| |
− | echo
| |
− | echo dhclient br-freifunk
| |
− | echo "The error 'Rather than invoking init scripts through /etc/init.d...' can be ignored:"
| |
− | dhclient br-freifunk
| |
− | # without bridge: dhclient bat0
| |
− |
| |
− | echo
| |
− | echo "internet connection IP:"
| |
− | ifconfig|grep Bcast
| |
− | echo you should have an IP like 10.x.x.x
| |
− | echo "after a minute your node should popup on the nodeGraph here $NODELINK"
| |
− | echo
| |
− | echo you can connect another device on eth0 if you like. there will be internet available via cable
| |
− | echo "if you use network-manager (ubuntu) you will have to set ipv6 method to \"ignore\""
| |
− | echo see http://freifunk.in-kiel.de/wiki/Ubuntu
| |
− | echo
| |
− | echo "to resume normal networking call this script with option stop"
| |
− | echo
| |
− | fi
| |
− | | |
− | </pre>'''
| |
| | | |
| Wenn das script ausgeführt wird, dann ist dein Rechner Teil des Freifunk-Netzwerkes und mescht mit. Er kann so also auch als Brücke zwischen zwei Routern fungieren, die zu weit auseinander liegen. Außerdem kann man über den Netzwerkanschluss eth0 weitere clients anschließen, die dann über deinen Rechner Internet bekommen (beachte den Hinweis auf IPv6 beim [[Ubuntu|NetworkManager unter Ubuntu]]) | | Wenn das script ausgeführt wird, dann ist dein Rechner Teil des Freifunk-Netzwerkes und mescht mit. Er kann so also auch als Brücke zwischen zwei Routern fungieren, die zu weit auseinander liegen. Außerdem kann man über den Netzwerkanschluss eth0 weitere clients anschließen, die dann über deinen Rechner Internet bekommen (beachte den Hinweis auf IPv6 beim [[Ubuntu|NetworkManager unter Ubuntu]]) |
Zeile 184: |
Zeile 13: |
| Alternative im Hamburger Wiki [http://wiki.freifunk.net/Freifunk_Hamburg/%C3%9Cber#B.A.T.M.A.N. hier] | | Alternative im Hamburger Wiki [http://wiki.freifunk.net/Freifunk_Hamburg/%C3%9Cber#B.A.T.M.A.N. hier] |
| | | |
− | Siehe auch: [http://askubuntu.com/questions/205337/how-do-i-install-batman-adv-under-ubuntu-12-04-to-start-a-mesh-network Askubuntu] | + | == Siehe auch == |
| + | |
| + | * [http://askubuntu.com/questions/205337/how-do-i-install-batman-adv-under-ubuntu-12-04-to-start-a-mesh-network Askubuntu:how-do-i-install-batman-adv-under-ubuntu] |
| + | * http://askubuntu.com/a/426305/34298 |
| | | |
| == Todo == | | == Todo == |