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!