Posts mit dem Label Linux werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Linux werden angezeigt. Alle Posts anzeigen

2008-10-20

Server in VMware

Auf meiner Linux-Maschine läuft Debian Etch und Windows ist in einen virtuellen PC via VMware-Player verbannt. Aus mehreren Gründen läuft die virtuelle Netzwerkkarte im NAT-Modus:
Der virtuelle Rechner braucht keine eigene IP aus dem lokalen Netz, da er ja nach aussen die IP des Wirtes benutzt. Somit ist der "Rechner" auch nicht von aussen zu erreichen.
Das war bisher auch so gewollt. Nun will man aber manchmal eben doch einige Dienste von aussen ansprechen können (z.B. um per VNC Hilfe zu bekommen oder den lokalen Apache mit einer Entwicklerversion eines Webservice ansprechbar zu machen)
Dazu muß man entsprechende Einträge in der /etc/vmware/vmnet8/nat/nat.conf vornehmen.
1. VMware-Player beenden
2. Unter [incomingtcp] die Portweiterleitungen eintragen
[incomingtcp]
# Use these with care - anyone can enter into your VM through these...
PPP = xx.xx.xx.xx:PPP
xx.xx.xx.xx ist die private IP-Adresse der virtuellen Maschine
PPP ist der weiterzuleitende Port (z.B. 5900 für VNC oder 8080 für den erwähnten Apache-Dienst)
3. den VMware-Service (und damit die virtuellen Interfaces) beenden
/etc/init.d/vmware stop
/etc/init.d/vmware start

4. VMware-Player starten und die Ports werden vom Wirt zum Host weitergereicht

In meinem Fall ist der Dienst dann natürlich noch nicht aus dem Internet/Intranet erreichbar. Dazu muß auf dem vorgeschalteten Router ebenfalls eine Weiterleitung eingerichtet sein, wobei hier natürlich die IP des Wirts zu verwenden ist.
Beispiel:
[Internet]-->[Router]--NAT-->[Wirt]--NAT-->[VMware]
0.0.0.0:8080-->10.0.0.10:8080-->192.168.0.10:8080
PS: Das Gateway des vmnet-Interface hat die *.*.*.2 und nicht wie üblich *.*.*.1 - aber das sei nur am Rande bemerkt

2008-10-02

VPN-Tunnel mittels VPNC und DD-WRT

Auf der folgenden Seite aus dem offiziellen Wiki zur Open-Source-Firmware DD-WRT wird beschrieben, wie man auf einem mit DD-WRT v24 (oder höher) gepatchten Router einen VPN-Tunnel einrichten kann: http://www.dd-wrt.com/wiki/index.php/VPNC.
Der Clou: Mittels Ping auf zwei unterschiedliche Rechner innerhalb des VPNs wird festgestellt, ob die Verbindung noch aktiv ist und im Fehlerfall wird der Tunnel wieder hergestellt.
Da es ausserdem sinnvoll ist, nicht alles durch den Tunnel zu schicken, sondern nur bestimmte Netze, kann man genau das konfigurieren. Mal abgesehen davon: Die Bandbreite, die durch den Tunnel geht ist auf 200kb/s beschränkt.
Es hat etwas gedauert das zum Laufen zu bringen, weil die Anleitung nur die Bruchstücke hergibt. Darum nun das komplette Skript.
Die fett gedruckten Teile sind natürlich anzupassen und die kursiv gedruckten kann man anpassen, z.B. wenn die Verbindung sehr oft wegbricht, das Gateway ein anderes ist, ...
Das ganze als Startup-Skript über den Administration/Diagnose-Reiter der Web-Oberfläche des Routers einspielen und den Router neu starten.
mkdir /tmp/etc/vpnc
rm -f /tmp/etc/vpnc/vpnc-script
echo '
#!/bin/sh
# This is a wrapper for the vpnc-script overriding some variables needed
# for setting up split-tunneling
# this effectively disables changes to /etc/resolv.conf
INTERNAL_IP4_DNS=

# This sets up split networking regardless of the concentrators specifications.
# You can add as many routes as you want, but you must set the counter
# CISCO_SPLIT_INC accordingly. All requests to IP ranges NOT listed
# in the code below will NOT go though the VPN tunnel.

CISCO_SPLIT_INC=2
CISCO_SPLIT_INC_0_ADDR=192.0.0.0 #IP range to go into first tunnel
CISCO_SPLIT_INC_0_MASK=255.0.0.0 #Subnet Mask for first tunnel
CISCO_SPLIT_INC_0_MASKLEN=8 #Mask length
CISCO_SPLIT_INC_0_PROTOCOL=0
CISCO_SPLIT_INC_0_SPORT=0
CISCO_SPLIT_INC_0_DPORT=0
CISCO_SPLIT_INC_1_ADDR=172.0.0.0 #IP range to go into 2nd tunnel
CISCO_SPLIT_INC_1_MASK=255.0.0.0 #Subnet Mask for 2nd tunnel
CISCO_SPLIT_INC_1_MASKLEN=8 #Mask length
CISCO_SPLIT_INC_1_PROTOCOL=0
CISCO_SPLIT_INC_1_SPORT=0
CISCO_SPLIT_INC_1_DPORT=0

# run the original script
. /etc/vpnc/vpnc-script
' >> /tmp/etc/vpnc/vpnc-script
chmod 700 /tmp/etc/vpnc/vpnc-script
rm -f /tmp/etc/vpnc/vpnc.sh
echo '
#!/bin/sh
vpn_concentrator="xxx.xxx.xxx.xxx" ##enter ip or hostname of your Ipsec vpn concentrator
vpn_keepalive_host1="192.168.0.1" ##enter the ip or hostname of a computer that is only reachable if vpn connection is established.
vpn_keepalive_host2="192.168.1.1" ##enter the ip or hostname of a computer that is only reachable if vpn connection is established.
vpn_groupname="xxx" ##enter the group name here
vpn_grouppasswd="xxx" ##enter the group password here
vpn_username="xxx" ##enter your username here
vpn_password="xxx" ##enter your password here

#--do not edit this--
#Written by Alain R. (alainr [AT] gmx.de) 28.Sep.2007
vpnc-disconnect
rm -f /tmp/etc/vpnc/vpn.conf
echo "
IPSec gateway $vpn_concentrator
IPSec ID $vpn_groupname
IPSec secret $vpn_grouppasswd
Xauth username $vpn_username
Xauth password $vpn_password
Script /tmp/etc/vpnc/vpnc-script
" >> /tmp/etc/vpnc/vpn.conf

pingtest1 () {
ping -q -c1 $param1 >> /dev/null
if [ "$?" == "0" ]; then
echo 0 #reachable
else
echo 1 #not reachable
fi
}

pingtest2 () {
ping -q -c2 $param2 >> /dev/null
if [ "$?" == "0" ]; then
echo 0 #reachable
else
echo 1 #not reachable
fi
}

while [ true ]; do
param1=$vpn_concentrator;
if [ "`pingtest1`" == "0" ]; then #Vpn concentrator reachable
doloop=1;
while [ $doloop -gt 0 ]; do
param1=$vpn_keepalive_host1;
if [ "`pingtest1`" == "0" ]; then
sleep 300
else
param2=$vpn_keepalive_host2;
if [ "`pingtest2`" == "0" ]; then
sleep 300
else
doloop=0;
vpnc-disconnect
vpnc /tmp/etc/vpnc/vpn.conf --dpd-idle 0
sleep 1
if [ "`pingtest1`" != "0" ]; then
sleep 10
fi
tundev="`ifconfig |grep tun |cut -b 1-4`"
iptables -A FORWARD -o $tundev -j ACCEPT
iptables -A FORWARD -i $tundev -j ACCEPT
iptables -t nat -A POSTROUTING -o $tundev -j MASQUERADE
sleep 9
fi
fi
done
else
sleep 10;
fi
done

return 0;
' >> /tmp/etc/vpnc/vpnc.sh
chmod 700 /tmp/etc/vpnc/vpnc.sh
/tmp/etc/vpnc/vpnc.sh&

2008-07-30

VMware Player: Failed to allocate page for guest RAM!

Nach erfolgreichem Mounten der externen Festplatte, wollte nun der vmplayer die VM nicht starten. Unter Windows und nach dem Kopieren auf eine lokale Platte hingegen schon. Sollte doch noch eine Option beim ntfsmount fehlen?
Nein, jedes Programm will ein bißchen anders gestreichelt werden.
Hier die Fehlermeldung:
VMware Player unrecoverable error: (vcpu-0)
Failed to allocate page for guest RAM!
A log file is available in "/media/ExternePlatte/VM/vmware.log". Please request support and include the contents of the log file.
To collect data to submit to VMware support, run "vm-support".
We will respond on the basis of your support entitlement.

Lösung: In der xxx.vmx-Datei die Option
mainMem.UseNamedFile="FALSE"
eintragen und der vmplayer kann die Speicher-Datei anlegen und die VM startet.

ntfsmount

Eine externe Festplatte mit einem VMware-Image einer Testumgebung ist eine feine Sache. Allein das kopieren der ca 30GB über das Netzwerk wäre sonst schon ziemlich unschön.
Nach dem Auspacken und Anschliessen der heiß ersehnten Fracht, wurde die Platte auch sofort von Debian (Etch) erkannt und ein lesender Zugriff war ohne Probleme möglich.
Aber wie kann man nun auch schreiben? Sonst stünde ja doch eine Kopie an?

Hilfe naht mit dem Tool ntfsmount im Paket ntfsprogs. Dieses via Synaptic Paketmanager oder
apt-get install ntfsprogs
installieren.
Das Tool benötigt noch FUSE, welches aber normalerweise zum Funktionsumfang ab Kernel 2.6.14 gehört (beim aktuellen Patch-Level von Debian Etch ist das der Fall).
Ob das Modul vorhanden ist kann man mit
modprobe -l fuse
feststellen.
Temporär kann man das Kernelmodul mit
modprobe fuse
starten. Permanent macht man das mit dem Eintrag
fuse
als separate Zeile in /etc/modules.
Nun kann man sich an das mounten der Festplatte machen (gilt für interne genauso).
Als erstes mal einen Mount-Punkt anlegen:
mkdir /media/ExternePlatte
Dann manuell mounten:
ntfsmount /dev/sdb1 /media/ExternePlatte

sdb1 ggf. durch den eigenen Plattennamen ersetzen.
Hinweis: Wenn die Platte autmatisch erkannt wurde, kann man mit
mount
alle Platten auflisten und erhält so auch den Device-Namen - hier eben /dev/sdb1
Mit
umount /dev/sdb1
sollte man dann vor erneutem mounten die Platte erstmal wieder trennen


Die Platte ist jetzt verfügbar aber noch nicht wirklich beschreibbar.
Warum?
Obige Schritte sind nur als root durchführbar und man ist ja sinnvollerweise eben nicht als root angemeldet. Die folgenden Optionen dienen der Abhilfe unter der Annahme, daß sich genau ein Benutzer am System angemeldet hat (ansonsten sollte man mit uid,guid und umask feintunen - siehe
man ntsmount
)
Der gesamte Befehl nochmal:
ntfsmount /dev/sdb1 /media/ExternePlatte -o umask=0,allow_others
Um das ganze nicht jedesmal wieder eintippen zu müssen, kann der Eintrag in der /etc/fstab hinterlegt werden (separate Zeile, Spalten getrennt durch [Tab])
/dev/sdb1 /media/ExternePlatte ntfs-fuse umask=0,allow_others 0 0
Hinweis: In der Original-Dokumentation steht fuse.ntfs - das funktioniert nicht
Hier gibt es mehr Informationen (auch für andere Linux-Distributionen): http://www.linux-ntfs.org/doku.php?id=ntfsmount

2008-05-12

Neulich in der U-Bahn


