Netzwerk/Serverdienste

Aus Freifunk Rheinland e.V.
Zur Navigation springen Zur Suche springen

Hier soll eine Anleitung zum Aufsetzen eigener Server im FF Netzwerk entstehen.

todo Ziele:

  • Domains erstellen namedesdienstes.ffrg
  • Filesharing auf der eigenen Infratstruktur im mesh, ohne die VPN Knoten zu belasten

Iptables Regeln zur Freigabe einzelner Ports

Hier wird beispielhaft Port 80 (Webserver) im Freifunk Netz freigegeben. Alle anderen Verbindungen werden "fallengelassen". Dieser PC verwendet 2 LAN Anschlüsse. Eth1 ist für das eigene Netzwerk zuhause. Eth2 ist an das Freifunk-Netzwerk angeschlossen. Alle IPtables-Regeln beziehen sich daher auf das Interface "eth2". Alle Iptables Befehle müssen als root (sudo) ausgeführt werden.

IPv4:

iptables -F #alle Regeln löschen
iptables -A INPUT -i eth2 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT #eingehende Verbindungen auf Port 80 zulassen
iptables -A OUTPUT -o eth2 -p tcp --sport 80 -m state --state NEW,ESTABLISHED -j ACCEPT #ausgehende Verbindungen von Port 80 zulassen
iptables -A INPUT -i eth2 -s 0.0.0.0/0 -j DROP #alle eingehenden Verbindungen fallen lassen
iptables -A OUTPUT -o eth2 -s 0.0.0.0/0 -j DROP #alle ausgehenden Verbindungen fallen lassen

Und IPv6:

ip6tables -F #alle Regeln löschen
ip6tables -A INPUT -i eth2 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT #eingehende Verbindungen auf Port 80 zulassen
ip6tables -A OUTPUT -o eth2 -p tcp --sport 80 -m state --state NEW,ESTABLISHED -j ACCEPT #ausgehende Verbindungen von Port 80 zulassen
ip6tables -A INPUT -p icmpv6 -j ACCEPT  
ip6tables -A OUTPUT -p icmpv6 -j ACCEPT  #Pings erlauben
ip6tables -A INPUT -i eth2  -j DROP #alle eingehenden Verbindungen fallen lassen
ip6tables -A OUTPUT -o eth2  -j DROP #alle ausgehenden Verbindungen fallen lassen


Iptables Regeln werden von oben nach unten abgearbeitet. Sobald eine Regel auf ein Paket zutrifft, wird der Vorgang beendet. Alle Pakete auf Port 80 landen daher bei "ACCEPT". Die übrigen Pakete landen bei "DROP" und werden somit verworfen.

Für IPv6 gibt es hier noch ein elegantes Script: [1]

Es gibt verschiedene Möglichkeiten, um die Regeln nach einem Neustart automatisch anzuwenden.

1. Folgendes Paket installieren:

sudo apt-get install iptables-persistent

Die Regeln werden dann in /etc/iptables/rules.v4 und /etc/iptables/rules.v6 gespeichert.

Dann muss der Dienst noch aktiviert werden und schon sind die Iptables-Regeln auch über einen Neustart hinweg aktiv.

sudo service iptables-persistent start


2. Autostart durch die /etc/rc.local

Hier kann vor dem "exit 0" der gesamte Block an Iptables Regeln eingefügt werden. Die Datei wird bei jedem Start als root ausgeführt und aktiviert so die in Ihr stehenden Regeln.