Nav apraksta

Rodrigo Garcia 14cd04fdc1 [+] kinstall_route printf (temporal) 7 gadi atpakaļ
decrypt-lib f603ba2791 [+] inicializacion de modulo rsa desde babeld.c 7 gadi atpakaļ
doc-lorauth ff3d81ff38 [fix] doc-lorauth/babel-integration.es.md 7 gadi atpakaļ
tokens c8f259da9b [+-] funcion fs en la especificacion 7 gadi atpakaļ
.gitattributes a79a2ec330 Add .gitattributes. 13 gadi atpakaļ
.gitignore 47300f97f6 [+-] Makefile to use shared libs, 7 gadi atpakaļ
CHANGES 194a536060 Update CHANGES for 1.8.0. 8 gadi atpakaļ
LICENCE 8f919a6124 Update copyright date in LICENCE. 17 gadi atpakaļ
Makefile deb34a8fcf [+] distclean Makefile, setup.sh. Still update_route bug 7 gadi atpakaļ
Makefile.static 47300f97f6 [+-] Makefile to use shared libs, 7 gadi atpakaļ
README.md ff3d81ff38 [fix] doc-lorauth/babel-integration.es.md 7 gadi atpakaļ
babeld.c 7e94ae1072 [+] logs lorauth authentication, notes on resend and xroute 7 gadi atpakaļ
babeld.h 47300f97f6 [+-] Makefile to use shared libs, 7 gadi atpakaļ
babeld.man 556af3c266 Fix omission in manual page. 8 gadi atpakaļ
configuration.c d3a9b96c17 Implement interface configuration keyword "type". 8 gadi atpakaļ
configuration.h d093352f59 Add ability to return an error message in the local interface. 8 gadi atpakaļ
decrypt.c 9a9800d902 [+] GPLv3 license 7 gadi atpakaļ
decrypt.h 9a9800d902 [+] GPLv3 license 7 gadi atpakaļ
decrypt_tests.c b897b1b658 [fix] doc 7 gadi atpakaļ
despliegue.md f1f5e33cee [+-] lorauth-TLV sending [fix] end_message assertion 7 gadi atpakaļ
disambiguation.c 14cd04fdc1 [+] kinstall_route printf (temporal) 7 gadi atpakaļ
disambiguation.h 553d7eb355 Make disambiguation respect its own header 7 gadi atpakaļ
dt 14cd04fdc1 [+] kinstall_route printf (temporal) 7 gadi atpakaļ
generate-version.sh aa396f6448 Avoid spaces in babeld version. 8 gadi atpakaļ
interface.c 52f83c0025 [-] my_lorauth_cipher [+] basic tests filling cipher 7 gadi atpakaļ
interface.h dc0faff47e [fix] decrypt and sending of cipher on lorauth TLV 7 gadi atpakaļ
kernel.c 458e6da4b9 Fix style. 9 gadi atpakaļ
kernel.h 72a6264355 Move the table selection into rule.c. 9 gadi atpakaļ
kernel_netlink.c d0540fcac2 kernel_netlink.c: don't include <linux/if_bridge.h> 7 gadi atpakaļ
kernel_socket.c 72a6264355 Move the table selection into rule.c. 9 gadi atpakaļ
local.c 96134b4201 Use pointer address for identifying routes in local interface. 8 gadi atpakaļ
local.h 6291597cba Add support for unix-domain local socket 8 gadi atpakaļ
lorauth.c 9a9800d902 [+] GPLv3 license 7 gadi atpakaļ
lorauth.h 9a9800d902 [+] GPLv3 license 7 gadi atpakaļ
message.c 3b1208458b [+-] lorauth printf logs, [+] notes 7 gadi atpakaļ
message.h 048c3dae88 [+] cipher, clen to resend.h, record_resend 7 gadi atpakaļ
neighbour.c 90b6179718 Use calloc instead of malloc in places where it makes sense. 8 gadi atpakaļ
neighbour.h a75fd3e63c Add a cost to neighbours, computed from the RTT 11 gadi atpakaļ
net.c 6291597cba Add support for unix-domain local socket 8 gadi atpakaļ
net.h 6291597cba Add support for unix-domain local socket 8 gadi atpakaļ
notas.md 5d2415247e [fix] segfault after node leaves the net 7 gadi atpakaļ
resend.c 048c3dae88 [+] cipher, clen to resend.h, record_resend 7 gadi atpakaļ
resend.h 048c3dae88 [+] cipher, clen to resend.h, record_resend 7 gadi atpakaļ
route.c 3b1208458b [+-] lorauth printf logs, [+] notes 7 gadi atpakaļ
route.h da4049f270 [+-] clen to unsigned short 7 gadi atpakaļ
rule.c 6191d12568 Include <sys/time.h> in rule.c. 8 gadi atpakaļ
rule.h 72a6264355 Move the table selection into rule.c. 9 gadi atpakaļ
set-up.ra.sh 47300f97f6 [+-] Makefile to use shared libs, 7 gadi atpakaļ
set-up.sh 1609d4fae1 [fix] cipher token exchanged by local cipher tokens 7 gadi atpakaļ
source.c 1609d4fae1 [fix] cipher token exchanged by local cipher tokens 7 gadi atpakaļ
source.h dc0faff47e [fix] decrypt and sending of cipher on lorauth TLV 7 gadi atpakaļ
util.c 5a082dbb5e Make v4prefix a shared constant between util.c and message.c 7 gadi atpakaļ
util.h f4e276ef6f Rename mask_prefix to normalize_prefix. 8 gadi atpakaļ
xroute.c 3b1208458b [+-] lorauth printf logs, [+] notes 7 gadi atpakaļ
xroute.h dc0faff47e [fix] decrypt and sending of cipher on lorauth TLV 7 gadi atpakaļ

