Januar, 2012

Das Verhältnis unseres Planetensystem

Samstag, Januar 28th, 2012

Das Verhältnis von Abständen und Größe von Sonne und Planeten in unserem Sonnensystem wird eigentlich immer falsch dargestellt. Deswegen wollte ich versuchen dies mal Nachzubilden und bin zu der tollen Erkenntnis gekommen das auch ich die Verhältnisse nicht hin bekomme. Damit man noch was außer der Sonne erkenne musste ich im den Faktor 1 zu 100 pfuschen.

Hier Gehst zum blog.christoph-hueffelmann.de/planetensystem/.

Meine Planetensystem ist insgesamt 9000x9000px groß. Deswegen muss man in die Mitte scrollen um die Sonne zu finden. Zukünftig sollen sich die Planeten auch noch Bewegen. Dann mehr...

Paketquelle anzeigen

Sonntag, Januar 22nd, 2012

Da ich gerade mal wieder eine Viertelstunde damit vertan habe, diesen Befehl zu finden, dokumentiere ich ihn hier.

Ich suchte den Befehl, mit dem ich sehen kann, aus welcher Paktequelle ein Programm kommt. Dies bauchte ich um heraus zu finden ob das Paket ggf. aus einer PPA kommt.

apt-cache policy qemu
qemu:
  Installiert: (keine)
  Kandidat: 0.12.3+noroms-0ubuntu9.16
  Versions-Tabelle:
     0.12.3+noroms-0ubuntu9.16 0
        500 http://mirror.bauhuette.fh-aachen.de/ubuntu/ lucid-updates/universe Packages
     0.12.3+noroms-0ubuntu9.15 0
        500 http://mirror.bauhuette.fh-aachen.de/ubuntu/ lucid-security/universe Packages
     0.12.3+noroms-0ubuntu9 0
        500 http://mirror.bauhuette.fh-aachen.de/ubuntu/ lucid/universe Packages

9AA38DCD55BE302B

Mittwoch, Januar 18th, 2012

Da hatte ich mal wieder ein uhr alles etch in die finger bekommen, das auch noch veraltetet Schlüssel hatte.

server:~# apt-get update
Get:1 http://archive.debian.org etch Release.gpg [1033B]
Hit http://archive.debian.org etch Release
Ign http://archive.debian.org etch/main Packages/DiffIndex
Ign http://archive.debian.org etch/non-free Packages/DiffIndex
Ign http://archive.debian.org etch/contrib Packages/DiffIndex
Ign http://archive.debian.org etch/main Sources/DiffIndex
Ign http://archive.debian.org etch/non-free Sources/DiffIndex
Ign http://archive.debian.org etch/contrib Sources/DiffIndex
Hit http://archive.debian.org etch/main Packages
Hit http://archive.debian.org etch/non-free Packages
Hit http://archive.debian.org etch/contrib Packages
Hit http://archive.debian.org etch/main Sources
Hit http://archive.debian.org etch/non-free Sources
Hit http://archive.debian.org etch/contrib Sources
Fetched 1B in 0s (3B/s)
Reading package lists... Done
W: There is no public key available for the following key IDs:
9AA38DCD55BE302B
W: You may want to run apt-get update to correct these problems

Google verwies auf die lösung mit dem netten Server wwwkeys.eu.pgp.net der aber nicht auflösbar war.
server:~# gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 9AA38DCD55BE302B
gpg: requesting key 55BE302B from hkp server wwwkeys.eu.pgp.net
?: wwwkeys.eu.pgp.net: Host not found
gpgkeys: HTTP fetch error 7: couldn't connect: Success
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0

Die Lösung für das problem war ein andere Key Server:
server:~# gpg --keyserver subkeys.pgp.net --recv-key 9AA38DCD55BE302B
gpg: requesting key 55BE302B from hkp server subkeys.pgp.net
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 55BE302B: public key "Debian Archive Automatic Signing Key (5.0/lenny) " imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
server:~# gpg --armor --export 9AA38DCD55BE302B | apt-key add -
OK