The dynamic link library MSWSOCK.DLL could not be found in the specified path C:\WINNT\system32 ...
Aha und ich dachte auf den Werbemonitoren in der Berliner U-Bahn läuft noch Windows 95 ;) Wie auch immer. Diese Absturzmeldung gab es nicht das erste mal und spricht nicht gerade für das System und deren Käufer. Aber vielleicht hat die BVG ja garnicht so viel Geld für unnötige Windows-NT-Lizenzen ausgegeben, weshalb das nicht registrierte Windows nun den Dienst einstellt.
Für so eine simple Kiosk-Anwendung braucht man im einfachsten Fall ein absolut abgespecktes Linux und von mir aus Java oder Flash oder sonstwas hypertoll Animierfähiges in einem Vollbild-Browser.
Das zur Wartung nötige WLAN (mit Verschlüsselung) wäre auch damit machbar.
Das man hiermit nur die Kosten der Lizenzen und nicht die der Administration spart, ist auch klar. Denn auch hier kann man dann nicht den Müller aus der Buchhaltung ran lassen, der das irgendwie in seiner Freizeit auch mal gemacht hat und weiß wie man Ubuntu installiert (nämlich mit CD einlegen und Knopf drücken).
"Ist doch nur ein Werbefenster, warum regst Du Dich so auf?"
Weil es indirekt mein Geld ist, da alle Kosten auf den Fahrgast umgelegt werden.
Weil es ein potentielles Sicherheitsthema ist. Möchte mal wissen, was passiert, wenn (vermeindlich) die BVG über diese Bildschirme mitteilt, daß der erste Wagen brenne (und der Fahrer deshalb keine Durchsage mehr machen könnne) und die Leute bitte Ruhe bewahren sollen.
Ich wünsche mir ein Schulfach: Medienaufklärung und Sicherheitsethik.

2008-04-25

Debian meldet: Festplatte voll

Genauer meldete sich der VM-Player, daß es riskant sei ihn weiter zu verwenden, da die Daten auf einem doch sehr vollen Datenträger residieren. Zugegeben: "Es" bemächtigte sich mehr Anglizismen. Ein Blick auf den Systemmonitor zeigte denn auch das das Wurzelverzeichnis zu 99% voll sei. Wie konnte das sein?
Vermutung 1: /tmp ... sah aber nicht nach viel aus
Vermutung 2: /var/log ... auch nicht viel

Völlig unvermutet löste dann ein
apt-get clean
das Problem und reichlich 2,4 Gb waren plötzlich wieder frei.

2008-01-28

beryl startet nicht nach update des X-Servers

Problem: /usr/lib/xorg/modules/extensions/libglx.so wird ersetzt
Der nvidia-Treiber erwartet hier aber einen symbolischen Link auf seine Spezial-Version (bei mir libglx.so.1.0.9755)
Also ersetze man die vom Update erzeugte Datei durch einen Link
mv libglx.so libglx.so.original
ln -s libglx.so.1.0.9755 libglx.so
Im Zweifel muß der nvidia-Treiber nochmal neu (drüber) installiert werden (siehe dazu hier)

2007-08-23

Kernelupdate bei Debian Etch

Nach den letzten Updates, bei denen es eine neue Kernel-Version gab, mußte auch der nvidia-Treiber und der vmware-player neu compiliert werden.
Eigentlich kein Problem, wenn man sich passend zur Kernel-Version die neuen Kernel-Header besorgt. Dazu einfach in der Paketverwaltung nach linux-header suchen, die alten Pakete abwählen und die neuen Auswählen. Im Zweifel mit uname -a die genaue Version erfragen.

Ach ja: Der neue Kernel wird erst nach dem Neustart aktiv - solange merkt man also noch nichts von den Änderungen. Spannend wird es, wenn der X-Server nach dem Reboot nicht mehr startet und man in /var/log/Xorg.0.log nachschaut und der eigentlich unveränderte (aber nicht mehr zum neuen Kernel passende) nvidia-Treiber bemängelt wird.

2007-08-03

TKIP: ICV error detected: STA=

WLAN mit WPA2-Verschlüsselung unter Debian läuft ja nun schon eine ganze Weile. Leider hatte ich des öfteren Verbindungsabbrüche, wenn es darum ging größere Dateien zu transferieren. Das ist insbesondere lästig, wenn man nebenbei noch (aktive) Datenbankverbindungen offen hatte.

