Posts Tagged ‘kernel’

GSoC 2011: L-VN Lite Virtual Network

Monday, September 5th, 2011

L-VN is a tool for overlay network creation based on IP in UDP encapsulation performed in Kernel space without encryption/authentication of the tunneled packets. The idea of L-VN is to exploit the IP/UDP encapsulation kernel module proposed for GSoC 2010  to develop a VPN/Overlay tool based on IP/UDP encapsulation performed in kernel space with no “security services” for the encapsulated packets (i.e. no confidentiality, no authentication). The goal is to provide a lightweight overlay network tool that might be preferable to other VPN/Overlay solutions for devices with limited computational resources. The project is a Freifunk-Ninux.org proposal, and is sponsored by the Google Summer of Code 2011 program.

L-VN consists of 3 main elements:

  1. IPUDP encapsulation module: is a kernel module that exports a virtual network devices that perform ip-udp encapsulation. Packets routed through this network interfaces will be encapsulated in IP/UDP headers and sent to the proper tunnel endpoint.  As to the current status, ipudp module provides 2 virtual devices modes:  A) FIXED mode: a single ipudp tunnel is bound to a virtual ipudp device. This type of virtual interface is double-stack, in the sense that we can assign both IPv4 and IPv6 address to the device and use it for both IPv4 and IPv6 applications. B) MULTI_V4 mode: multiple ipudp tunnels can be bound to this type of virtual interface. For each encapsulated packet, the proper tunnel is chosen by a set of rules that bind the destination IP address of the inner packet, with a given tunnel. For GSoC2011 the module has been updated to be compatible with kernel 2.6.38 and modified in different points to implement the keepalive mechanism.
  2. IPUDP configuration tool: this tool can be compiled as both program or library and provides a set of primitives based on NETLINK sockets to configure the IPUDP encapsulation module. IPUDP_CONF provides the necessary primitives for addition/removal of virtual network devices, ipudp tunnels and forwarding rules.
  3. IPUDP signaling agents: a client and a server program written in C for automatic tunnel establishment and management. In details, these components provides the following services: a) mutual authentication based on X509 certificates and TLS (openssl); b) NAT reflexed address discovery and automatic tunnel establishment; c) NAT binding keep alive; d) automatic inactive tunnel de-allocation. This component has been completely implemented for GSoC2011 but it still needs some work.

The code is available through the ninux SVN repository, at the path: https://svn.ninux.org/svn/ninuxdeveloping/ipudp/v02. Comments, remarks or any kind of support will be truly appreciated.

Contacts: marco.bonola@uniroma2.it, marco.giuntini@uniroma2.it

 

Sabato 24 Ottobre 2009: Linux Day Roma

Wednesday, October 21st, 2009

Questo sabato, il 24 ottobre, a Roma si tiene il Linux Day :)

Anche quest’anno noi di Ninux partecipiamo con un intervento sulle reti wireless. Il nostro talk dal titolo “Felici e connessi” propone uno scenario di reti wireless aperte, dove tutti condividono la banda che non utilizzano sulla propria linea ADSL. Nello scenario descritto un qualsiasi utente può usare Internet alla velocità del suo abbonamento quando è a casa, ma può anche connettersi “alla meglio” usando le linee ADSL condivise dagli altri quando è in giro per la città. Presenteremo ovviamente come configurare un AP con OpenWRT con un opportuno scheduler in modo da regalare agli altri solo  la banda che non utilizziamo.

L’appuntamento è alla facoltà di Facoltà di Ingegneria della Sapienza, sede di Via Eudossiana n.18 (San Pietro in Vincoli), dalle 10:00 in poi. Il talk di Ninux.org è previsto per le 15:00. Qui il programma completo.

Saverio

locandinalinuxday2009

NINUX @ Linux Day Roma

Monday, October 27th, 2008

Sabato io, Nino, Simone e Lucio abbiamo partecipato al linux day di Roma, organizzato dal LUG della Sapienza nella sede della facoltà a San Pietro in Vincoli.

Anche se ne parlavamo da tempo, l’organizzazione del talk è stata “di fortuna”. Abbiamo avuto la conferma dell’invito il giovedi’ e venerdì pomeriggio ci siamo visti con Nino per capire come poter fare la presentazione. La sera abbiamo fatto le 3 di notte al Fusolab con Simone per fare le slides (che potete trovare nella pagina del wiki delle presentazioni). Alla fine abbiamo optato per un talk che non fosse su un argomento unico ma che facesse capire che cos’è ninux da quello che fa. Abbiamo tirato fuori un po’ di tutto, da OLSR a IPv6 passando per i vari taroccamenti del kernel fino a parlare delle reti libere, progetti software e mikrokopter.

I feedback ci sono sembrati più che buoni. Molte persone interessate a quello che facevamo, a connettersi col vicino, a capire l’argomento e a sperimentare. Magari qualcuno lo ritroveremo alle prossime riunioni al fusolab.

Alla fine a distanza di più di 5 anni da quando abbiamo iniziato, far vedere tutto quello che facciamo in 40 minuti è stata dura, ma il clima amichevole che si era creato ha dato sicuramente una mano. Speriamo che la presentazione sia andata a segno.

Ringraziamo l’LSLUG per l’ospitalità, al prossimo linux day!!

Lorenzo