Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
HTTP-Replicator-Server / Client tauschen keine Packete aus
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Jefferson
n00b
n00b


Joined: 10 Nov 2005
Posts: 66

PostPosted: Tue Feb 19, 2008 4:14 pm    Post subject: HTTP-Replicator-Server / Client tauschen keine Packete aus Reply with quote

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
View user's profile Send private message
think4urs11
Bodhisattva
Bodhisattva


Joined: 25 Jun 2003
Posts: 6659
Location: above the cloud

PostPosted: Tue Feb 19, 2008 4:36 pm    Post subject: Reply with quote

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
View user's profile Send private message
Jefferson
n00b
n00b


Joined: 10 Nov 2005
Posts: 66

PostPosted: Tue Feb 19, 2008 5:17 pm    Post subject: Reply with quote

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
View user's profile Send private message
think4urs11
Bodhisattva
Bodhisattva


Joined: 25 Jun 2003
Posts: 6659
Location: above the cloud

PostPosted: Tue Feb 19, 2008 9:10 pm    Post subject: Reply with quote

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
View user's profile Send private message
Jefferson
n00b
n00b


Joined: 10 Nov 2005
Posts: 66

PostPosted: Wed Feb 20, 2008 9:01 am    Post subject: Reply with quote

FEHLER GEFUNDEN :D

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. :oops:

Nachdem ich hier "use_proxy = on" und "http_proxy = http://mars:8080/" + "ftp_proxy = http://mars:8080" gesetzt hatte funktionierte alles tadellos :lol:

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 :wink:

Grüße Jefferson
Back to top
View user's profile Send private message
dertobi123
Retired Dev
Retired Dev


Joined: 19 Nov 2002
Posts: 2679
Location: Oberhausen, Germany

PostPosted: Wed Feb 20, 2008 8:48 pm    Post subject: Reply with quote

Anstelle die wget Konfiguration "global" zu verbiegen, lässt sich der http_proxy auch in /etc/make.conf nur für Portage setzen.
_________________
Ganz frisch: Praxisbuch Nagios
Gentoo Linux - Die Metadistribution (2. Auflage)
Back to top
View user's profile Send private message
Jefferson
n00b
n00b


Joined: 10 Nov 2005
Posts: 66

PostPosted: Thu Feb 21, 2008 10:32 am    Post subject: Reply with quote

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
View user's profile Send private message
think4urs11
Bodhisattva
Bodhisattva


Joined: 25 Jun 2003
Posts: 6659
Location: above the cloud

PostPosted: Thu Feb 21, 2008 10:47 am    Post subject: Reply with quote

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
View user's profile Send private message
Jefferson
n00b
n00b


Joined: 10 Nov 2005
Posts: 66

PostPosted: Thu Feb 21, 2008 12:12 pm    Post subject: Reply with quote

Danke! wWrde ich machen und mal sehen ob es funktioniert.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum