PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe mein Squid ist "tot"



Hakam
05.11.09, 06:39
Nun ja, jetzt ist' passiert.
Auf dem Linux Suse 10.1 Server lief Squid als transparenter Proxy (Transparenz eingerichtet mit iptables .... beim Systemstart, Level 3 und 5)
Der Squid arbeitete.
Nun habe ich die interne IP-Adresse von 10.1.0.1 auf 10.1.1.254 geändert, um den Server an eine andere Umgebung anzupassen. Die Änderungen habe ich auch bei DNS und bei DHCP sowie in der squid.conf (http: 10.1.1.254:3128) nachgearbeitet und das System neu gestartet.
Fazit:
Mit einem Client kommt man weiterhin in's Internet, der Squid jedoch hat seine Arbeit gänzlich eingestellt. Keine Reaktion mehr, wenn ich mit "tail -f access.log" nachschaue.
Auch ein rcsquidrestart hilft nicht mehr - tot.
Frage:
Wie kann ich den Squid wieder zum Leben erwecken ohne eine Neuinstallation durchzuführen? (Gibt es Testszenarien?, Reparaturmöglichkeiten, Updates oder oder oder ...?)
Für gute Ratschläge wäre ich dankbar.
Eine Neuinstallation scheue ich nicht, doch vielleicht kommt man der Sache so schon bei - oder?
Übrigens: Gibt es bessere Proxies für Linux, wenn ja, laufen die auch über Port 3128?
Gruß Hakam und vielen Dank schon mal im Voraus!

marce
05.11.09, 07:52
das restliche Netz ist auch so konfiguriert, daß der Traffic weiter über den Squid läuft?

Und - was verstehst Du unter "besser als Squid"?

bla!zilla
05.11.09, 11:06
Was sagt denn rcsquid restart? Läuft danach überhaupt ein Prozess?

Hakam
05.11.09, 12:05
Hallo an euch!
Also:
1. Es hängt ein Test-Client am Server, der seine IP-Konfiguration vom Server erhält: (Server-IP = 10.1.1.254/16; Client-IP = 10.1.14.1/16, Gateway = 10.1.1.254; Nameserver = 10.1.1.254)
In der squid.conf steht u.a.
...
#Recommended minimum configuration:
acl all src 10.1.0.0/255.255.0.0
acl ban dstdomain -i "/srv/www/dateien/bannliste.txt"
Restliche acl's sind Standardvorgaben
....
# Tag: http_access
http_access deny ban
http_access allow all
....
Der Rest ist Standardvorgabe.
Zusätzlich habe ich in den Startprozess eine Datei "transproxy" eingefügt. Diese besteht aus einer Zeile, die den Squid zum transparenten Proxy machen soll.
[code] von /etc/init.d/transproxy
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
[Ende Code]

2. Besser als Squid
Na ja, ich habe in den letzten Wochen einfach festgestellt, dass im Squid nicht immer alle Internet-Aktivitäten registriert worden sind, wenn ich
"tail -f access.log" eingegeben habe. Mal wurde aufgezeichnet, mal wurde nicht aufgezeichnet (Also schließe ich daraus, mal lief Squid, mal lief Squid nicht) Außerdem ist es mir auch nur ab und zu gelungen, die oben erwähnte Bannliste.txt anzusteuern. Also: Mal sperrte er die URL's, die in der Bannliste stehen, mal findet er die Bannliste überhaupt nicht. Mit besser meine ich im Moment "zuverlässiger" als meine Squid-Fassung. (Bitte jetzt aber keine Grundsatzdiskussion über Squid. Ich glaube nämlich, das liegt alles im Endeffekt an mir und nicht am Squid)

3. Was meldet rcsquid restart?
Bach dem Absetzen des Kommandos erscheint zuerst
"shutting down" mit einer Fehlermeldung, nämlich das er die Datei "bannliste.txt" nicht finden kann. Abschließend meldet er "done"
Danach meldet er "starting www proxy squid" und schließt mit "done" ab.
Die Bannliste findet er schon lange nicht mehr. Pfadangabe und Name sind eindeutig und alles klein geschrieben.

So. Das war's. Ich hoffe das hilft ein wenig weiter.
Gruß Hakam und danke für eure Antworten und eure Geduld mit mir.

bla!zilla
05.11.09, 12:11
Dann kommentiere bitte diese Bannliste aus und versuche es noch mal.

honkstar
05.11.09, 12:50
Oder guck dir alternativ mal die Rechte der Bannlisten-Datei an.
Squid sollte sie schon lesen können

Hakam
05.11.09, 13:59
Hallo noch mal.
Vielen Dank für die Beiträge.
Ich habe den Server jetzt nicht vor mir, so dass ich das Auskommentieren auf heute Abend verschieben muss.
Zu den Rechten der Bannliste folgendes:
Bannliste.txt
Owner = root (read and write)
Others (can read)
Ich hoffe, das genügt Squid als Recht für die Bannliste.
Melde mich später wieder!
Bis dahin!
Hakam

Hakam
05.11.09, 16:26
Ich habe gerade die Bannliste aus der Squid.conf rausgeschmissen. Fazit: Der Squid meldet sich immer noch nicht.
rcsquid restart bringt jetzt keine Fehlermeldungen mehr, nutzt aber auch nichts.
Jetzt ist guter Rat teuer.
Gruß Hakam

Hakam
05.11.09, 16:34
Hallo noch mal
Habe gerade Yast gestartet und folgendes gemacht:
1. Squid deaktiviert
2. Transproxy deaktiviert
3. Runlevel-Editor beendet (Neue Einstellungen wurden gespeichert.
4. Runlevel-Editor gestartet
5. Squid aktiviert
6. Transproxy aktiviert
Und siehe da, Squid ist von den Toten auferstanden.
Vermutung also:
"rcsquid restart" tut scheinbar nicht richtig seinen Dienst obwohl jeweils ein "done" angezeigt wird, oder???
Klappt hier die Tastatur-Methode nicht richtig?? Woran kann das bloß hängen?
Gruß Hakam

Hakam
06.11.09, 06:22
Hallo.
Ich muss mich noch mal melden. Ich habe mittlerweile festgestellt, dass beide Programme (Also Squid und Transproxy) zwar aktiviert waren, ihnen jedoch kein Runlevel mehr zugeordnet war. Also liefen die Dienste zwar, aber hatten deshalb wohl keine Wirkung. Ich weiß nicht, wodurch ich die Runlevels 3 und 5 abgeschaltet habe. Jetzt klappt die Sache. Dennoch eine Nachfrage noch.
Gibt es die Möglicheit (einen Befehl), Runlevels explizit auf Konsolen-Ebene zu setzen, ohne also Yast aufrufen zu müssen?
Für eine Antwort wäre ich sehr dankbar.
Gruß Hakam

marce
06.11.09, 07:16
chkconfig, insserv, ... - je nach Distribution :-)

Hakam
09.11.09, 06:29
Wenn ich das richtig verstehe, dann muss ich z.B. ein Perlskript zum Starten von Squid schreiben, in dem u.a. im Kommentarheader folgende Zeile vorkommt:
[Code]
#Default-Start: 1 2 3 5 S
.....
system("rcsquid restart");
....
[EndCode]
Abschließend wohl dieses Skript mit insserv -d starten? So mein erster Gedanke.
Ist das so gemeint?
Gruß Hakam