Da ein paar Server in meinem Netz nicht direkt, sondern nur via Reverse-Proxy erreichbar sind haben diese auch keinen direkten Internetzugang. Sie müssen sich also auch Updates etc. via Proxy holen.
Dafür setze ich zum einen APT-Cacher-NG, und zum Anderen einen Squid ein. Apt könnte natürlich auch über den Squid laufen, aber da ja mehrere Server laufen muss ich nicht alle Updates zig mal herunterladen.
Den Proxy für APT setzt man einfach indem man eine Datei erstellt
$ nano /etc/apt/apt.conf.d/00aptproxy
Hier wird nun der Proxy eingetragen
Acquire::http::Proxy "http://aptproxy.domain.de:3142“; Acquire::https::Proxy "https://aptproxy.domain.de:3142“;
Damit wget z.B. aber auch via Proxy raus geht kann man den „normalen“ Proxy beispielsweise ins Environment setzen. Dies geschieht durch
$ nano /etc/enviroment
und eintragen der Werte
$ nano /etc/environment
http_proxy=http://proxy.domain.de:3128 https_proxy=https://proxy.domain.de:3128 ftp_proxy=ftp://proxy.domain.de no_proxy=localhost,intranet.domain.de soap_use_proxy=on
Nun hatte ich das Problem das ein Container das so gesetzte Environment nicht übernimmt, sondern offensichtlich das des Host auf dem er läuft. Da sich Host und Gast aber in unterschiedlichen Netzen befinden kann der Proxy nicht aufgelöst werden.
Deswegen setzt man den Proxy für wget in dessen Config-Datei
$ nano /etc/wgetrc
https_proxy = https://proxy.domain.de:3128/ http_proxy = http://proxy.domain.de:3128/ ftp_proxy = http://proxy.domain.de:3128/