Dienste auf Linux-Server mit OLSR

Aus Freifunk Halle
Zur Navigation springen Zur Suche springen
  • Das hier dargestellte sind Beispiele. Diese musst du entsprechend anpassen.

Dienste ankündigen

  • Es wird vorausgesetzt, das du dich mit Linux auskennst und OLSRD bereits auf deinem Server installiert hast. Hilfe dazu findest du zum Beispiel hier. LinuxOLSR
  • Dienste werden in der /etc/olsrd/olsrd.conf angekündigt. Wenn du also auf deinem Server Dienste bereitstellen möchtest, ändere die olsrd.conf entsprechend. Der Eintrag erfolgt im Bereich LoadPlugin "olsrd_nameservice.so.0.3". Hier ein Beispiel:
LoadPlugin "olsrd_nameservice.so.0.3"
{
	PlParam "name" "servername"
	PlParam "suffix" ".olsr"
#       PlParam         "service"       "Adresse:Port|Protokoll|Dienstname"
	PlParam 	"service"	"http://servername.olsr:8080|tcp|OLSR-Information"
	PlParam 	"service"	"http://104.62.0.2:80|tcp|Dienst3"
  	PlParam 	"service"	"http://104.62.0.3:21|tcp|Dienst4"
}

Du kannst deinem Server im ersten Abschnitt einen Namen geben. PlParam "name" "servername" Den trägst du bei Servername ein. Bitte beachte dabei, das jeder Name im Netz nur einmal vorkommt. Es ist die Adresse unter der dein Server erreichbar sein wird. Du kündigst die Dienste mit PlParam "service" "Adresse:Port|Protokoll|Dienstname" an. Als Adresse kannst du servername.olsr oder die IP-Adresse des Server angeben.

Zusätzliche IP-Adressen auf dem Server und im OLSR ankündigen

  • Der Server bekommt von den VPN Servern je eine IP-Adressen zugewiesen. Unter diesen ist er im Freifunknetz erreichbar. Man kann aber auch weitere IP-Adressen auf einem Server einrichten. Damit bitte sparsam umgehen. Wir haben zwar viele aber nicht unendlich viele IP-Adressen. Reserviere die Adressen in der Netzverwaltung im Projekt 0. Um diese IP-Adressen dem Server zuzuweisen erzeugst du virtuelle Schnittstellen. Am besten auf realen Schnittstellen. Im Beispiel wurde an die reale Schnittstelle eth0 die virtuelle Schnittstelle eth0:1 und eth0:2angehängt. Das wird in die /etc/network/interfaces eingetragen.
iface eth0 inet dhcp

auto eth0:1
iface eth0:1 inet static
address 104.62.0.2
netmask 255.255.255.255
broadcast 104.62.0.2

auto eth0:2
iface eth0:2 inet static
address 104.62.0.3
netmask 255.255.255.255
broadcast 104.62.0.3 
  • Jetzt müssen im OLSR diese virtuellen Schnittstellen angekündigt werden. Dazu musst du in der /etc/olsrd/olsrd.conf diese noch eintragen. Das machst du ganz unten.
Interface "eth0:1"
{
    HelloInterval               6.0
    HelloValidityTime           600.0
    TcInterval                  0.5
    TcValidityTime              300.0
    MidInterval                 10.0
    MidValidityTime             300.0
    HnaInterval                 10.0
    HnaValidityTime             300.0
    LinkQualityMult default 1.0
}

Interface "eth0:2"
{
    HelloInterval               6.0
    HelloValidityTime           600.0
    TcInterval                  0.5
    TcValidityTime              300.0
    MidInterval                 10.0
    MidValidityTime             300.0
    HnaInterval                 10.0
    HnaValidityTime             300.0
    LinkQualityMult default 1.0
}

Jetzt kündigt OLSR auch diese IP-Adressen im Netz an.

IP-Adressen mit dem Server umleiten

  • Wenn du Dienste von externen Geräten zum Beispiel aus deinem LAN bereitstellen möchtest, aber auf diesen kein OLSR läuft und diese auch keine IP-Adresse aus dem Freifunknetz haben. Kannst du die zusätzlichen IP-Adressen auf deinem Server zu IP-Adressen in deinem Lan umleiten. Danach sind die Geräte über diese IP-Adressen aus dem Freifunknetz erreichbar. Die Umleitung trägst du in der /etc/rc.local ein. Der Eintrag muss vor exit 0 erfolgen.
# IP-Adresse umleiten Dienst 3
iptables -t nat -I PREROUTING -d 104.62.0.2 -j DNAT --to-destination 192.168.0.100
iptables -t nat -I POSTROUTING -d 192.168.0.100 -j SNAT --to-source 104.62.0.2

# IP-Adresse umleiten Dienst 4
iptables -t nat -I PREROUTING -d 104.62.0.3 -j DNAT --to-destination 192.168.0.200
iptables -t nat -I POSTROUTING -d 192.168.0.200 -j SNAT --to-source 104.62.0.3


exit 0
  • Damit auch alles funktioniert empfiehlt sich ein reboot.