Penguin
Annotated edit history of WanDaemon version 4 showing authors affecting page license. View with all changes included.
Rev Author # Line
1 MatthiasDallmeier 1 Not to be confused with the other [WAND]'s...
2
3 WanD is a suite of programs to form a multipoint VPN. The (only?) implementation of this is the MetaNet
4
5 There is more information on the MetaNet page than there is here !
2 PerryLorier 6
7 Theres also a WanDaemonToDoList on the wiki
3 PerryLorier 8
9 ----
10 WanD is a suite of programs each performing a simple, but specific task.
11
12 !Etud
13 Etud is the "Ethernet Over Udp Driver" program. It's fairly simple. It reads a packet from the kernel (either via ethertap(7) or tuntap(7)), looks at the destination [MAC] address, and looks up inside it's internal "Mac -> Real IP" mapping and sends the packet out over the Internet in a [UDP] packet to that [IP] address. If some data arrives on it's [UDP] port it's even easier, it just takes the data and passes it up to the kernel over the ethertap(7) or tuntap(7) interfaces.
14
15 The different kernel drivers are dlopen(3)'d at runtime allowing for users to decide to compile different drivers since one of the problems we had with [IPT] was that people couldn't compile it because it statically linked all the various drivers into the main program and their [OS] didn't support that driver.
16
17 In the main tree head (at the moment) new configuration code has been added.
18
19 !Wand
20 Wand is the bit that makes the MetaNet work. Wand's job is to keep Etud's "Mac -> Real IP" mapping up to date. It sends a packet to any servers it knows of via [UDP] with the [MAC] address of this node in it. It expects a reply back with the current list of Mac addresses. If it doesn't get one, it retransmits quickly reasking for it. For each ([MAC],[IP]) pair, it inserts/updates them into Etud using a Unix domain socket (see unix(7)) using a very trivial protocol.
21
22 Eventually it would be nice to replace this with a complete peer to peer protocol similar to [IPT]'s (without the war'ing bugs!)
23
24 !Wansd
25 Wansd is the Server part of Wand. It gets packets transmitted to it from WanD. It adds these to it's internal ([MAC],[IP]) listing. If this changes it's ([MAC],[IP]) table, it will broadcast this change to all people that participate. It then replies back to the originator with it's full ([MAC],[IP]) listing.
26
27 !Client
28 Client is a trivial client that talks over the same unix domain socket to Etud as Wand does. It lets you perform simple operations such as "view the current ([MAC],[IP]) table", and "add entry" and "delete entry".