FunkFeuer Graz
PublicIPDebian

Public IP Setup auf Debian

{i} Dieses Howto beschreibt das Public IP Setup für Debian/Ubuntu. Howtos für andere Firmware Images und grundsätzliche Informationen können auf der Seite PublicIP gefunden werden.

Vorbereitungen

Wie schon auf PublicIP beschrieben verwendet dieses Howto einen etwas anderen Ansatz als die anderen Public IP Howtos.

Die Idee bei diesem Setup ist, dass man einfach ein zusätzliches kleines Subnetz zwischen dem Router am Dach und dem Rechner, den man z.B. als Server betreiben will schaltet. Wenn man dieses Subnetz dann per OLSR am Router announced wird der Server innerhalb des Funkfeuer Netzes direkt erreichbar. Dies befähigt ihn dazu, direkt mit dem Gateway zu kommunizieren ohne selbst OLSR zu benötigen. Genau diese direkte Verbindung ist auch das einzige, das nötig ist, um eine Public IP zu benützen.

Dafür muss der Router am Dach vorbereitet werden. Dieser Router benötigt aber nicht unbedingt unser spezielles Public-IP Firmwareimage, es kann jede (funkfeuerfähige!) Firmware verwendet werden (aber die spezielle Firmware funktioniert auch, solange die Public IP unkonfiguriert bleibt).

Wie man also schon erkennen kann ist ein zusätzliches Subnetz vonnöten, und da diese - wie bei allen anderen IP Adressen - eindeutig innerhalb des Netzes sein muss, muss ein passendes von uns zugewiesen werden. Also der erste Schritt besteht darin neben der Public IP auch noch ein kleines Subnetz bei uns zu holen.

Danach kann mit der Konfiguration begonnen werden.

Konfiguration OLSR Router

Im folgenden wird davon ausgegangen das der OLSR Router über dessen Lan Port mit Server verbunden ist. Sollte der Standort aus mehr als einen Router bestehen so muss bei diesem Router der WAN Port für die Verbindung zu den restlichen Routern des Standorts verwendet werden.

OLSR: Da wir auf dem Subnetz-Interface nicht mit OLSR arbeiten (Protokoll = statisch) müssen OLSR dazu bringen das Subnetz dem restlichen Netz bekannt zu machen. Dies kann man per HNA machen. In die Zeile für HNA4 trägt man dafür das Subnetz ein. Dabei ist darauf zu achten das hier die CIDR Notation für die Netzmaske zu verwenden ist (also z.B. /24 statt 255.255.255.0).

Weiters muss noch die Public IP selbst announced werden und eine statische Router dafür eingetragen sein. Also zusätzlich zu dem Subnetz noch <public ip>/32 in das Feld für HNA4 sodass das Feld dann z.B. so aussieht:

10.12.230.20/30;193.33.15x.xx/32

Damit wissen jetzt alle anderen Router im Netzwerk wo das Subnetz bzw die Public IP zu finden sind. Jetzt muss nur noch dem Router gesagt werden wohin er die Public IP Pakete schicken soll - nämlich zu unserem Server. Das konfigurieren wim am LAN:

LAN: Im Webinterface unter Verwaltung->LAN Zunächst muss man dem LAN Port des besagten Routers eine IP Adresse des von uns zugewiesenen Subnetzes konfigurieren. Wichtig ist dabei:

Ausserdem müssen sowohl NAT als auch die Firewall ausgeschaltet sein.

Damit der Router weis, wo die Public IP zu finden ist, muss man eine statische Route eintragen:

193.33.15x.xx:255.255.255.255:<ip des server im 10.12er subnetz>:1:vlan0

Reboot: Nachdem alle obigen settings vorgenommen worden sind, muss man den Router rebooten.

Konfiguration Server

Voraussetzungen

Konfiguration Auf der Seite des Servers kann man das Netzwerkinterface über die Datei /etc/network/interaces konfigurieren. Wichtig ist dabei das in der Datei kein gateway angegeben wird (auch bei keinem anderen Interface) denn genau diesen müssen wir später in etwas anderer Form selbst eintragen. Eine Beisipielkonfiguration ist hier zu sehen:

# The loopback network interface
auto lo
iface lo inet loopbackq

# The primary network interface
# bridge for virtualbox
auto eth0
iface eth0 inet static
  address <ip addr>
  netmask <netmask>
  up /etc/network/ff-public up
  down /etc/network/ff-public down

Die letzten beiden Zeilen zeigen auf ein Script /etc/network/ff-public das wir jetzt anlegen und editieren müssen. Also einfach mit dem Lieblingseditor erstellen und folgendes reinkopieren:

#! /bin/sh
#

GATEWAY="10.12.34.56"
PUBLIC_IP="<public ip einsetzen>"
OLSR_ROUTER="<ip des olsr routers einsetzen>"

case "$1" in
  up)
    ip tunnel add public mode ipip local $PUBLIC_IP remote $GATEWAY ttl 255
    ip link set up dev public
    ip addr add dev public $PUBLIC_IP
    ip route add default dev public src $PUBLIC_IP
    ip route add 10.0.0.0/8 via $OLSR_ROUTER 
    ip route add 193.33.150.0/23 via $OLSR_ROUTER
  ;;
  down)
    ip route del default dev public src $PUBLIC_IP
    ip route del 10.0.0.0/8 via $OLSR_ROUTER 
    ip route del 193.33.150.0/23 via $OLSR_ROUTER
    ip tunnel del public
  ;;
  *)
    echo "Usage: $0 {up|down}"
    exit 1
  ;;
esac

exit 0

danach kann mit

# ifup eth0 

das Interface in Betrieb genommen werden. Dann muss man nur noch den Nameserver konfigurieren. Also in die Datei /etc/resolv.conf folgendes reinkopieren:

search graz.funkfeuer.at
nameserver 10.12.0.10

Danach sollte das Setup funktionieren und der Server ist aus dem Internet unter dessen Public IP erreichbar.

Sicherheitshinweis

Der Server hängt jetzt tatsächlich und wirklich im echten Internet. Da sich dort nicht ausschliesslich nette Menschen und freundliche Software tummeln sei der Besitzer einer Public IP dazu angehalten, seine Firewall und andere sicherheitsrelevanten Einstellungen zu kontrollieren. Im speziellen sei auf ports wie 25 (SMTP), 135:137, 445 (netbios), rdp, samba, NFS etc. hingewiesen.


last edited 2013-03-04 21:57:26 by ChristianPointner