Umschalten auf die Konsole lieferte etwas der Form:
TKIP: ICV error detected: STA=00:04:0e:7e:7a:58
TKIP: ICV error detected: STA=00:04:0e:7e:7a:58
N/A: Michael MIC verification failed for MSDU from 00:04:0e:7e:7a:58 keyidx=0
wlan: MSDU decryption/MIC verification failed (SA=00:04:0e:7e:7a:58 keyidx=0)
Einem Hinweis folgend, mußte also das ieee80211-Subsystem ausgetauscht werden.
Also Download, Entpacken und ein Blick in die Installationsanleitung:
tar xzvf ieee80211-1.2.18.tgz
less ieee80211-1.2.18/INSTALL
Also root sollte man nun in das entpackte Verzeichnis wechseln und das Subsystem austauschen:
./remove_old
make
make patch_kernel
Es folgt ein Hinweis, den Kernel neu zu compilen.
Soetwas ist für mich immer abschreckend, läßt sich aber mit ein paar Mausklicks beheben. Geht sicher auch von Hand, aber wozu haben sich die Oberflächen-Entwickler soviel Mühe mit der GUI gegeben (eigentlich dem GUI, da es ja das Grafische User Interface heißt).
Als erstes muß man das Kernel-Image-Paket zum erneuten Installieren auswählen. Das geht mittels System--System-Einstellungen--Synaptik Paketverwaltung suche nach linux-image und sortieren nach erster Spalte (installierte nach oben sortieren).

Dann folgt besagter Sicherehitshinweis und nach erfolgreicher Installation sollte man auch wirklich neu booten:

2007-07-12

Installation von beryl

Als erstes bietet sich ein Blick ins Projekt-Wiki an. Wenn man dieses leicht modifiziert dann kommt dabei folgendes raus:
apt-get install libxcomposite1 mesa-utils
Folgendes sollte in /etc/X11/xorg.conf enthalten sein:
Section "Extensions"
   Option "Composite" "Enable"
EndSection
Folgendes in die Device-Section der /etc/X11/xorg.conf :
Option "AddARGBGLXVisuals"
Key holen:
wget -O - http://debian.beryl-project.org/root@lupine.me.uk.gpg | sudo apt-key add -
und in /etc/apt/sources.list eintragen:
deb http://debian.beryl-project.org/ etch main
deb-src http://debian.beryl-project.org/ etch main
Ausführen von:
 apt-get update
Den neuesten nvdia-Treiber haben wir ja schon seit Multimonitor-Betrieb.
Endlich die beryl-Packages holen, wobei entgegen dem Wiki das folgende reicht (die anderen Packages werden dann schon geholt):
apt-get install beryl
Jetzt müssen wir noch das nvidia-xconfig-Tool benutzen, um die X-Config anpassen zu lassen.
Dazu ohne X das folgende (gefunden ziemlich in der Mitte dieser Seite):
init 3
nvidia-xconfig --composite
nvidia-xconfig --allow-glx-with-composite
nvidia-xconfig --render-accel
nvidia-xconfig --add-argb-glx-visuals
Zeit endlich wieder X und natürlich beryl zu starten. Einfach das folgende in einem xterm eingeben:
beryl-manager
Natürlich ist das kein Dauerzustand, also noch die Anleitung um beryl mit X zu starten. 
Einfach beryl-manager als "Autostart" eintragen:
[Desktop] -> [Preferences] -> [Sessions] -> [Startup Programs]


Kleiner Ausflug in die Windows-Welt: Eigentlich überhaupt nicht vergleichbar, aber immerhin ein drehbarer Würfel mit mehreren Desktops bietet yodm3d Download für Windows XP/Vista.
Die Anzeige ist nicht wie mit beryl live, also nichts mit Video-Wiedergabe-Fenster über Eck legen und während der Film korrekt angezeigt wird den Würfel drehen wie mit beryl.
Aber wenn man schon mehrere Desktops haben will, warum den nicht gleich stylisch!?

2007-07-07

Kleinigkeiten

Nerviges Piepen beim hochfahren habe ich durch das Blacklisten von pcspkr beendet. Dazu in die Datei /etc/modprobe.d/blacklist die folgende Zeile einfügen:
blacklist pcspkr
Es gibt natürlich weitere Alternativen.

Zugriff via VNC ermöglicht man mittels Menü System--Einstellungen--Entfernter-Desktop
Tip: Nachfrage ein, Passwor ein!
Achtung: vor dem Zugriff muß beryl beendet werden, da die Gegenstelle sonst nichts sieht.

Remote Desktop funktioniert nicht mit "Depth 16" und läßt sich durch setzen von "DefaultDepth 24" in der /etc/X11/xorg.conf beheben


