Routing a terra con apparati Debian Based
Estensione della guida GroundRouting per dispositivi Debian based
Cosa serve:
- Dispositivo con sistema operativo Debian, Ubuntu... (X86, amd64, arm, RaspberryPI)
Quasi tutte le operazioni devono essere eseguite come superutente quindi non esitare a sudare.
Compilare l'ultima versione di OLSRd
Clona i sorgenti di OLSRd
git clone git://olsr.org/olsrd.git
Spostati sulla directory dei sorgenti
cd olsrd
Installa i pacchetti necessari a compilare OLSRd
apt-get install build-essensials bison flex
Do It!
make make libs make install make install_libs
Installa i tool per VLAN
apt-get install vlan
Installa i tool di stampa di Txtinfo
vim /bin/4olsr #!/bin/sh wget -q http://127.0.0.1:2006/$1 -O -
chmod 777 /bin/4olsr
vim /bin/6olsr #!/bin/sh wget -q http://[::1]:2007/$1 -O -
chmod 777 /bin/6olsr
Configura OLSR
vim /etc/olsrd.conf
DebugLevel 0
IpVersion 4
Pollrate 0.025
FIBMetric "flat"
UseNiit no
SmartGateway no
Hna4
{
#Hna Announcements
}
LinkQualityLevel 2
LinkQualityAlgorithm "etx_float"
LinkQualityAging 0.02
UseHysteresis no
TcRedundancy 2
MprCoverage 7
LinkQualityFishEye 1
LoadPlugin "olsrd_txtinfo.so.0.1"
{
PlParam "accept" "0.0.0.0"
}
LoadPlugin "olsrd_mdns.so.1.0.1"
{
PlParam "NonOlsrIf" "eth0"
PlParam "MDNS_TTL" "20"
PlParam "TTL_Check" "true"
PlParam "Network_ID" "1"
}
LoadPlugin "olsrd_jsoninfo.so.0.0"
{
PlParam "accept" "0.0.0.0"
}
InterfaceDefaults {
HelloInterval 3.0
HelloValidityTime 125.0
TcInterval 2.0
TcValidityTime 500.0
MidInterval 25.0
MidValidityTime 500.0
HnaInterval 10.0
HnaValidityTime 125.0
}
Interface "eth0" “eth0.101” “eth0.102”
{
Mode "mesh"
}vim /etc/olsrd6.conf
DebugLevel 0
IpVersion 6
Pollrate 0.025
FIBMetric "flat"
UseNiit no
SmartGateway no
Hna6
{
#Hna Announcements
}
LinkQualityLevel 2
LinkQualityAlgorithm "etx_float"
LinkQualityAging 0.02
UseHysteresis no
TcRedundancy 2
MprCoverage 7
LinkQualityFishEye 1
LoadPlugin "olsrd_txtinfo.so.0.1"
{
PlParam "accept" "::"
PlParam "port" "2007"
}
InterfaceDefaults {
HelloInterval 3.0
HelloValidityTime 125.0
TcInterval 2.0
TcValidityTime 500.0
MidInterval 25.0
MidValidityTime 500.0
HnaInterval 10.0
HnaValidityTime 125.0
}
Interface "eth0" “eth0.101” “eth0.102”
{
Mode "mesh"
IPv6Multicast FF02::6D
}
Start Script
vim /etc/ninux #!/bin/bash ( #Load Kernel modules modprobe ipv6 modprobe 8021q #Add Vlans vconfig add eth0 101 > /dev/null vconfig add eth0 102 > /dev/null sleep 5 #Assign IPv4 Addresses ip address add 172.16.x.y/16 dev eth0.101 ip address add 172.16.x.z dev eth0.102 #Assign IPv6 Addresses ip address add 2001:4c00:893b:a::b/64 dev eth0 ip address add 2001:4c00:893b:1:x::y/128 dev eth0.101 ip address add 2001:4c00:893b:1:x::z/128 dev eth0.102 sleep 5 #Run OLSRd /usr/local/sbin/olsrd -d 0 -f /etc/olsrd6.conf > /dev/null /usr/local/sbin/olsrd -d 0 -f /etc/olsrd.conf > /dev/null ) &
chmod 755 /etc/ninux
Lancia l'avvio automatico dello script dopo il boot includendolo in rc.local
vim /etc/rc.local #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. /etc/ninux exit 0
Riavvia il sistema o lancia
/etc/ninux
Enjoy Ninux!






