Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Squid soll verschiedene Absender-IPs liefern

Frage Linux Linux Netzwerk

Mitglied: S3dr1ck

S3dr1ck (Level 1) - Jetzt verbinden

21.04.2009, aktualisiert 17:45 Uhr, 5176 Aufrufe

Brauche Hilfe bei der Konfiguration meiner Squid-Proxys für eine bestimmte Anwendung...

Hallo zusammen!

Hier erstmal die Problemstellung:

Es gibt 2 Webserver hinter einem Loadbalancer. Die beiden Webserver sind im Optimalfall synchronisiert. Um eben diese Synchronisation und andere Dinge zu testen, wollen unsere Entwickler möglichst einfach gezielt auf diese beiden Server zugreifen.

Ein Kollege von mir hat sich da folgende Lösung ausgedacht:

Der Loadbalancer soll eingehende Verbindungen unterscheiden und entsprechend an den richtigen der beiden Webserver weiterleiten. Die Unterscheidung funktioniert in diesem Script wohl nur anhand der IPs und nicht anhand des Ports. Diesen Umstand muss ich als gegeben hinnehmen.

Somit habe ich nun einen Squid-Proxy aufgesetzt. Dieser hat auf 2 Interfaces 2 verschiedene IP-Adressen. Der Proxy soll nun eingehende Verbindungen entweder anhand des Ports über den der Zugriff auf den Proxy stattfindet oder aber anhand der IP, die die Clients nutzen um sich mit dem Proxy zu verbinden unterscheiden und den clients dann seine entsprechende IP als Absenderadresse mitgeben.

Also mal ganz praktisch:

Ich verbinde mich als user mit der URL des Webs. Habe ich nun bei meiner Proxykonfiguration den Port 8080 eingegeben, dann gibt der Proxy die Verbindung über die IP seiner ersten Schnittstelle weiter. Benutze ich Port 8081, so verbindet der Proxy mich über seine 2. Schnittstelle weiter. Der Loadbalancer erkennt nun anhand der IP, ob meine Anfrage an Webserver1 oder an Webserver2 geleitet werden muss. Die Unterscheidung muss nicht zwingend über den Port stattfinden. Es kann wie gesagt auch über die 2 verschiedenen Interfaces passieren.

Wichtig ist halt nur, dass der Loadbalancer mit 2 verschiedenen Absender-IPs gefüttert werden kann.

Ich habe das ganze nun so gelöst, dass ich Squid mit 2 verschiedenen Konfigurationsfiles 2mal starte. Die eine Konfiguration lässt Squid auf der ersten IP-Adresse auf Port 8080 lauschen und die andere Konfiguration lauscht auf der 2. IP auf Port 8081. Das funktioniert super, da so die Clients verschiedene Absenderadressen bekommen, je nachdem welches Interface vom Squid sie in Ihrer lokalen Proxykonfiguration eintragen.

Ich finde es aber sehr unschön, 2 Instanzen von Squid laufen zu lassen. Ich bin mir sicher, dass man das auch in einer einzelnen Konfiguration hinbekommen kann und hab auch 2 halbe Arbeitstage die Dokumentation gelesen und sehr viel rumgetestet, aber ich bekomme es irgendwie nicht hin, dass mir eine Instanz des Squid seine 2 verschiedneen Interfaces als Absenderadresse liefert. Ich bekomme immer die gleiche.

Man kann nun zwar ACLs anlegen und für jede ACL eine bestimmte tcp_outgoing_address angeben, allerdings kann ich mithilfe der ACLs zwar Ports oder bereiche definieren, aber tcp_outgoing_address erwartet wohl eine ACL die eine IP-Adresse beinhaltet, aber keine einfache Portangabe.


Ich glaube ich habe in meiner Planung einen groben Denkfehler oder ich hab gerade ein Brett vorm Kopf. Die ganze Sache läuft so zwar, aber ich finde es mehr als unschön.

Wenn mir also evt.. wer mit einem Zaunpfahlwink oder einem Tip oder Stichwort weiterhelfen könne, wie ich das eleganter mit einer einzelnen Squidinstanz und über dst und src ACLs regeln kann, wäre ich sehr dankbar. Oder aber wenn Ihr sagt, das was ich hier gemacht habe, ist die einfachste Lösung, die Squid hergibt für diesen Fall, dann wär ich auch mehr oder weniger zufrieden, aber so wie es jetzt ist, kann ich nicht in Ruhe schlafen:P


EDIT:

Ok, habs hinbekommen!

Seit Version 2.7 gibt es einen neuen ACL-Typ namens myport (bzw. myportname für SSL). Dieser gibt den Port an, auf dem die Clients anfragen. Also zum Beispiel:

acl clients_port1 myport 8080
acl clients_port2 myport 8081

Nun kann man mit tcp_outgoing_address den clients eine bestimmte Absenderadresse, entsprechend ihres Ports verpassen:

tcp_outgoing_address 10.11.12.13 clients_port1
tcp_outgoing_address 10.11.12.14 clients_port2

Wenn ich jetzt in den Proxy über Port 8080 connecte, komme ich über dessen lokale IP 10.11.12.13 raus und über 8081 halt über die 10.11.12.14.


Hoffe das hilft evtl. mal jemandem weiter. War jedenfalls nicht so einfach zu finden in der Doku. In der deutschen steht davon garnichts...Habs irgendwie über die Wiki gefunden.
Ähnliche Inhalte
Firewall
Transparenter Squid filtert nicht alles heraus (19)

Frage von mrserious73 zum Thema Firewall ...

Firewall
gelöst Squid Logging Problem Extern (10)

Frage von wurscht12 zum Thema Firewall ...

Debian
Squid Proxyserver - HTTPS Problem (1)

Frage von Cartman zum Thema Debian ...

Switche und Hubs
Welche IPs am Switchport (19)

Frage von rudeboy zum Thema Switche und Hubs ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
CNC Maschinen verlieren Netzwerkverbindung (kurioser Fehler) (22)

Frage von NoHopeNoFear zum Thema LAN, WAN, Wireless ...

Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (13)

Frage von alemanne21 zum Thema Webentwicklung ...

Windows Server
gelöst Parameter Übergabe Terminal Server (9)

Frage von ThomasKern zum Thema Windows Server ...

Batch & Shell
Anfängerfragen - Powershell - Mailboxvertretung im Pulk einrichten (8)

Frage von Yoshimitsu zum Thema Batch & Shell ...