VPN-Verbindung herstellen erfordert die Installation weiterer Packages:
apt-get install kvpnc
apt-get install pptpd
apt-get install pptp-linux
Der VMware-Player ist ebenfalls kein Debian-Package und es gehört leider auch nicht zu den offiziell unterstützten Systemen, läßt sich aber problemlos betreiben.
Es empfiehlt sich allerdings VMWARE_USE_SHIPPED_GTK=yes vor den Aufruf des vmplayers zu setzen, falls es Probleme gibt (mit gnome)

Viele Nützliche Dinge (welche Pakete sollte man für welches Problem versuchen) findet man hier.

2007-07-06

Multimonitor Betrieb

Eine Bemerkung noch vorweg: Das hier beschriebene bezieht sich auf Debian Etch (auch die vorhergehenden Postings).

Um zusätzlich zum 1440x900 Pixel darstellenden Display noch einen weiteren Monitor zu betreiben und nahtlos übergreifend arbeiten zu können empfiehlt es sich den Standard-Treiber nv durch einen aktuellen des Herstellers mit dem passenden Namen nvidia zu ersetzen.

Download des aktuellesten Packages:
ftp://download.nvidia.com/XFree86/Linux-x86/1.xxx/xxx-pkg1.run


Befolgen der Anleitung und ggf. vorher noch
apt-get install gcc
apt-get install libc6-dev
X beenden
/etc/init.d/gdm stop
Nur-Konsolenmodus (runlevel 3)
init 3
Reboot in Recovery Mode oder Runlevel 3 oder vergleichbares
apt-get update
apt-get install binutils
Kernel Source installieren (x.y mit der des eigenen Kernels ersetzen)
uname -a bzw. uname -r
apt-get install linux-source-2.x.y 
cd /usr/src
tar -jxvf linux-source-2.x.y
ln -s linux-source-2.x.y linux
Installieren der Kernel Headers
apt-get install linux-headers-2.6.12-1 linux-headers-2.6.12-1-386
Installieren der nVidia Drivers
sh NVIDIA-Linux-x86-1.0-8178-pkg1.run
Zurück in den X-Modus und X starten 
init 5 
/etc/init.d/gdm start
Modifizierte /etc/X11/xorg.conf die mehrere verschiedene Auflösungen enthält, damit man auch ohne den Monitor vernünftig arbeiten kann ohne zu scrollen:
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen" 0 0
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Synaptics Touchpad"
EndSection

Section "Files"

# path to defoma fonts
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "vbe"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "de"
Option "XkbVariant" "nodeadkeys"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
EndSection

Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection

Section "Monitor"
Identifier "Standardbildschirm"
HorizSync 28.0 - 72.0
VertRefresh 43.0 - 60.0
Option "DPMS"
EndSection

Section "Device"
Identifier "nVidia Corporation GeForce Go 7900 GS"
Driver "nvidia"
EndSection

Section "Screen"
Identifier "Default Screen"
Device "nVidia Corporation GeForce Go 7900 GS"
Monitor "Standardbildschirm"
DefaultDepth 24
Option "TwinView" "true"
Option "MetaModes" "NULL,1440x900; 1280x1024,1440x900"
Option "SecondMonitorHorizSync" "28-72"
Option "SecondMonitorVertRefresh" "43-60"
Option "TwinViewOrientation" "RightOf"
Option "Xinerama" "on"
SubSection "Display"
Depth 1
Modes "1440x900"
EndSubSection
SubSection "Display"
Depth 4
Modes "1440x900"
EndSubSection
SubSection "Display"
Depth 8
Modes "1440x900"
EndSubSection
SubSection "Display"
Depth 15
Modes "1440x900"
EndSubSection
SubSection "Display"
Depth 16
Modes "1440x900"
EndSubSection
SubSection "Display"
Depth 24
Modes "1440x900"
EndSubSection
EndSection

2007-07-05

WLAN mit WPA2

Installation des integrierten WLAN-Moduls.

BIOS-Einstellungen:
* WiFi aktivieren

* HotKey deaktivieren


Bei der Gelegenheit mal ein konzentrierter Blick auf die Bluetooth-Einstellungen:
Aha, garkein Bluetooth-Modul verbaut.
Da hat der Kollege beim Bestellen wohl nicht aufgepaßt - hätte mir einiges an Fehlersuche gespart, wenn ich das vorher gewußt hätte, darum hier die Erwähnung.

Installationsanweisung leicht modifiziert ausführen:

* SubSystem ieee80211 ist schon vorhanden und erneutes Installieren des angegebenen Packets produziert unschöne Fehler.