1und1 Firewall

Dienstag, Januar 17th, 2012

Oh man wie schlecht. 1und1 hat eine Firewall die 15 Minuten zum Aktualisierung baucht. Vermutlich gibt es dann für alle kunden alle 15 Minuten einen Aussetzer.

Could not find source tarball busybox

Sonntag, Januar 15th, 2012

Da habe ich mal wieder etc-update vergessen.
...
* Gentoo Linux Genkernel; Version 3.4.23
* Running with options: ramdisk

Could not find source tarball /var/cache/genkernel/src/busybox-1.18.1.tar.bz2. Please refetch.
gentoo # etc-update
Scanning Configuration files...
The following is the list of files which need updating, each
configuration file is followed by a list of possible replacement files.
1) /etc/genkernel.conf (1)

Alle Amazon Web Service EC2 Instanzen rebooten

Freitag, Januar 13th, 2012

Heute musste ich mal alle AWS Instanzen neustarten. Dafür habe ich alle Aktiven Instanzen heraus gegept und in eine TMP Datei geschrieben. Diese habe ich dann zum neustarten der Server verwendet.
[UPDATE] Das gilt natürlich nur dann wenn man auch seien SSH-KEY hinterlegt hat. [/UPDATE]

#!/bin/bash
export EC2_PRIVATE_KEY=$(pwd)/pk-xxx.pem
export EC2_CERT=$(pwd)/cert-xxx.pem
tmp=$(mktemp)
 
ec2-describe-instances | grep INSTANCE | awk '{print $4}' > $tmp
 
while read server; do
        echo "${server}"
	ssh "${server}" "reboot" 1>/dev/null < /dev/null &
	sleep .1
done < $tmp
 
rm $tmp
exit 0

Tinc Debugging

Donnerstag, Januar 5th, 2012

Um Tinc besser Debuggen zu können kann man das syslog einfach in den Hintergrund schreiben und mittels killall -USR2 tincd anstupsen. Das sieht dann folgender massen aus.

tail -F /var/log/syslog &
...
killall -USR2 tincd
srv01 tinc.vpn[28369]: Statistics for Linux tun/tap device (tun mode) /dev/net/tun:
srv01 tinc.vpn[28369]: total bytes in: 294
srv01 tinc.vpn[28369]: total bytes out: 294
srv01 tinc.vpn[28369]: Nodes:
srv01 tinc.vpn[28369]: srv02 at 1.2.3.4 port 655 cipher 91 digest 64 maclength 4 compression 0 options d status 003a nexthop srv01 via srv01 pmtu 1451 (min 1451 max 1451)
srv01 tinc.vpn[28369]: End of nodes.
srv01 tinc.vpn[28369]: Edges:
srv01 tinc.vpn[28369]: srv02 to srv01 at 1.2.3.4 port 655 options d weight 328
srv01 tinc.vpn[28369]: srv01 to srv02 at 1.2.3.5 port 655 options d weight 328
srv01 tinc.vpn[28369]: End of edges.
srv01 tinc.vpn[28369]: Subnet list:
srv01 tinc.vpn[28369]: 192.168.0.0/24#10 owner srv01
srv01 tinc.vpn[28369]: End of subnet list.

Mit fg und STRG + C kann man das teil -F wieder aus dem Hintergrund holen und beenden.

Tinc und GIT

Sonntag, Januar 1st, 2012

Tinc ist im gegenstart zu OpenVPN eine mash vpn. Damit dies funktioniert müssen aber auf jemden Server die öffentlichen Schüssel/Konfigurationsdateien bekannt sein. Um diese Schlüssel zu verteilen verwende ich GIT.

Hier ein aufbau zwischen zwei Servern (SRV01/SRV02). Jeweils habe den Ordner /opt/git/ erstell und das Git ausgeschekt. Den VPN Ordner habe ich dann mittels eines Symlinks ins /etc/tinc Verzeichnis gelinkt.
ln -s /opt/git/vpn.tinc/vpn /etc/tinc/vpn

