12. Juli 2010
Es gibt viele Gründe für 2 Netzwerkkarten im Server. Sollen diese in unterschiedliche Netze angebunden werden gibt es Probleme weil normalerweise nur ein Standardgateway existiert.
Der Traffic verlässt zwar korrekt den Server über die gesetzten Routen, jedoch die Pakete an fremde Ziele verlassen den Server immer über die default-route, also u.U. nicht über das richtige Interface.
Folgend kurz die Schritte zum Einrichten eines Policy-Based Routing unter Debian/Ubuntu…
Ausgangslage
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.7.56 0.0.0.0 255.255.255.248 U 0 0 0 eth0
10.10.6.32 0.0.0.0 255.255.255.224 U 0 0 0 eth1
Neue Einträge anlegen
echo "1 dmz-a" >> /etc/iproute2/rt_tables
echo "2 dmz-b" >> /etc/iproute2/rt_tables
eth0 Route anlegen
ip route add 10.10.7.56/29 dev eth0 src 10.10.7.58 table dmz-a
ip route add default via 10.10.7.57 dev eth0 table dmz-a
ip rule add from 10.10.7.58/32 table dmz-a
ip rule add to 10.10.7.58/32 table dmz-a
eth1 Route anlegen
ip route add 10.10.6.32/27 dev eth1 src 10.10.6.35 table dmz-b
ip route add default via 10.10.6.33 dev eth1 table dmz-b
ip rule add from 10.10.6.35/32 table dmz-b
ip rule add to 10.10.6.35/32 table dmz-b
Das Kommando “ip route show” sollte jetzt die entsprechenden Einträge zeigen.
Theoretisch könnte man sich das PBR für eine der beiden NICs sparen wenn man dort einfach die klassische default-route setzt. Hier noch eine ausführliche Anleitung zum Thema.
3. Juni 2010
Ubuntu Lucid verwendet grub2. Manchmal möchte man nur einmal ein anderes OS booten ohne danach auf den Boot-Timeout zu warten und den richtigen Grub-Eintrag auszuwählen.
Vorbereitung
Folgende Zeile in der /etc/default/grub ändern und danach einmalig “sudo update-grub” ausführen:
# /etc/default/grub
GRUB_DEFAULT=saved
Benutzung
# Windows 7 nur beim nächsten Booten setzen und danach Neustart
grub-reboot "Windows 7 (loader) (on /dev/sda2)" && reboot
# Grub Menüeintrag Nr. 3 nur beim nächsten Booten setzen und danach Neustart
grub-reboot 2 && reboot # (fängt bei 0 an zu zählen)
Verknüpfung unter Gnome
Dafür ist mal wieder zenity ganz praktisch: Verknüpfung zum folgenden Kommando anlegen:
bash -c 'zenity --question --text="Wirklich rebooten?"; if [ $? -eq 0 ]; then gksudo grub-reboot "Windows 7 (loader) (on /dev/sda2)" && gksudo reboot; fi'
31. Mai 2010
Für das nächste Mal schreibe ich mir jetzt die Schritte auf die ich durchführe wenn ich Ubuntu Desktop installiere. Natürlich ist die Zusammenstellung eines Systems immer individuell – dieses ist halt meines
Repositories erweitern und updaten
sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo add-apt-repository ppa:mozillateam/firefox-stable
sudo add-apt-repository ppa:dnjl/virtualization
sudo apt-get update
sudo apt-get upgrade
Pakete installieren
sudo apt-get install \
ttf-mscorefonts-installer \
thunderbird \
virt-manager \
hotssh \
wine
Schriftenrendering verbessern
Da ich mich irgendwie nicht so richtig mit Anti-Alias Schriftarten auf LCD Monitoren anfreunden kann und das Font-Styling von Windows XP mag, stelle ich zuerst das Font-Rendering um (laut www.sharpfonts.com):
sudo apt-get install ttf-mscorefonts-installer
wget http://www.sharpfonts.com/fontconfig.tbz
sudo tar xvjpf fontconfig.tbz -C /etc/fonts/
wget http://www.sharpfonts.com/fonts/tahoma32.exe
sudo cabextract -d /usr/share/fonts/truetype/ tahoma32.exe
Danach unter System->Einstellungen->Erscheinungsbild die “Schriftart in Anwendungen” auf Tahoma 8pt setzen
4. März 2010
Langsam stehen einige Major-(Web-)Serverupdates an und ich überlege mittlerweile ernsthaft von Centos/RHEL auf Ubuntu Longterm umzusteigen. Auf dem Desktop habe ich Ubuntu schon lange, aber auch im Serverbereich möchte ich es mittlerweile an einigen Stellen nicht mehr missen. Nicht das ich besonders unzufrieden mit Centos/RHEL wäre. Eigentlich gar nicht. Es sind nur so ein paar Dinge die mich immer wieder zum Nachdenken bewegen:
Releasezyklus. Centos 5 ist bei Kernel 2.6.18, php 5.1, mysql 5.0. Klar, in den Centos Kernel werden viele wichtige Features gebackported. Wie z.B. letztens bei Centos 5.4 die virtio-Unterstützung für KVM. Nativ gab es diese aber schon im 2.6.24 (Januar 2008). Wann Centos 6 kommt steht noch in den Sternen (sehr wahrscheinlich jedoch dieses Jahr). Ubuntu hat einen festen Releasezyklus und ich wusste schon seit vielen Monaten dass Ende April die neue Long-Term Version erscheint. Also zumindest gut planbar.
Major-Relase Updates. Mit yum als Paketmanager gibt es (meines Wissens) keinen offiziellen Weg. Apt hat kein Problem damit.
Support. Vorteil Centos: Viele große Hardwarehersteller unterstützen RHEL mit Treibern. Da Centos Binary-Compatible ist profitiert man also davon. Docs/Community: Mag lächerlich klingen: Meistens muss ich doppelt googlen: Erst nach “centos” dann nach “rhel”. Ubuntu hat eine gebündelte Community. Launchpad tut das übrige (s.u.).
Externe Repositories. Klar, für Centos gibt es auch irgendwo alles. Sei es neuere snmpd-Versionen oder syslog-ng. Aber halt meistens an verschiedenen Stellen. Was ich an Ubuntu sehr genial finde ist Launchpad. Launchpad hat mit Sicherheit einen großen Anteil am Erfolg Ubuntus. Es ist quasi alles in einem: Bugtracker, Mailingliste, Build-System und vor allem Repository. Und am Rande erwähnt: Mit einer vorbildlichen Usability und Optik
. BTW: Launchpad lässt sich nicht nur für Ubuntu-Projekte nutzen.
Eines ist mir wohl bewusst: Einen klaren Sieger gibt es niemals. Es ist immer nur eine Abwägung und letztendlich eine eher subjektive Entscheidung. Wie schon anfangs erwähnt laufen einige Management-Maschinen unter Ubuntu. Sei es iSCSI, drbd oder das neueste von KVM – es hat schon Vorteile problemlos mit aktuellen Versionen arbeiten zu können…
Ob dieser Schritt letztendlich auch für die Masse der Webserver genommen wird ist noch nicht entschieden. Denn eines ist auch klar: Centos hat dort noch nie enttäuscht und das neueste vom neuen brauche ich dort eigentlich nicht. Aber eine neuere PHP oder MySQL Version wäre andererseits doch schön… So ist es halt: Never ending story…
4. März 2010
Was ich immer schon mal schreiben wollte: Seit ein paar Monaten hilft mir das Repository von Daniel Baumann das jeweils neueste aus der qemu-kvm Welt (produktiv) unter Ubuntu zu nutzen. Daneben gibt es auch aktuelle Versionen von libvirt und virt-manager.
Beeindruckend stabil das ganze.
7. Februar 2010
Wer sich wundert, warum er am ersten Sonntag im Monat ganz früh morgens aus dem Bett geklingelt wird, hat vermutlich ein Debian oder Ubuntu System und Probleme mit dem Soft-Raid.
Auf diesen Systemen führt cron um 00:57 (wie gesagt nur am ersten Sonntag im Monat) einen Check der Soft-Raid Partitionen durch. Eine wichtige Maßnahme – werden dadurch doch recht früh Fehler am IO-System (Bad Blocks etc.) aufgedeckt (und nicht erst wenn es zu spät ist).
md: data-check of RAID array md0
md: minimum _guaranteed_ speed: 1000 KB/sec/disk.
md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for data-check.
md: using 128k window, over a total of 48829440 blocks.
BTW: Bei RedHat/Centos wird der gleiche Check über cron.weekly (jeden Sonntag 4:22) ausgeführt. Manuall triggert man einen solchen Check über:
echo check > /sys/block/md0/md/sync_action
30. Januar 2010
Wegen unzureichender Zugriffsrechte kann der SNMP-Daemon die NIC-Geschwindigkeit nicht auslesen und setzt sie (merkwürdigerweise) auf 10MBit (10000000). Der Bug ist auch schon etwas älter. Ohne jetzt lange gesucht zu haben lasse ich snmpd einfach als root laufen (RedHat macht das ja auch
) – dann werden die Werte wenigstens richtig ausgelesen.
Die aktuelle Verbindungsgeschwindigkeit von Netzwerkinterfaces korrekt per SNMP auszulesen hat mir schon öfters Nerven gekostet: Hin und wieder taucht das Problem mit den 10MBit auch bei Bonding-Interfaces auf (z.B. bei der Astaro-Firewall).
14. Januar 2010
Nur eine kleine banale Notiz am Rande: Die Libnotify-Extension funktioniert seit Version 0.1.4-beta auch mit dem Thunderbird 3 unter Ubuntu.
Damit klinkt sich Thunderbird in das Notify System von Ubuntu/Gnome ein und liefert nette Mail-Notification-Popups auf den Desktop…
24. November 2009
Um schnell herauszubekommen was genau für ein OS bzw. welche Version auf einer Remote-Maschine läuft schreibe ich jetzt mal die zugehörigen Befehle auf…
Quick and dirty:
# Funktioniert zumindest mit Centos, Redhat, Fedora, Ubuntu, Debian
cat /etc/issue
Ubuntu 8.04.3 LTS \n \l
(/etc/issue ist ein Template welches vom System für den Login-Prompt verwendet wird. Je nach Distribution werden dort z.B. noch Kernelversion und Architektur angezeigt, daher werden auch u.U. noch ein paar Platzhalter ausgegeben…)
Weiterlesen
24. November 2009
Nach diversen apt-sessions (z.B. dist-upgrade) sammeln sich allerhand Restbestände von alten Paketen an. Folgendes mache ich immer um ein wenig aufzuräumen. Nutzung auf eigene Gefahr!
# Folgende Kommandos als Superuser
sudo su
# Paketdownloads entfernen
apt-get clean
# Nicht benötigte Pakete entfernen
apt-get autoremove
# Reste (z.B. Konfigurationsdateien) von bereits deinstallieren Paketen entfernen
dpkg -l | grep ^rc | cut -d ' ' -f3 | xargs dpkg -P
Das ganze sollte auch unter Debian klappen…