* Download des Treibers ipw3945-1.2.0.tgz oder eine neuere Version (möglichst stable) von http://ipw3945.sourceforge.net
tar xzvf ipw3945-1.2.0.tgz
cd ipw3945-1.2.0
make
* Neueste Firmware-Version von http://bughost.org/ipw3945/ucode/
tar xzvf ipw3945-ucode-1.14.2.tgz
cp ipw3945-ucode-1.14.2/ipw3945.ucode /lib/firmware
* Neueste Daemon-Version von http://bughost.org/ipw3945/daemon/
tar xzvf ipw3945d-1.7.22.tgz
cp ipw3945d-1.7.22/x86/ipw3945d /sbin
Nun muß man sich noch klar machen, was WLAN heißt - nämlich ungerichtet Daten im Umkreis verteilen, also quasi Rundfunk - und sich für eine Verschlüsselung entscheiden. Aktuell sicherste Variante ist WPA2 und das unterstützt das Modul und mein Router natürlich auch (Posting folgt sicher noch).
Ich verwende die Variante mit einem Pre-Shared-Key (PSK), der von Zeit zu Zeit mal geändert wird und aus einer Phasphrase generiert wird (Diese sollte es einer Wörterbuch-Attacke nicht zu leicht machen und eine gewisse Länge haben).

In der Config wird nun der Key und nicht die PhasPhrase gespeichert, also müssen wir diesen generieren:
* evtl. fehlendes Pakete holen (apt-get install wpasupplicant)
* Key aus der Ausgabe extrahieren
wpa_passphrase MeineSSID MeinSchluessel
626d3fc95a3efe75acaebf1388ed167a90e59390efab91a5841242e49bc62b3a
DHCP für WLAN halte ich ebenfalls deaktiviert (daher der static eintrag). Die Geräte, die sich einwählen können, will ich alle kennen und bekommen von mir eine eindeutige IP zugewiesen (im Gegenzug muß ich noch die Mac-Adresse wissen und diese dem Router bekannt machen).
Da es sich nicht um ein öffentliches Netz handelt, verwende ich einen privates Netzbereich 10.xxx.yyy.zzz und trenne auch noch kabelgebundenes und drahtloses Netzwerk (z.B. 10.100.0.Z und 10.200.0.Z )
Zugegeben ist Sicherheit immer nur das Gefühl von Sicherheit, aber diese Schritte sind leicht zu konfigurieren.


* /etc/network/interfaces anpassen
bei mir ist es eth2 und hier ist nur diese Sektion angegeben.
iface eth2 inet static
network 10.X.Y.0
broadcast 10.X.Y.255
address 10.X.Y.Z
netmask 255.255.255.0
gateway 10.X.Y.1
wpa-ssid MeineSSID
wpa-key-mgmt WPA-PSK
wpa-psk 626d3fc95a3efe75acaebf1388ed167a90e59390efab91a5841242e49bc62b3a
post-up wpa_supplicant -Bw -i eth2 -D wext -c /etc/wpa_supplicant.conf
post-down killall wpa_supplicant
Zeit das Interface hochzufahren:
ifup eth2
Tips:
  • Wenn ich nicht in meinem Heimnetz bin, gehe ich ins BIOS und deaktiviere das WiFi-Modul! Irgendwie blinkt nämlich das WiFi-Lämpchen trotz runtergefahrenem Interface - und nicht gebraucht = AUS ist generell eine gute Idee.
  • PhasePhrase und Passwörter sollten hinreichend kompliziert und lang sein, aber nicht so schwer zu merken, daß man sie sich vor lauter Verzweifelung irgendwo aufschreiben muß!
  • Configs vor der Änderung sichern (am besten "nahe" dem Original, um leicht ein Rollback machen zu können ohne lange suchen zu müssen). Beispiel:
    cp /etc/network/interfaces /etc/network/interfaces20070705-01
Der Vollständigkeithalber sei noch erwähnt, daß die Konfiguration von WPA2 unter Windows XP auch nicht ganz ohne handarbeit funktioniert.
Selbst mit Service Pack 2 ist WPA2 nicht verfügbar! Dazu muß ein weiterer Patch von Microsoft eingespielt werden (siehe dazu auch die gute Rubrik Netzwerke bei heise)
danach ist es gewohntes Klicki-Bunti

