PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : squid dns Problem



MrIch
11.02.03, 08:01
Hallo!

Zur Zeit setze ich eine Testmaschine als squid proxy (unter SuSE 8.1) auf, doch leider bekomme ich folgendes Problem:

Aufruf www.google.de -> ok
Aufruf http://www.google.de/search?q=test&ie=ISO-8859-1&hl=de&btnG=Google-Suche
->

The requested URL could not be retrieved

While trying to retrieve the URL: http://www.google.de/search?

The following error was encountered:

Unable to determine IP address from host name for www.google.de

The dnsserver returned:

Name Error: The domain name does not exist.

This means that:

The cache was not able to resolve the hostname presented in the URL.
Check if the address is correct.


Your cache administrator is webmaster.

Generated Tue, 11 Feb 2003 11:10:51 GMT by linux09p.stua-lp.nrw.de (Squid/2.4.STABLE7)

Wo liegt das Problem? Der squid holt sich per cache_peer die Daten aus einem anderen Proxy. Wir haben keine direkte Verbindung nach außen sondern nur über proxy. Der DNS Server kennt auch nur die inneren Namen!

dit
11.02.03, 08:54
Original geschrieben von MrIch
Wo liegt das Problem? Der squid holt sich per cache_peer die Daten aus einem anderen Proxy. Wir haben keine direkte Verbindung nach außen sondern nur über proxy. Der DNS Server kennt auch nur die inneren Namen! [/B]

Genau da liegt das Problem.

Der lokale DNS kann www.google.de nicht auflösen.
Warscheinlich ist die Firewall als übergeordneter Proxy eingetragen und löst im Internet auf.
Standardmäßig werden die Anfragen an die FW weiter geleitet.
Eine URL mit "?" wird grunsätzlich als nicht cachebar angesehen. Es macht also für Squid auch keinen Sinn diese von einem übergeordneten Cache zu holen und er versucht es direkt.

never_direct allow all

sollte das Problem beheben. Hiermit werden alle Anfragen an den Parent weiter geleitet.

Gibt es Ziele die nicht über den Parent abgerufen werden sollen (lokales Netz) können diese mit

never_direct deny ...
oder
always_direct allow ...

ausgenommen werden. (vor never_direct allow all)

MrIch
11.02.03, 16:01
cat /etc/squid/squid.conf | grep .... | + Verfremdung...


cache_peer 10.242.xxx.yyy parent 3128 7 no-query default
cache_peer_domain 10.242.xxx.yyy !stua-lp.nrw.de
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
emulate_httpd_log on
acl all src 0.0.0.0/0.0.0.0
acl helua09 src 10.242.xxx.ppp/32
acl manager proto cache_object
acl local-servers dstdomain stua-lp.nrw.de
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow helua09
http_access deny all
icp_access allow all
never_direct deny local-servers
never_direct allow all


Das Problm ist nun, wenn ich z.B. linux09x eingebe dann geht der proxy im Lan auf den Server und alles funktioniert. Gebe ich dagegen linux09x.stua-lp.nrw.de dann geht er zum parent proxy und der kennt ihn natürlich nicht! Das Aufrufen von www.google.de/??? funktioniert dagegen einwandfrei.

dit
12.02.03, 20:12
Original geschrieben von MrIch
Das Problm ist nun, wenn ich z.B. linux09x eingebe dann geht der proxy im Lan auf den Server und alles funktioniert. Gebe ich dagegen linux09x.stua-lp.nrw.de dann geht er zum parent proxy und der kennt ihn natürlich nicht! Das Aufrufen von www.google.de/??? funktioniert dagegen einwandfrei. [/B]

Der Teufel steckt bekanntlich im Detail ;)

acl local-servers dstdomain stua-lp.nrw.de

linux09x.stua-lp.nrw.de ist aber nicht stua-lp.nrw.de

eigentlich sollte es mit

acl local-servers dstdomain .stua-lp.nrw.de

funktionieren.

