View previous topic :: View next topic |
Author |
Message |
Jefferson n00b
Joined: 10 Nov 2005 Posts: 66
|
Posted: Tue Feb 19, 2008 4:14 pm Post subject: HTTP-Replicator-Server / Client tauschen keine Packete aus |
|
|
Hallo an alle,
ich bin hier gerade dabei http-replicator aufzusetzen, um das mehrmalige runterladen des selben Packetes auf verschiedenen Rechnern abzustellen.
Ich habe das Programm nach der folgenden Anleitung sowohl auf dem Server, als auch auf dem ersten Client installiert und eingerichtet.
[url]http://de.gentoo-wiki.com/Download_Zwischenspeicher_fürs_LAN_-_Http-Replicator[/url]
Nachdem ich auf dem Server die Packete runtergeladen und nochmals /usr/bin/repcacheman ausgeführt hatte, wollte ich die selben Packete auf dem Client installieren, was jedoch nicht funktionierte. Statt einer Verbindung zum Server wurden die Packete wieder aus dem Internet runtergeladen
Nach verschiedenen Versuchen die alle erfolglos blieben, habe ich neben der Suche hier im Forum auch unter Google gesucht und einige Hinweise gefunden, warum es nicht funktionieren könnte.
Ich habe jetzt fast alles ausprobiert und irgendwie klappt es immer noch nicht.
Zuerst dachte ich das läge an meiner lokalen Firewall, aber diese ist mittlerweile deaktiviert und aller Netzwerkverkehr ist uneingeschränkt erlaubt.
Die /etc/make.conf auf dem Server (Mars) sieht folgendermaßen aus:
Code: |
http_proxy="http://mars:8080"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ "
|
Die /etc/make.conf auf dem Client (Mond) wie folgt:
Code: |
http_proxy="http://mars:8080"
GENTOO_MIRRORS="http://mars:8080/usr/portage/"
|
Die /etc/conf.d/http-replicator wurde von mir dergestalt angepasst, dass nicht in /var/cache/http-replicator gesucht wird, sondern direkt in /usr/portage/distfiles. Grund hierfür liegt darin dass man damit - laut Aussage - das Ausführen von /usr/bin/repacheman sparen kann.
Anbei die /etc/conf.d/http-replicator auf dem Server als auch auf dem Client:
Server:
Code: |
## Config file for http-replicator
## sourced by init scripts automatically
## GENERAL_OPTS used by repcacheman
## DAEMON_OPTS used by http-replicator
## Set the cache dir
GENERAL_OPTS="--dir /usr/portage/distfiles"
#GENERAL_OPTS="--dir /var/cache/http-replicator"
## Change UID/GID to user after opening the log and pid file.
## 'user' must have read/write access to cache dir:
GENERAL_OPTS="$GENERAL_OPTS --user portage"
## Don't change or comment this out:
DAEMON_OPTS="$GENERAL_OPTS"
## Config file for http-replicator
## sourced by init scripts automatically
## GENERAL_OPTS used by repcacheman
## DAEMON_OPTS used by http-replicator
## Set the cache dir
GENERAL_OPTS="--dir /usr/portage/distfiles"
#GENERAL_OPTS="--dir /var/cache/http-replicator"
## Change UID/GID to user after opening the log and pid file.
## 'user' must have read/write access to cache dir:
GENERAL_OPTS="$GENERAL_OPTS --user portage"
## Don't change or comment this out:
DAEMON_OPTS="$GENERAL_OPTS"
## Do you need a proxy to reach the internet?
## This will forward requests to an external proxy server:
## Config file for http-replicator
## sourced by init scripts automatically
## GENERAL_OPTS used by repcacheman
## DAEMON_OPTS used by http-replicator
## Set the cache dir
GENERAL_OPTS="--dir /usr/portage/distfiles"
#GENERAL_OPTS="--dir /var/cache/http-replicator"
## Change UID/GID to user after opening the log and pid file.
## 'user' must have read/write access to cache dir:
GENERAL_OPTS="$GENERAL_OPTS --user portage"
## Don't change or comment this out:
DAEMON_OPTS="$GENERAL_OPTS"
## Do you need a proxy to reach the internet?
## This will forward requests to an external proxy server:
## Use one of the following, not both:
#DAEMON_OPTS="$DAEMON_OPTS --external somehost:1234"
#DAEMON_OPTS="$DAEMON_OPTS --external username:password@host:port"
## Local dir to serve clients. Great for serving binary packages
## See PKDIR and PORTAGE_BINHOST settings in 'man make.conf'
## --alias /path/to/serve:location will make /path/to/serve
## browsable at http://http-replicator.com:port/location
DAEMON_OPTS="$DAEMON_OPTS --alias /usr/portage/packages/All:All"
## Dir to hold the log file:
DAEMON_OPTS="$DAEMON_OPTS --log /var/log/http-replicator.log"
## Make the log messages less and less verbose.
## Up to four times to make it extremely quiet.
#DAEMON_OPTS="$DAEMON_OPTS --quiet"
#DAEMON_OPTS="$DAEMON_OPTS --quiet"
## Make the log messages extra verbose for debugging.
#DAEMON_OPTS="$DAEMON_OPTS --debug"
## The ip addresses from which access is allowed. Can be used as many times
## as necessary. Access from localhost is allowed by default.
DAEMON_OPTS="$DAEMON_OPTS --ip 192.168.178.*"
#DAEMON_OPTS="$DAEMON_OPTS --ip 10.*.*.*"
## The proxy port on which the server listens for http requests:
DAEMON_OPTS="$DAEMON_OPTS --port 8080"
|
Client:
Code: |
## Config file for http-replicator
## sourced by init scripts automatically
## GENERAL_OPTS used by repcacheman
## DAEMON_OPTS used by http-replicator
## Set the cache dir
GENERAL_OPTS="--dir /usr/portage/distfiles"
#GENERAL_OPTS="--dir /var/cache/http-replicator"
## Change UID/GID to user after opening the log and pid file.
## 'user' must have read/write access to cache dir:
GENERAL_OPTS="$GENERAL_OPTS --user portage"
## Don't change or comment this out:
DAEMON_OPTS="$GENERAL_OPTS"
## Do you need a proxy to reach the internet?
## This will forward requests to an external proxy server:
## Use one of the following, not both:
#DAEMON_OPTS="$DAEMON_OPTS --external somehost:1234"
#DAEMON_OPTS="$DAEMON_OPTS --external username:password@host:port"
## Local dir to serve clients. Great for serving binary packages
## See PKDIR and PORTAGE_BINHOST settings in 'man make.conf'
## --alias /path/to/serve:location will make /path/to/serve
## browsable at http://http-replicator.com:port/location
DAEMON_OPTS="$DAEMON_OPTS --alias /usr/portage/packages/All:All"
## Dir to hold the log file:
DAEMON_OPTS="$DAEMON_OPTS --log /var/log/http-replicator.log"
## Make the log messages less and less verbose.
## Up to four times to make it extremely quiet.
#DAEMON_OPTS="$DAEMON_OPTS --quiet"
#DAEMON_OPTS="$DAEMON_OPTS --quiet"
## Make the log messages extra verbose for debugging.
DAEMON_OPTS="$DAEMON_OPTS --debug"
## The ip addresses from which access is allowed. Can be used as many times
## as necessary. Access from localhost is allowed by default.
DAEMON_OPTS="$DAEMON_OPTS --ip 192.168.178.*"
#DAEMON_OPTS="$DAEMON_OPTS --ip 10.*.*.*"
## The proxy port on which the server listens for http requests:
DAEMON_OPTS="$DAEMON_OPTS --port 8080"
|
Wenn ich jetzt versuche mit dem Client vom Server ein Packet zu laden erhalte ich folgendes:
Code: |
mond homer # emerge gentoo-sources
Calculating dependencies... done!
>>> Verifying ebuild Manifests...
>>> Emerging (1 of 1) sys-kernel/gentoo-sources-2.6.23-r8 to /
Adjusting permissions recursively: '/usr/portage/distfiles/.locks'
* genpatches-2.6.23-9.extras.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ]
>>> Downloading 'http://mars:8080/usr/portage/distfiles/linux-2.6.23.tar.bz2'
--16:23:32-- http://mars:8080/usr/portage/distfiles/linux-2.6.23.tar.bz2
=> `/usr/portage/distfiles/linux-2.6.23.tar.bz2'
Verbindungsaufbau zu 127.0.0.1:8118... verbunden.
Proxy Anforderung gesendet, warte auf Antwort... 404 Not Found
16:23:32 FEHLER 404: Not Found.
>>> Downloading 'http://www.uk.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2'
--16:23:32-- http://www.uk.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2
=> `/usr/portage/distfiles/linux-2.6.23.tar.bz2'
Verbindungsaufbau zu 127.0.0.1:8118... verbunden.
Proxy Anforderung gesendet, warte auf Antwort... 302 Found
Platz: http://www.uk.kernel.org/sites/ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2[folge]
--16:23:32-- http://www.uk.kernel.org/sites/ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2
=> `/usr/portage/distfiles/linux-2.6.23.tar.bz2'
Verbindungsaufbau zu 127.0.0.1:8118... verbunden.
Proxy Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 45.488.158 (43M) [application/x-tar]
0% [ ] 130.817 46.39K/s
[58]+ Stopped emerge gentoo-sources
|
Offensichtlich bestand eine Verbindung zum Server, die aber nicht etabliert werden konnte und daher versucht Portage wieder das Packet aus dem Internet zu laden. Die Verbindung findet aber an Port 8118 statt und nicht an Port 8080 wie in der Config festgelegt. An Port 8118 läuft mein TOR mit Privoxy.
Ein Blick in die Logdatei auf dem Server zeigt, dass tatsächlich eine Anfrage vom Client stattgefunden hat.
Code: |
19 Feb 2008 16:22:36 STAT: HttpClient 1 bound to 192.168.178.20
19 Feb 2008 16:22:36 INFO: HttpClient 1 direct request for /usr/portage/distfiles/linux-2.6.23.tar.bz2
19 Feb 2008 16:22:36 STAT: HttpClient 1 received 56 bytes
|
Netstat -an auf dem Server als auch dem Client zeigt an, das der Port 8080 offen ist
Code: |
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
|
Was mache ich also falsch?
Ein Hinweis hier im Forum unter
https://forums.gentoo.org/viewtopic-t-599651-highlight-httpreplicator.html
besagt, dass auf dem Server ein FTP-Server installiert sein sollte.
Ist das wirklich so, weil davon im Howto unter
https://forums.gentoo.org/viewtopic-t-173226-highlight-httpreplicator.html
nichts steht.
Für jede Hilfe das Problem doch irgendwie zu lösen, wäre ich echt dankbar.
Grüße
Jefferson |
|
Back to top |
|
|
think4urs11 Bodhisattva
Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Tue Feb 19, 2008 4:36 pm Post subject: |
|
|
1. http-replicatior muß _nur_ auf dem Server installiert werden; auf dem/n Clients ist es überflüssig
2. ändere (auf mond) GENTOO_MIRRORS="http://mars:8080/usr/portage/" zu GENTOO_MIRRORS="http://mars:8080/" _________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself |
|
Back to top |
|
|
Jefferson n00b
Joined: 10 Nov 2005 Posts: 66
|
Posted: Tue Feb 19, 2008 5:17 pm Post subject: |
|
|
Hallo Think4UrS11,
danke für Deine Hilfe.
Ich habe jetzt auf dem Client erst einmal http-replicator mittels --unmerge deinstalliert, da er ja nicht auf dem Client installiert sein muss.
Nach Änderung der /etc/make.conf beim Client auf http://mars:8080/ habe ich es wieder probiert, ein bereits vorhandenes Packet "gentoo-sources" vom Server zu holen.
Wieder mit dem selben Ergebnis, dass er versucht, das Paket aus dem Internet zu laden
Ich habe daraufhin auf dem Server in der /etc/conf.d/http-replicator unter der Option ## Set the cache dir wieder die Defaulteinstellung mit "GENERAL_OPTS=" --dir /var/cache/http-replicator" aktiviert und "GENERAL_OPTS= " --dir /usr/portage/distfiles" deaktiviert.
Code: |
## Set the cache dir
#GENERAL_OPTS="--dir /usr/portage/distfiles"
GENERAL_OPTS="--dir /var/cache/http-replicator"
|
Beim nächsten Versuch genau das selbe Ergebnis. Wieder kein laden vom Server sondern wieder der Versuch, es aus dem Internet zu laden.
Code: |
mond homer # emerge gentoo-sources
Calculating dependencies... done!
>>> Verifying ebuild Manifests...
>>> Emerging (1 of 1) sys-kernel/gentoo-sources-2.6.23-r8 to /
Adjusting permissions recursively: '/usr/portage/distfiles/.locks'
* genpatches-2.6.23-9.extras.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ]
>>> Downloading 'http://mars:8080/distfiles/linux-2.6.23.tar.bz2'
--18:04:15-- http://mars:8080/distfiles/linux-2.6.23.tar.bz2
=> `/usr/portage/distfiles/linux-2.6.23.tar.bz2'
Verbindungsaufbau zu 127.0.0.1:8118... verbunden.
Proxy Anforderung gesendet, warte auf Antwort... 404 Not Found
18:04:15 FEHLER 404: Not Found.
>>> Downloading 'http://www.de.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2'
--18:04:15-- http://www.de.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2
=> `/usr/portage/distfiles/linux-2.6.23.tar.bz2'
Verbindungsaufbau zu 127.0.0.1:8118... verbunden.
Proxy Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 45.488.158 (43M) [application/x-tar]
0% [ ] 348.214 38.16K/s ETA 18:06
[64]+ Stopped emerge gentoo-sources
|
Die Log-Datei auf dem Server zeigt mir wieder an, dass eine Verbindung bestand (17:58 = Erster Versuch mit GENERAL_OPTS auf /usr/portage/distfiles, 18:03 zweiter Versuch mit GENERAL_OPTS auf /var/cache/http-replicator).
Code: |
19 Feb 2008 17:58:40 STAT: HttpClient 2 bound to 192.168.178.20
19 Feb 2008 17:58:40 INFO: HttpClient 2 direct request for /distfiles/linux-2.6.23.tar.bz2
19 Feb 2008 17:58:40 STAT: HttpClient 2 received 56 bytes
19 Feb 2008 18:00:40 INFO: HttpReplicator terminated
19 Feb 2008 18:00:40 INFO: HttpReplicator started
19 Feb 2008 18:03:19 STAT: HttpClient 1 bound to 192.168.178.20
19 Feb 2008 18:03:19 INFO: HttpClient 1 direct request for /distfiles/linux-2.6.23.tar.bz2
19 Feb 2008 18:03:19 STAT: HttpClient 1 received 56 bytes
|
Was ich definitiv nicht verstehe ist, dass er immer versucht sich unter 127.0.0.1:8118 zu verbinden (siehe oben) anstatt mit 192.168.178.*:8080, obwohl als Port in der Server Konfig Port 8080 eingestellt ist |
|
Back to top |
|
|
think4urs11 Bodhisattva
Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Tue Feb 19, 2008 9:10 pm Post subject: |
|
|
hmm deaktiver mal dein privoxy (oder such mal wo du wget&Co. dazu verdonnert hast dieses zu nutzen)
außerdem stört mich noch das distfiles in ...4:15-- http://mars:8080/distfiles/linux-2....; irgendwas stimmt mit deiner Konfig da noch nicht. Normalerweise solltest du wenn du mit dem Browser auf http://mars:8080/ gehst dort eine Auflistung aller bereits heruntergeladener Dateien finden, in keinem Fall aber einen Ordner distfiles. _________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself |
|
Back to top |
|
|
Jefferson n00b
Joined: 10 Nov 2005 Posts: 66
|
Posted: Wed Feb 20, 2008 9:01 am Post subject: |
|
|
FEHLER GEFUNDEN
Dein Hinweis mit Privoxy war schon gut, aber das Problem war wget.
In der /etc/wget/wgetrc war zwar "Passives ftp" aktiviert aber nicht, dass wget über einen Proxy arbeiten soll.
Nachdem ich hier "use_proxy = on" und "http_proxy = http://mars:8080/" + "ftp_proxy = http://mars:8080" gesetzt hatte funktionierte alles tadellos
Code: |
mond homer # emerge gentoo-sources
Calculating dependencies... done!
>>> Verifying ebuild Manifests...
>>> Emerging (1 of 1) sys-kernel/gentoo-sources-2.6.23-r8 to /
Adjusting permissions recursively: '/usr/portage/distfiles/.locks'
>>> Downloading 'http://mars:8080/distfiles/genpatches-2.6.23-9.extras.tar.bz2'
--09:46:18-- http://mars:8080/distfiles/genpatches-2.6.23-9.extras.tar.bz2
=> `/usr/portage/distfiles/genpatches-2.6.23-9.extras.tar.bz2'
Auflösen des Hostnamen »mars«.... 192.168.178.24
Verbindungsaufbau zu mars|192.168.178.24|:8080... verbunden.
Proxy Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 147.992 (145K)
100%[================================================================>] 147.992 --.--K/s
09:46:18 (14.02 MB/s) - »/usr/portage/distfiles/genpatches-2.6.23-9.extras.tar.bz2« gespeichert [147992/1479
92]
>>> Downloading 'http://mars:8080/distfiles/linux-2.6.23.tar.bz2'
--09:46:18-- http://mars:8080/distfiles/linux-2.6.23.tar.bz2
=> `/usr/portage/distfiles/linux-2.6.23.tar.bz2'
Auflösen des Hostnamen »mars«.... 192.168.178.24
Verbindungsaufbau zu mars|192.168.178.24|:8080... verbunden.
Proxy Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 45.488.158 (43M)
36% [======================> ] 16.504.448 11.25M/s
[4]+ Stopped emerge gentoo-sources
|
Ich bin auch über den nachfolgenden Text im Gentoo Wiki drauf gekommen:
http://gentoo-wiki.com/HOWTO_Anonymity_with_Tor_and_Privoxy
Code: |
Note on Speed
Browsing through a proxy will slow down your connection. It's not a good idea to use tor with wget (which is used by emerge).
Gentoo Blocks Tor Exit Node Traffic from its Official Distfile Servers (among others), and almost all Official Mirrors. (Note from reader: As of 26th June in 2006 there's no problem with it.)
To turn off proxying for wget, change #use_proxy = on to use_proxy = off in /etc/wget/wgetrc around line 80.
|
Jetzt fehlt nur noch die entsprechende Firewall-Regel und die Welt ist wieder in Ordnung.
Nochmals vielen Dank für Deine Hilfe, denn manchmal sieht man den Wald vor lauter Bäumen nicht mehr
Grüße Jefferson |
|
Back to top |
|
|
dertobi123 Retired Dev
Joined: 19 Nov 2002 Posts: 2679 Location: Oberhausen, Germany
|
|
Back to top |
|
|
Jefferson n00b
Joined: 10 Nov 2005 Posts: 66
|
Posted: Thu Feb 21, 2008 10:32 am Post subject: |
|
|
Danke für den Hinweis.
Was muss den dann in die /etc/make.conf eingetragen werden, damit ich die Konfiguration von wget nicht "verbiegen" muss? |
|
Back to top |
|
|
think4urs11 Bodhisattva
Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Thu Feb 21, 2008 10:47 am Post subject: |
|
|
Trag deinen Replicator-Server einfach als ersten (wahlweise auch als einzigen) bei GENTOO_MIRRORS auf den Clients ein. _________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself |
|
Back to top |
|
|
Jefferson n00b
Joined: 10 Nov 2005 Posts: 66
|
Posted: Thu Feb 21, 2008 12:12 pm Post subject: |
|
|
Danke! wWrde ich machen und mal sehen ob es funktioniert. |
|
Back to top |
|
|
|