Warnung: Das Speichern von Passwörtern ist ein potentielles Sicherheitsrisiko! Gerade Laptops können schonmal ungewollt dauerhaft den Besitzer wechseln!
Ich gebe aber zu hier Gelegentlich auch zur Bequemlichkeit zu neigen.

Nachtrag: /etc/wpa_supplicant.conf muß auch angepaßt werden - siehe hier.

Nachtrag2: Das ieee80211 Subsystem muß doch ausgetauscht werden, da es sonst Probleme bei der Übertragung großer Dateien gibt. Siehe mein Eintrag zu TKIP: ICV error detected: STA=.

2007-06-30

Dell Inspiron 9400 vs. Debian Linux

Mein alter Firmen Desktop-Rechner mit Windows 2000 hat seine besten Tage hinter sich, also habe ich mir einen Laptop gewünscht.
Ich bekam einen Dell Inspiron 9400 und unbreakable Windows Vista.
Mein erstes Ziel war die Vista-Partition zu verkleinern und dann Linux in den freien Bereich zu installieren. Nachdem ein kostenloses Partitionierungstool die Nacht durchlief und am nächsten Morgen die Bootpartition im Eimer war, habe ich dann gleich nur Linux installiert.
Mein Kollege hat es bei einem baugleichen Modell mit Vista-Boardmitteln versucht, konnte den freien Bereich aber nur unter Vista wieder verwenden. Es ist nicht etwa freier Bereich (Partition) auf der Festplatte entstanden.
Ziel des ganzen war übrigens die alte Maschine mit VMware-Converter zu clonen und als VM weiter zu betreiben, da Delphi und einige andere Werkzeuge weiter benutzt werden mußten.

Also Installationsmedium besorgen und mal sehen was mit Linux so alles geht. Seit meiner ersten Linux-Installation in den frühen Neunzigern des letzten Jahrtausends (slackware mit über 30 Disketten) ist ja eine Menge passiert.
Habe mich für Debian-NetInstall entschieden. Das ISO-Image ist relativ klein und damit schnell gezogen und gebrannt.
CD eingelegt, gebootet (Netzwerkkarte wurde auf Anhieb erkannt) und einige Fragen zu den Einstellungen beantwortet (welche Sprache, Zeitzone, ...) und das Partitionieren der Festplatte manuell vorgenommen.
Notebooks haben gerne eine versteckte Partition mit Diagnosetools des Herstellers - so auch hier. Diese Partition habe ich erhalten, die unbrauchbar gewordenene Vista-Partition entfernt und Partitionen für Swap, Home, Root und Tmp erstellt.
Dann noch die Pakete Laptop und Desktop ausgewählt und die Maschine arbeiten lassen.
Nach gut 45 Minuten konnte ich das fertige Debian starten (schon inkl. Download und Brennen des ISO!)

Mein erster Eindruck: WOW!
Als Klicki-Bunti-Windows-Anwender findet man sich leicht zurecht. OpenOffice habe ich schon unter Windows verwendet und das wichtigste findet man intuitiv.
Was sich gegenüber den 1990ern nicht geändert hat: Linuxer sind Shell-Menschen. Wenn man wirklich etwas über das System wissen will
oder Einstellungen vornehmen will, kommt man auch heutzutage
nicht wirklich um ein Kommandozeilen-Fenster rum. Aber das ist nicht wirklich ein Problem.


Weitere Ziele:
* WLAN mit WPA2
* Bluetooth (gestrichen, weil entgegen des äußeren Anscheins nicht verbaut)
* VMware
* VPN-Client
* Remote Desktop Client
* 3D Desktop (beryl statt compiz wegen der besseren Konfigurationsoberfläche)
* Windows-Freigaben (samba)
* Update-Einstellungen
* Netzwerkdrucker einrichten
* Multimonitorbetrieb
Multimonitor mit beryl
Foto mit beryl, transparentem Desktop und Hintergrundbild mitten in der Rotation. Browser mit diesem Blog liegt über die vordere Ecke gefaltet auf zwei Seiten des Würfels.
Langfristige Ziele:
* beryl durch compiz fusion ersetzen
* Cisco-VPN
* Hintergrundfarbe der VM auf durchsichtig stellen