Besser wäre es allerdings das über den lokalen IP-Adressbereich zu definieren.
Dann trifft es immer, egal wie der Zielhost heisst.

MrIch
12.02.03, 20:39
vielen Dank, werde das am Fr @work ausprobieren und berichten!

Noch eine kleine theoretische Frage ( gehe davon aus, dass sowas nicht funktioniert):
Kann der proxy dem Client auch mitteilen, dass er keinen proxy nutzen soll... also der Weg vom Client direkt zum Zielrechner und nicht über den proxy?

dit
13.02.03, 10:34
Original geschrieben von MrIch
vielen Dank, werde das am Fr @work ausprobieren und berichten!

Noch eine kleine theoretische Frage ( gehe davon aus, dass sowas nicht funktioniert):
Kann der proxy dem Client auch mitteilen, dass er keinen proxy nutzen soll... also der Weg vom Client direkt zum Zielrechner und nicht über den proxy?

Nun das geht (so) nicht.

Ausnahmen trägt man normalerweise im Browser ein.
Hier kann man aber auch ein Proxyscript eintrage, dass der Client vom Proxy lädt und das die Konfiguration enthält, damit kann man dann an zentraler Stelle die Konfiguration vieler Clients recht schnell und effektiv ändern.

Ansonsten bleibt nur die Möglichkeit im Proxy zu "filtern" und die Anfrage ggf. umzuleiten. (geht dann aber immer über den Proxy)

uschy
13.02.03, 23:29
danke das gleiche problem hat mich auch genervt!

naja nun nicht mehr

danke bd uschy

MrIch
14.02.03, 08:31
cache_peer 10.242.xxx.yyy parent 3128 7 no-query default
cache_peer_domain 10.242.xxx.yyy !stua-lp.nrw.de
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
emulate_httpd_log on
acl all src 0.0.0.0/0.0.0.0
acl helua09 src 10.242.xxx.ppp/32
acl manager proto cache_object
acl local-servers src 10.242.zzz.0/22
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow local-servers
http_access deny all
icp_access allow all
always_direct allow local-servers
never_direct allow all


das ist nun meine squid.conf. Nun habe ich ein Problem weniger aber auch ein Problem mehr!

http://linux09x Unable to dertimate IP Address from hostname for...
http://linux09x.stua-lp.nrw.de funzt

nslookup linux09x funktioniert auch

dit
14.02.03, 12:36
Original geschrieben von MrIch
Nun habe ich ein Problem weniger aber auch ein Problem mehr!

http://linux09x Unable to dertimate IP Address from hostname for...
http://linux09x.stua-lp.nrw.de funzt

nslookup linux09x funktioniert auch

Man kann halt nicht alles haben ;)

linux09x ist ja auch kein richtiger Domainname.

Probier's doch mal mit

append_domain .stua-lp.nrw.de

Alternativ könnte evt. auch ein Eintrag in der lokalen hosts des Proxies helfen.

-----------------------------------------------
Mehr davon unter: http://www.squid-handbuch.de/

MrIch
17.02.03, 14:27
also ich habe nun mehrere Stunden Versuche und Tests mit squid gemacht, doch ich ahbe nicht eine Konfiguration gefunden wo alle Sachen funktionieren:
1) www.google.de
2) www.google.de/search?...
3) lanserver1
4) lanserver1.domäne.de
5) lanserver1.domäne.de/test

Hier meine aktuelle squid konfiguration, alle LAN Sachen funktionieren, aber google.de/search? nicht!


linux09p:/etc/squid # cat /etc/squid/squid.conf | grep "^[a-z][A-Z]*"
cache_peer 10.242.xxx.yyy parent 3128 7 no-query default
cache_peer_domain 10.242.xxx.yyy !.stua-lp.nrw.de
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
emulate_httpd_log on
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl lan src 10.242.zzz.0/22
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow lan
http_access deny all
icp_access allow all
append_domain .stua-lp.nrw.de


Kannst du bitte mal posten, wie du in meinem Fall die always und never_direct Parameter setzen würdest?