[[PageOutline]] = Proxies im Kepler-Netzwerk = Im Kepler-Netzwerk existieren zwei [wikipedia:Squid_(software) Squid] Proxy-Server und der IPCop der Linuxmusterlösung. Ihre Aufgaben sind - beschleunigen des Zugriffs auf Seiten außerhalb des Kepler-Netzwerkes (Web-Caching) - authentifizieren der Nutzer, die auf Seiten außerhalb des Kepler-Netzwerkes zugreifen - beschränken des Zugangs zu bestimmten Seiten. == WPAD Damit die Browser die Proxies automatisch erkennen muss für das grüne und graue Netz das [wikipediaDe:Web_Proxy_Autodiscovery_Protocol WPAD-Verfahren] aktiviert sein (Automatische Suche der Einstellungen), dann erkennt der Browser den Proxy automatisch, im blauen Netz (WLAN) ist der Proxy transparent, hier ist die Einstellung im Browser egal. Verweise: #156, #250, #946 == Proxies im grünen Netz == Aus #250: Wir haben im grünen Netz zwei automatische Verfahren, wie man ins Internet kommt. Welches Anwendung findet entscheidet sich danach, welchen DNS-Sever per DHCP mitgeteilt wurde: 1. DNS: paedml.kg-fds.de (10.32.1.1)\\ WPAD: paedml.kg-fds.de\\ Gateway: ipcop.kg-fds.de (10.32.1.254, transparent, deshalb DIRECT)\\ liefert die folgende wpad.dat, da [wikipedia:IPCop] transparent ist: {{{ function FindProxyForURL(url, host) { return "DIRECT"; } }}} IPcop-Webadmin: https://10.32.1.254:445 2. DNS: 10.32.1.251 (GreenProxy)\\ WPAD: 10.32.1.251\\ Gateway: 10.32.1.251 (Nicht transparent, Squid auf Port 3128)\\ liefert folgende wpad.dat: {{{ function FindProxyForURL(url, host) { lurl = url.toLowerCase(); if ((lurl.substring(0, 5) == "http:") || (lurl.substring(0, 4) == "ftp:" ) || (lurl.substring(0, 6) == "https:")) if ((isPlainHostName(host) && !localHostOrDomainIs(host, "www")) || (dnsDomainIs(host, ".kg-fds.de") && !localHostOrDomainIs(host, "www.kg-fds .de")) || (host.substring(0, 6) == "10.32.")) return "DIRECT"; else if (localHostOrDomainIs(host, "www.kg-fds.de")) return "PROXY 10.32.1.253:3128"; else return "PROXY 10.32.1.251:3128"; else return "DIRECT"; } }}} In dieser wpad.dat werden alle Anfragen an die Domain kg-fds.de lokal beantwortet (ohne Proxy) lediglich www.kg-fds.de muss über den Proxy raus. Zusätzlich wäre das Netz 10.32.0.0 / 255.255.240.0 rauszunehmen. == Proxy an der Kommandozeile == Der folgende Aufruf sollte den Proxy an der Kommandozeile setzen: {{{ export http_proxy=http://:@10.32.1.251:3128/ export https_proxy=https://:@10.32.1.251:3128/ export ftp_proxy=ftp://:@10.32.1.251:3128/ }}} Werden `username` und `password` nicht angegeben, so werden sie im Terminal interaktiv abgefragt. == Update-Proxy auf 10.32.1.253 == Auf 10.32.1.253 (ProxmoxS) läuft ein weiterer [wikipedia:Squid_(software) Squid]. Dieser Proxy wird von den LTSP-Servern für Software-Updates benutzt (`apt`). Er kann ebenfalls auf der Kommandozeile gesetzt werden: {{{ export http_proxy=http://10.32.1.253:3128/ export https_proxy=https://<10.32.1.253:3128/ export ftp_proxy=ftp://10.32.1.253:3128/ }}} Nutzername und Passwort sind nicht nötig, der Proxy ist für alle Nutzer und Rechner frei erreichbar (aber er lässt eben nur Anfragen zu den Seiten durch, die für die Software-Updates nötig sind). === Adressen im Proxy freischalten === Adressen, die über den 253er Proxy ohne Authentifizierung zugänglich sein sollen, müssen in `10.32.1.253:/etc/squid/squid.conf` eingetragen werden. Das ist z.B. sinnvoll für - die Adressen, auf die `apt` zum Software-Update zugreift - den Kepler-Kalender von Herrn Hilbert - die Kepler-Homepage (die ja extern liegt) Danach muss Squid die Konfigurationsdatei neu einlesen (s.u.). == Squid-Konfigurationsdatei neu einlesen == {{{ squid -k reconfigure }}} teilt Squid mit, dass die Konfigurationsdatei neu eingelesen werden soll. Das ist nach jeder Änderung an der `squid.conf` nötig. == Adressbereiche von Domains herausfinden == {{{ ping URL }}} ergibt mal eine URL der Domain, damit kann man dann bei https://apps.db.ripe.net/search den Adressbereich herausfinden. Auch unter http://tcpiputils.com/ sind gute Ergebnisse erhältlich: Zunächst einen DNS-Lookup, die erhaltene IP dann bei WHOIS-Lookup abfragen. == Softwareupdates (APT) über den Proxy Soll das Softwareupdate mit APT auf einem Rechner funktionieren, muss APT ebenfalls den Proxy kennen. Eigentlich sollte es dazu genügen, in den Ubuntu-Systemeinstellungen unter "Netzwerk" "automatisch erkennen" einzustellen. Zumindest bei Ubuntu 12.04 klappt das aber nicht richtig. Dort muss man dem APT den Proxy nochmal von Hand mitteilen: In die /etc/apt/apt.conf eintragen: {{{ Acquire::http::proxy "http://proxy.kg-fds.de:8080 }}} Der Name "proxy" wird im grünen und grauen Netz verschieden aufgelöst, damit sollte es mit diesem Eintrag in allen Netzen gehen. (Über blau müsste es aber ohne gehen, denn dort ist der Proxy transparent.)