Archiv nach Schlagworten: Linux

ntlmaps

Nachdem sich nun vor einiger Zeit in unserer Schule ein “Microsoft Internet Security and Acceleration Server” (ISA-Server) anschloss, musste ich wohl oder übel damit leben, künftig ohne apt/emerge/Yast-Software-Installer/etc. auszukommen. Denn dieser Server verwehrt jeglichen Verkehr nach Außen, welcher nicht über eine NTLM-Authentifizierung durchgeführt wird. Nur wusste ich dies vor einem halben Jahr alles noch nicht, so musste ich wohl vorerst mit einem Windows-Client leben.

Vor einigen Tagen wurde ich dann “aufgeklärt” (hier einen Dank an Gregor Radtke) über die Krankheiten der NTLM-Authentifizierung. Denn leider beherrschen weder “emerge” noch “aptitude/apt-get” das propitäre Protokoll NTLM. Zumindest nicht per default. Eine Lösung dieses Problems fiel mir heute Morgen wie Schuppen von den Augen: ntlmaps.

Mithilfe von ntlmaps wird es mir also wieder ermöglicht, mein geliebtes emerge einzusetzen. Diese Software ist sowohl in den debian Repository’s, als auch im Gentoo Portage-Tree zu finden (und bald auch als RPM, sobald ich mich drangesetzt habe, eins zu bauen). Man installiert es einfach mit dem Paketmanager seiner Wahl und konfiguriert folgendes:

/etc/ntmlaps/server.cfg (IP-Adresse/Port möge abweichen können);

PARENT_PROXY:192.168.1.1
PARENT_PROXY_PORT:8080
NT_DOMAIN:my.domain
USER:username_for_proxy
PASSWORD:password_for_proxy

/etc/wget/wgetrc:

http_proxy = http://127.0.0.1:5865/
ftp_proxy = http://127.0.0.1:5865/

Jetzt nur noch den Befehl “ntlmaps” eingeben, und somit ntlmaps im Hintergrund starten. Nun funktioniert auch wieder apt/emerge/etc.

Nachtrag; Hier die RPM’s:

Download: ntlmaps.src.rpm

Download: ntlmaps.rpm

sichere Verbindung zu einem Proxy-Server aufbauen

In diesem Howto soll beschrieben werden, wie man eine sichere Verbindung zu einem Linux-Proxyserver (Debian oder Ubuntu) von einem Windows-Rechner aus aufbaut. Dies macht es z.B. in Firmen der Firewall oder anderen Teilnehmern im Netzwerk unmöglich die übertragenen Daten abzuhören oder zu filtern.

Wir tunneln hierzu die Kommunikation des Webbrowsers unter Windows durch einen SSH Tunnel zu unserem Server, auf dem sowohl der SSH als auch der Proxy-Server läuft. Wir verwenden dazu den sehr leicht zu konfigurierenden Proxy-Server “tinyproxy” und das Windows-Programm “plink.exe“. Als Server kommt entweder ein eigener Server mit statischer IP-Adresse oder natürlich der eigene Heimrechner mit dynamischer IP und z.B. mit DynDNS-Domain in Frage.

Schreiten wir also zur Tat. Die Installation von TinyProxy unter Debian ist schnell erledigt:

apt-get install tinyproxy

Anschließend sperren wir den Zugriff auf den Server von allen IP-Adressen außer localhost bzw. 127.0.0.1. Das geht mit folgendem Code:

Allow 127.0.0.1

in der Konfigurationsdatei /etc/tinyproxy/tinyproxy.conf.

Natürlich kann man das ganze auch noch einmal mit iptables abdichten.

Nachdem die Konfigurationsdatei angepasst wurde, ist ein Neustart von Tinyproxy notwendig.

Nachdem die Installation auf dem Server abgeschlossen ist, können wir uns der Installation auf dem Windows-Rechners zuwenden. Wir laden dazu das Programm plink.exe herunter und starten es unter Windows mit folgendem Befehl in der Kommandozeile:

plink.exe -v -pw Passwort benutzer@mein-server.homelinux.org -L 8888:locahost:8888

Die Option “-pw Passwort” kann auch weggelassen werden. Das Programm fragt dann später nach dem Passwort. Man muss es also nicht im Klartext in der Kommandozeile angeben. Ist die Verbindung zum Server durch das Programm hergestellt, öffnet es auf dem Windows-Rechner den lokalen Port “8888″, der nun dem lokalen Port “8888″ auf dem Server entspricht, unter dem dort der Proxy-Server ansprechbar ist.

Wir können nun also die Proxy-Konfiguration in unserem Webbrowser unter Windows vornehmen. Dazu tragen wir als Host unseren lokalen Hostnamen “localhost” ein und als Port selbstverständlich “8888″. Wir verwenden einen Socks-Proxy.

