Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Routing vom Gateway an transparenten Proxy

Alles rund um das Internet, Internet-Anwendungen (E-Mail, Surfen, Cloud usw.) und das Einrichten von Netzwerken einschl. VPN unter Linux

Moderator: Moderatoren

Antworten
amandla
Newbie
Newbie
Beiträge: 8
Registriert: 23. Mär 2005, 11:03
Wohnort: Unna

Routing vom Gateway an transparenten Proxy

Beitrag von amandla »

Hallo zusammen,
ich bin einer der Newbies hier und habe gleich einige spannende Fragen:
Wir haben in einen Schulnetz mit mehreren Subnetzen, diese entsprechen den Klassenräumen, ein Gateway zu installieren. Nun soll es ermöglicht werden, die Clients (IP) auf den Proxy Squid zu routen.
Distri: Suse 8.0

zur Zeit: Client ----> Proxy/Squid ----> Internet

nachher: Client -----> Gateway ----> Proxy/Squid ----> Internet

Meine Frage ist nun: Wie sieht die Syntax für das Routing der ClientIP aus, die Anfragen senden und erwarten. Ergo wie habe ich für Iptables vorzugehen? Ich danke für Eure Hilfe. :idea:
Benutzeravatar
Martin Breidenbach
Ultimate Guru
Ultimate Guru
Beiträge: 5632
Registriert: 26. Mai 2004, 21:33
Wohnort: N 50.17599° E 8.73367°

Beitrag von Martin Breidenbach »

Du brauchst eine DNAT Regel die die Ziel-IP für http auf den Proxy verbiegt und eine FORWARD Regel die die umgebogen Pakete auch durchläßt.

Bei der Konfiguration vom Squid das transparent Proxy Howto berücksichtigen.

Hier mal ein Codefragment das sowas macht:

Code: Alles auswählen

$IPTABLES -t nat -A PREROUTING -i $LAN_IF  -p tcp --dport 80 -j DNAT --to $SQUID_IP_DMZ:3128
$IPTABLES -A FORWARD -i $LAN_IF  -m state --state NEW -d $SQUID_IP_DMZ -p tcp --dport 3128 -j ACCEPT
Nicht Böse sein ! Der Onkel macht doch nur Spaß !
amandla
Newbie
Newbie
Beiträge: 8
Registriert: 23. Mär 2005, 11:03
Wohnort: Unna

Beitrag von amandla »

Hallo,
es hat ein wenig gedauert; der Job :)

Könnte dann das Routen für einen Client also so aussehen?:
$iptables -t nat PREROUTING -p tcp -s 192.168.210.1 --dport 3128 -j DNAT -to 192.168.125.135:3128
$IPTABLES -A FORWARD -i $eth0 -m state --state NEW -d $192.168.125.135 -p tcp --dport 3128 -j ACCEPT
Benutzeravatar
Martin Breidenbach
Ultimate Guru
Ultimate Guru
Beiträge: 5632
Registriert: 26. Mai 2004, 21:33
Wohnort: N 50.17599° E 8.73367°

Beitrag von Martin Breidenbach »

amandla hat geschrieben: -dport 3128
Das sollte doch ein Transparenter Proxy werdern oder ? Dann muß man Pakete die von innen ins Internet an Zielport 80 gehen auf den Squid Zielport 3128 umleiten. Also muß hier dport 80 stehen.
amandla hat geschrieben: -s 192.168.210.1
Das -s ist mir suspekt - das spezifiziert die Absenderadresse. Ist das beabsichtigt ?
amandla hat geschrieben:--state NEW
Da sollte man erwähnen daß das natürlich nur das erste Paket einer neuen Verbindung durchäßt. In dem Skript aus dem ich das Codeschnipsel entnommen habe gibt es eine Regel die ESTABLISHED und RELATED durchläßt (also Pakete bestehender Verbindungen und welche die 'dazugehören' wie z.B. bestimmte icmp Pakete).
Nicht Böse sein ! Der Onkel macht doch nur Spaß !
amandla
Newbie
Newbie
Beiträge: 8
Registriert: 23. Mär 2005, 11:03
Wohnort: Unna

Beitrag von amandla »

Danke soweit, vielleicht habe ich mich mißverständlich ausgedrückt.
Der transparente Proxy ist derzeit die 192.168.125.11. Den haben die Clients derzeit eingetragen mit Port 3128.
Ich soll nun das Gateway 192.168.125.20 dazwischen setzen und die Anfragen auf Port 3128 routen.
Das ist mein Problem
Zuletzt geändert von amandla am 30. Mär 2005, 19:56, insgesamt 3-mal geändert.
Benutzeravatar
Martin Breidenbach
Ultimate Guru
Ultimate Guru
Beiträge: 5632
Registriert: 26. Mai 2004, 21:33
Wohnort: N 50.17599° E 8.73367°

