Okay, alles soweit da und funktioniert. Also jedenfalls Transparent Proxy, Internet und sogar per Wlan (bin schon etwas stolz)

.
Gratuliere!

Ich weiß noch, was für ein erhebendes Gefühl es war, als mein erster Selbstbau-Router hochfuhr und Tage später das von mir geschriebene iptables-Skript endlich die Pakete routete.
Aber es war der Horror im nachhinein auf Debian eine Netzwerkkarte zu installieren. K.a. wie, aber es geht.
Eigentlich muss man nur /etc/network/interfaces anpassen, was (theoretisch) aber kein Problem sein sollte - vorausgesetzt, die Karte wird unterstützt. Sofern man aber nichts exotisches verwendet, kommt jede gängige Linux-Distribution mit der Karte sofort klar.
erstes dickes Problem mit IPtables.
Ich würde zunächst nur eine minimale iptables-Konfiguration fahren und diese dann Schritt für Schritt erweitern. Die Fehlersuche gestaltet sich sonst als extrem aufwändig. Nimm also am besten nochmal die Umleitungen raus und suche den Grund, wieso keine Uploads funktionieren.
Ich habe für die Fehlersuche folgenden Block ganz am Ende meines Skripts, den ich bei Bedarf entkommentiere:
Code:
#iptables -A INPUT -j LOG --log-prefix "DROPPED_INPUT: " --log-level=5
#iptables -A OUTPUT -j LOG --log-prefix "DROPPED_OUTPUT: " --log-level=5
#iptables -A FORWARD -j LOG --log-prefix "DROPPED_FORWARD: " --log-level=5
Da der Block am Ende liegt, erfassen diese Regeln alle Pakete, welche bisher nicht auf eine Regel passten. Deswegen liegt sicherheitshalber noch ein
Code:
iptables -A INPUT -j REJECT
iptables -A OUTPUT -j REJECT
iptables -A FORWARD -j REJECT
dahinter. Aus irgendeinem Grund werden nicht erfasste Pakete nämlich bei mir scheinbar weiter verarbeitet, trotz entsprechender Policies.
Immer wenn ich größere Veränderungen in das Skript einarbeite, läuft nebenbei eine Shell mit tail -f /var/log/messages, so dass ich mögliche Fehler sofort sehen kann.
Routing, dns und alles drum und dran funktioniert. NUR möchte ich jetzt zum cachen einzelne Domains auf einen anderen Port leiten ( nginx - 80) statt 3128 (squid proxy).
Einfache Idee? Habe wie du siehst schon was probiert, geht aber irgendwie nicht. Ich weiß auch nicht die reihenfolge. Ursprünglich ging der Nginx Proxy (als ich einfach nur per DNS drauf verwies. Seit dem Routing über Debian läufts allerdings GARNICHT mehr - egal was ich mache. *werde ich eventuell so lassen, es scheint als wenn auch squid alleine Steam etc cached...
Dafür musst du eigentlich nur zusätzliche Umleitungen einbauen, wie du es schon für Port 3128 gemacht hast.
Was die Reihenfolge angeht, so ist der Aufbau recht simpel:
- Definition von Variablen
- Schreiben von Einstellungen (wie etwa
echo 1 > /proc/sys/net/ipv4/ip_forward)
- Löschen alter Regeln
- Definieren von Policies
- Masquerading zulassen
- Pakete, welche zu einer aufgebauten Verbindung gehören, zulassen,
- Ausnahmen definieren (sprich: was soll erlaubt sein etc.)
Schau dir dazu nochmal mein Skript in meinem ersten Posting dieses Threads an.
Ich wunder mich echt wieso man über Debian Router so wenig (aktuelles) findet... unglaublich.
Also eigentlich findet man dazu recht viel - es ist ziemlich egal, ob ein Howto von 2006 oder von 2012 ist, da die wesentliche Config sich in den letzten Jahren nicht geändert hat. Zur Not kannst du aber auch in die Wikis von Ubuntu und Gentoo schauen.
edit:
weiter scheint kein FTP Upload sowie bei Speedtests funktioniert der Upload auch nicht.. was ist da los!? Beim FTP Upload fängts gut an mit 190kb/s+ (von 200) geht dann auf 70... 12... 0 dann bricht ab....
Bzgl. Upload:
Was
genau funktioniert nicht? Jeglicher Upload auf Port 20, 21 und 80, egal von welchem Client?
edit2:
verstehe ich
Traffic-Shaping richtig, das man zb downloads auch beschneidet wenn man die mehr Leistung gar nicht bräuchte?
Downloads werden hier nicht beschnitten - es wird nur dem Traffic auf Port 80 eine höhere Priorität eingeräumt, wenn ein ausgehender FTP-Upload die Leitung dichtmacht. Eingehenden Traffic zu shapen ist alles andere als trivial und meines Wissens nur mit einigem Aufwand machbar (siehe
ifb | The Linux Foundation oder
Traffic shaping - Gentoo Wiki).
Entscheidend bei den Shaping-Regeln ist der "ceil"-Wert, welcher einer bestimmten Art von Traffic zugewiesen wird. Diesen Wert legt man üblicherweise auf den verfügbaren Upstream, somit bekommt der Traffic immer so viel Bandbreite wie möglich.
MfG Jimini