Wir überprüfen nun, in dem wir im Browser eine beliebige Internetseite aufrufen, ob unsere Konfiguration funktioniert. Zur Sicherheit können wir als Hostnamen auch noch einmal direkt den unseres Servers eintragen, um zu überprüfen, ob der Proxy-Server tatsächlich nicht dirket über das Internet erreichbar ist.

Einen Tunell kann man natürlich auch von einem Linux-Rechner aus aufbauen:

ssh -L 8888:localhost:8888 mein-server@homelinux.org

Anstelle von “localhost” kann auch ein anderer Rechner in der Umgebung des Proxy-Servers angegeben werden, z.B. dann, wenn man den Proxy-Server nicht auf dem gleichen Rechner laufen lässt, auf dem auch der SSH-Server läuft.

Das Tunneling kann selbstverständlich auch für andere Serverkommunikationen genutzt werden, wie z.B. VPN, FTP o.ä.

Gentoo: Stage4

Jeder der bereits in den Genuss einer Stage3 oder wenn nicht sogar einer Stage1-Installation gekommen ist, wird glücklich über ein Stage4-Archiv sein. Dieses ist ein Archiv, welches all’ jene Programme enthält, die man selbst verwendet.

Die Erstellung eines solchen Stage-Archives könnte man auch als “Backup” bezeichnen. Hierdurch erspart man sich lange Kompilierzeiten, sollte man den Rechner denn einmal neuaufsetzen wollen.

So wirds gemacht…

Die Distfiles kann man optional rausnehmen:
tar –no-ignore-case -cvjpf stage4-datum.tbz2 / –exclude=/dev/*
–exclude=/sys/* –exclude=/proc/* –exclude=/var/tmp/*
–exclude=/var/log/* –exclude=/usr/portage/distfiles/*
–exclude=/home/* –exclude=/opt/*

/proc sowie /dev mitzupacken wäre sinnfreie Platzverschwendung. /home und /opt habe ich mit Absicht mal rausgenommen – obwohl dies ja hier optional ist.

Da hier vermutlich (nach einigen Stunden) einige Gigabyte zusammenkommen werden, bietet es sich natürlich an, das Stage4-Archiv zu splitten, um es ggf. auf einen externen Datenträger zu sichern:
tar cpvf – / | split -b 1000m – stage4-`date`.tar”

…Stage4 wieder installieren…

Um nun mithilfe unseres erstellten Archives eine Stage4-Installation durchzuführen, müssen wir folgendes über eine Gentoo-Live-CD (bzw. Gentoo-mini-install-disk) machen:
mount /dev/xdyA /mnt/gentoo
mount /dev/xdyB /mnt/gentoo/boot #falls erforderlich!
tar -xvjpf stage4-datum.tbz2 -C /mnt/gentoo/
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
chroot /mnt/gentoo /bin/bash
env-update && source /etc/profile

Hat alles soweit funktioniert, so muss man noch den Grub installieren:
grub-install –no-floppy /dev/xdy
Ist auch dieses erledigt, so kann man nun den Rechner neu starten und sollte sich in seinem zuvor erstellten Gentoo wiederfinden.

Einen Ordner voller Bilder konvertieren ?

Nachdem ich eine Reihe von Bildern mit xsane im PNM-Format eingescannt hatte, sah ich mich nun vor das Problem gestellt, wie ich nun all diese Bilder in das gängige JPEG-Format konvertieren soll.

Eine erste Lösung war schnell gefunden:

convert image.pnm image.jpg

Doch wie macht man das mit allen JPG-Bildern in einem Ordner ?

for i in *.pnm; do convert $i ${i%.pnm}.jpg; done

Nun werden alle JPG-Bilder umgewandelt und erhalten auch wieder den richtigen Namen und eine neue Dateiendung. Mehr zu derartigen Schleifen gibt es bei Andreas Bimminger: [Link].

Hierzu muss natürlich das Paket “imagemagick” installiert sein.

Hallo Welt!

Nachdem meine Wenigkeit und Mebus in einem Gespräch über Fluxbox, EeePC’s, Gnome, Gentooooo und Gott auf die Idee kamen, einen Blog zu erstellen, ist dieser hier als Ergebnis zu verzeichnen. ;)

Hier finden ab jetzt all’ jene Ereignisse Platz, welche Mebus und mich durch unser Linux-Leben begleiten.

Das umfasst Probleme, Lösungen, HowTo’s, etc. betrefflich Linux, aber auch freie Software, Musik und vor allem Last.fm!

Mebus benutzt meist die Distributionen Debian und Ubuntu. Ich hingegen schwöre auf Gentoo. Wir sind beide noch Schüler, bzw. in einer Ausbildung.

Hier wird sich mit der Zeit demnach einiges ansammeln.

Viel Spaß beim Lesen!