Beitrag von Martin Breidenbach »

Ist der Proxy in einer DMZ ? Oder im internen Netz ? Wo kommt das 'gateway' dazwischen ?

Beschreibe doch mal die geplante Anordnung der Rechner.

Du weißt was einen 'transparenten' Proxy von einem 'Feld-Wald&Wiesen' Proxy unterscheidet ?
Nicht Böse sein ! Der Onkel macht doch nur Spaß !
amandla
Newbie
Newbie
Beiträge: 8
Registriert: 23. Mär 2005, 11:03
Wohnort: Unna

Beitrag von amandla »

N'abend,

nach ein wenig Recherche:

Weder der Proxy/Squid noch der neue Proxy liegen in einer DMZ.
Es ist alles innerhalb einer Netzwerkstruktur.

Ich möchte jetzt, wie gesagt, Anfragen, z.B. eines Clients mit der IP X.X. 210.1, an das Internet über den neuen Proxy X.X.125.20 an den ProxySquid mit X.X.125.11:3128 routen.

CLientIP -> Proxy -> Squid -> Internet

Wichtig ist die Syntax für die IP und nicht für Netzbereiche.
Ich weiß, das ist viel Tipparbeit, aber nun mal Vorgabe.
amandla
Newbie
Newbie
Beiträge: 8
Registriert: 23. Mär 2005, 11:03
Wohnort: Unna

Beitrag von amandla »

amandla hat geschrieben: -s 192.168.210.1
Das -s ist mir suspekt - das spezifiziert die Absenderadresse. Ist das beabsichtigt ?


Beabsichtigt ist das fürwahr, das ist ja die Crux an der Sache.
Oder bin ich auf dem falschen Weg?
Benutzeravatar
Martin Breidenbach
Ultimate Guru
Ultimate Guru
Beiträge: 5632
Registriert: 26. Mai 2004, 21:33
Wohnort: N 50.17599° E 8.73367°

Beitrag von Martin Breidenbach »

Willst Du das nur für bestimmte Clients oder für alle ?
Nicht Böse sein ! Der Onkel macht doch nur Spaß !
amandla
Newbie
Newbie
Beiträge: 8
Registriert: 23. Mär 2005, 11:03
Wohnort: Unna

Beitrag von amandla »

Ich habe in den Subnetzen eine untreschiedliche Anzahl an Clients, jedoch möchte ich jeden Client der Subnetze per Ip routen.
amandla
Newbie
Newbie
Beiträge: 8
Registriert: 23. Mär 2005, 11:03
Wohnort: Unna

Beitrag von amandla »

Hallo noch einmal,

so sieht des nun für einen Client aus.

iptables -t nat -A PREROUTING -p tcp -s 192.168.210.1 --dport 3128 -j DNAT --to-destination 192.168.125.11:3128
iptables -A FORWARD -i eth0 -m state --state NEW,ESTABLISHED,RELATED -d 192.168.125.11 -p tcp --dport 3128 -j ACCEPT

Allerdings mit der Fehlermeldung Invalid Target Name ACCEPT

Woran könnte das nun noch liegen? Bitte um Hilfe. THX a Lot
Benutzeravatar
Martin Breidenbach
Ultimate Guru
Ultimate Guru
Beiträge: 5632
Registriert: 26. Mai 2004, 21:33
Wohnort: N 50.17599° E 8.73367°

Beitrag von Martin Breidenbach »

Der soll das doch auf dem internen Interface empfangen, verbiegen und wieder auf dem internen Interface senden.

Da mach doch ne Regel wie:

iptables -A FORWARD -i eth0 -o eth0 -j ACCEPT

Damit ist intern rein intern raus schonmal für alles freigeschaltet. Ich sehe da kein Sicherheitsproblem drin - schließlich könnten Clients von intern ja den Proxy direkt anquatschen.

Dann müssen wir noch eingehend von intern mit Ziel Port 80 auf den Proxy Port 3128 umbiegen.

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.125.11:3128
Nicht Böse sein ! Der Onkel macht doch nur Spaß !
amandla
Newbie
Newbie
Beiträge: 8
Registriert: 23. Mär 2005, 11:03
Wohnort: Unna

Beitrag von amandla »

:D

Genau so hab ich es gemacht, mille grazie.
Nur wie kann ich die einzelnen Ip's der Subnetze X.X.210.X und
X.x.8.X ansprechen?
Jetzt leite ich ja ALLE Anfragen an eth0 weiter. Es sollen jedoch,
wie bereits erwähnt, die Clients geroutet werden.

Nochmals Danke.
Antworten