Sorehead schrieb:
Dann lass mich das anders formulieren:
Ich kann den Hardware-Router nicht konfigurieren, weil ich nicht ran bzw rauf komme. Ich hab nur eine Leitung zur Verfügung.
Und nur mal zur Info: Diese Leitung ist für ne LAN-Party, d.h. es bringt nix alles aufzumachen, dann hat keiner was davon. Dewegen will ich das beschränken..
Dann sag das doch sofort. dann weiß, man auch was du willst. Also Linux aufsetzen, dann eine Firewall installieren. Mit iptables kannst du die Regeln. Zunächst musst du das Forwarding aktivieren, NAT brauchst du wahrscheinlich nicht, ich gehe davon aus du bekommst vom Router eine private Adresse.
Forwarding solltest du aktivieren:
echo "1" > /proc/sys/net/ipv4/ip_forward
Danach setzt man die Firewall im Script auf (hier eine sehr einfache wo noch vieles fehlt), definiert Ausgangsbedingungen und schreibt seine Regeln, zum Beispiel so:
----------------------------------schnipp------------------
#!/bin/bash
# Zunächst definiert man Variable
# IPTABLES; INTERFACE_INT, und
# INTERFACE_EXT sind Variable die am Anfang
# des Scriptes initialisiert werden, dass ist
# empfehlenswert, man muss dann nicht alle
# Regeln ändern, wen sich die Schnittstellen
# ändern:
IPTABLES="/usr/sbin/iptables"
INTERFACE_INT="eth0"
INTERFACE_EXT="eth1"
PORTS_HIGH="1024:65535"
# Forwarding aktivieren
echo "1" > /proc/sys/net/ipv4/ip_forward
# Alles verbieten:
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP
# Alle vorherigen Regeln zurücksetzen:
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X
#Lokale Prozesse erlauben:
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A INPUT -i lo -j ACCEPT
# Na, und dann fängt man an Regeln zu
# formulieren, wie diese:
$IPTABLES -A FORWARD -i $INTERFACE_INT -o $INTERFACE_EXT -s 192.168.1.0/255.255.255.0 \
-m state \
--state NEW,ESTABLISHED,RELATED -p TCP --sport $PORTS_HIGH \
--dport 110 -j ACCEPT
$IPTABLES -A FORWARD -i $INTERFACE_EXT -o $INTERFACE_INT -d 192.168.1.0/255.255.255.0 \
-m state \
--state ESTABLISHED,RELATED -p TCP --sport 110 \
--dport $PORTS_HIGH -j ACCEPT
# Diese Regel arbeitet mit statefull inspection und
# sagt, alle Pakete einschließlich der
# Verbindungsaufbau die über die interne
# Schnittstelle hereinkommen und über die
# externe Schnittstelle herausgehen und die vom
# Netz 192.168.1.0 stammen akzepziert werden,
# dass heißt sie dürfen den Filter passieren. Mit
# anderen Worten von innen darf man nach
# aussen pop3 Anfragen stellen.
# Zum Schluss wird das was nicht erlaubt wird
# verboten:
$IPTABLES -A INPUT -j DROP
$IPTABLES -A FORWARD -j DROP
$IPTABLES -A OUTPUT -j DROP
-------------------------schnipp--------------------
Wenn du das versteht und dir das nicht so schwierig erscheint, würde ich dir empfehlen ein eigenes Script zu schreiben, da bist du sehr flexibel. Ansonsten solltest du besser eine fertige Firewall nehmen.
mfG
gaw