README.md

Babeld-lor

(Castellano) Fork de babeld para cubrir algunas necesidades del proyecto LaOtraRed (https://wiki.lapaz.laotrared.net), la característica principal es agregar un mecanismo de autenticación para reducir el riesgo de suplantación de identidad, forzando a los nodos a mostrar que se les ha asignado un espacio de red IPv4 púlbico único por parte del sistema de gestión de nodos de LaOtraRed.

Especificación: doc-lorauth/README.es.md

(English) Babeld fork to cover some needs of LaOtraRed project (https://wiki.lapaz.laotrared.net) , main feature is add an authentication mechanism to reduce the risk of ip spoofing, forcing nodes to show that they have been assigned an unique public IPv4 network space. The entity in charge to assign these public IPv4 network space to each node is meant to be LaOtraRed's nodes managemente system

Specification: doc-lorauth/README.en.md (incomplete)


Babel

Babel is a loop-avoiding distance-vector routing protocol roughly based on HSDV and AODV, but with provisions for link cost estimation and redistribution of routes from other routing protocols.

Installation

$ make
$ su -c 'make install'

If compiling for OpenWRT, you will probably want to say something like

$ make CC=mipsel-linux-gcc PLATFORM_DEFINES='-march=mips32'

On Mac OS X, you'll need to do

$ make LDLIBS=''

Setting up a network for use with Babel

  1. Set up every node's interface --------------------------------

On every node, set up the wireless interface:

# iwconfig eth1 mode ad-hoc channel 11 essid "my-mesh-network"
# ip link set up dev eth1
  1. Set up every node's IP addresses -----------------------------------

You will need to make sure that all of your nodes have a unique IPv6 address, and/or a unique IPv4 address.

On every node, run something like:

# ip addr add 192.168.13.33/32 dev eth1
# ip -6 addr add $(generate-ipv6-address -r)/128 dev eth1

You will find the generate-ipv6-address utility, which can generate random IPv6 addresses according to RFC 4193, on

  https://www.irif.univ-paris-diderot.fr/~jch/software/files/

A note about tunnels and VPNs

Some VPN implementations (notably OpenVPN and Linux GRE) do not automatically add an IPv6 link-local address to the tunnel interface. If you attempt to run Babel over such an interface, it will complain that it ``couldn't allocate requested address''.

The solution is to manually add the link-local address to the interface. This can be done by running e.g.

# ip -6 addr add $(ahcp-generate-address fe80::) dev gre0
  1. Start the routing daemon ---------------------------

Run Babel on every node, specifying the set of interfaces that it should consider:

# babeld eth1

If your node has multiple interfaces which you want to participate in the Babel network, just list them all:

# babeld eth0 eth1 sit1
  1. Setting up an Internet gateway ---------------------------------

If you have one or more Internet gateways on your mesh network, you will want to set them up so that they redistribute the default route. Babel will only redistribute routes with an explicit protocol attached, so you must say something like:

# ip route add 0.0.0.0/0 via 1.2.3.4 dev eth0 proto static

In order to redistribute all routes, you will say:

# babeld -C 'redistribute metric 128' eth1

You may also be more selective in the routes you redistribute, for instance by specifying the interface over which the route goes out:

# babeld -C 'redistribute if eth0 metric 128' eth1

or by constraining the prefix length:

# babeld -C 'redistribute ip ::/0 le 64 metric 128' \
         -C 'redistribute ip 0.0.0.0/0 le 28 metric 128' \
         eth1

You may also want to constrain which local routes (routes to local interface addresses) you advertise:

# babeld -C 'redistribute local if eth1' -C 'redistribute local deny' \
         -C 'redistribute metric 128' \
         eth1

-- Juliusz Chroboczek