Folgende Daten und Ordner befinden sich in meinem Git. Mittels der .d Verzeichnisse werden die einzelne Dateien auf den Servern gelinkt (siehe unten).
/etc/tinc/vpn/
hosts
hosts/srv01
hosts/srv02
tinc.conf.d
tinc.conf.d/srv01.conf
tinc.conf.d/srv02.conf
up.d
up.d/srv01-up
up.d/srv02-up
down.d
down.d/down

Die Dateien im einzelnen.
--- SRV01 ---
hosts/srv01:

Name = srv01
Address = srv01.chr.istoph.de
Cipher = blowfish
Digest = sha1
IndirectData = yes
Subnet = 10.8.0.1/32
Subnet = 192.168.0.1/24

Wichtig: bei Subnet muss einmal die Lokale Adresse auf die gelauscht werden soll mit /32 angegeben werden. Das zweite Subnet ist nur beispielhaft für weiteres netz das sich hinter SRV01 befindet.

tinc.conf.d/srv01.conf:

Name = srv01
AddressFamily = ipv4
BindToInterface = eth0
ConnectTo = srv02
Device = /dev/net/tun
Mode = router
KeyExpire = 3600
PrivateKeyFile = /etc/tinc/vpn/rsa_key.priv

up.d/srv01-up:

#!/bin/bash
ip addr add 10.8.0.1/24 dev vpn
ip link set vpn up

down.d/down:

#!/bin/bash

Auf SRV01 müssen dann natürlich nur folgende Symlinks erstellt werden.
ln -s tinc.conf.d/srv01.conf tinc.conf
ln -s up.d/srv01-up tinc-up
ln -s down.d/down tinc-down

--- SRV02 ---
hosts/srv02:

Name = srv02
Address = srv02.chr.istoph.de
Cipher = blowfish
Digest = sha1
IndirectData = yes
Subnet = 10.8.0.2/32

tinc.conf.d/srv02.conf:

Name = srv02
AddressFamily = ipv4
BindToInterface = eth0
ConnectTo = srv01
Device = /dev/net/tun
Mode = router
KeyExpire = 3600
PrivateKeyFile = /etc/tinc/vpn/rsa_key.priv

up.d/srv02-up:

#!/bin/bash
ip addr add 10.8.0.2/24 dev vpn
ip link set vpn up

ln -s tinc.conf.d/srv02.conf tinc.conf
ln -s up.d/srv02-up tinc-up
ln -s down.d/down tinc-down

--- END ---

Nach dem die Dateien angelegt sind können auf dem jeweiligen Server (SRV01 / SEV02), die Keys erstellt werden.
tincd --generate-keys=4096 -n vpn

Dies Legt den Privaten schlüssel rsa_key.priv an und legt den Öffentlichen Schlüssel in die host/srv01 Datei.

Vor dem Starten von Tinc müssen die up/down Scripte noch Ausführungsrechte auf den Jeweiligen Servern bekommen.
chmod +x up.d/srv*
chmod +x down.d/down

Nun können wir alles im GIT einchecken. Nicht vergessen nach dem einchecken von SRV01 auf SRV02 zu pullen und erst dann die Dateien anzulegen um sie zu puschen.
git add hosts/srv01 tinc.conf.d/srv01.conf up.d/srv01-up down.d/down
git commit -m "tinc: add srv01"
git puch

Wichtig hierbei ist den Privaten Schlüssel rsa_key.priv nicht einzucken. Auch aus Backup gründen macht dies keinen Sinn da dieser immer wieder neu erstellt werden kann.

Bei Ubuntu Systemen muss in der Datei /etc/tinc/nets.boot der Name des zu startenden Netzwerkes eingetragen werden. In unserem Fall VPN.
## This file contains all names of the networks to be started on system startup.
vpn