Netzwerk/Serverdienste: Unterschied zwischen den Versionen

Aus Freifunk Rheinland e.V.
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:
== Hier soll eine Anleitung zum Aufsetzen eigener Server im FF Netzwerk entstehen. ==
== Hier soll eine Anleitung zum Aufsetzen eigener Server im FF Netzwerk entstehen. ==


Ziele:
todo Ziele:


* Domains erstellen namedesdienstes.ffrg  
* Domains erstellen namedesdienstes.ffrg  
* Wie trennt man interfaces an einem Server (z.B. Ubuntu)
eth0 für das eigene LAN, eht1 nur für das FF-Netzwerk mit einem bestimmten Dienst. Routen/Firewall Regeln?
* Filesharing auf der eigenen Infratstruktur im mesh, ohne die VPN Knoten zu belasten
* Filesharing auf der eigenen Infratstruktur im mesh, ohne die VPN Knoten zu belasten


== Iptables Regeln zur Freigabe einzelner Ports ==
== Iptables Regeln zur Freigabe einzelner Ports ==
Zeile 15: Zeile 12:
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".
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.
Alle Iptables Befehle müssen als root (sudo) ausgeführt werden.
IPv4:


  iptables -F #alle Regeln löschen
  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 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 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 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
  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.
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: [http://www.cyberciti.biz/faq/ip6tables-ipv6-firewall-for-linux/]


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

Aktuelle Version vom 17. Dezember 2014, 07:51 Uhr

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.