OpenBSD QEMU VM
Dieser Artikel beschreibt Experimente mit OpenBSD in einer virtuellen Maschine unter QEMU-i386. Eventuell anzupassende Textteile sind fett dargestellt. Experimente wurden auf einem Eee PC 1005HA (Intel Atom 330) durchgeführt.
Erstellen der VM und Installation von OpenBSD
qemu-img create -f qcow2 openbsd52vtm.qcow2 8G qemu-system-i386 -cdrom /media/daten/iso/install52_i386.iso -boot d openbsd52vtm.qcow2
Upgrade
Ein Upgrade funktioniert bei OpenBSD, indem man die installXX.iso bei "-cdrom" angibt, worauf die VM von der virtuellen CD bootet. Das Installationsprogramm bietet dann die Möglichkeit ein Upgrades an, was etwa 30 Minuten dauert.
Leider wird immer nur ein Upgrade von einer zur nächsten Version unterstützt, das Auslassen von Versionen wird nicht empfohlen.
Einrichten einer Bridge
brctl addbr br0 ip addr add 172.20.0.1/16 dev br0 ip link set br0 up brctl stp br0 off
Unter /etc/qemu/bridge.conf sollte dann zumindest
allow br0
stehen.
Damit die VM die Internetverbindung des Hosts nutzen kann, muss noch IP-Forwarding und NAT Masquerading am Host aktiviert werden:
echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
DHCP-Server auf br0 starten
Dann bekommt die VM eine IP-Adresse über DHCP, was die IP-Kommunikation zwischen Host und VM erlaubt.
dnsmasq --interface=br0 --bind-interfaces --dhcp-range=172.20.0.2,172.20.0.254
TO DO: IPv6
Starten der VM
Hier sollte unbedingt die MAC-Adresse angepasst werden!
qemu-system-i386 -no-fd-bootchk -boot d /media/daten/michael/VPC/OpenBSDVTM/openbsd52vtm.qcow2 -net nic,macaddr=52:54:e:1:0:1 -net bridge,br=br0 -m 512
Angepasst für qemu-system-x86_64, Verwendung von KVM:
qemu-system-x86_64 -no-fd-bootchk -boot d ...qcow2 -net nic,macaddr=52:54:e:1:0:1 -enable-kvm -name openbsd54 -net none -net bridge,br=br0 -m 512
Performance
- 16 Sekunden nach dem Start: "Entry point..."
- nach 1 min: "File system is clean"
- nach 1 min 20 sec: "Starting network"
- nach 1 min 30 sec: "bound to 172.20.0.32"
- nach 1 min 53 sec: "started early daemons"
- nach 2 min 55 sec: "started network daemons"
- nach 3 min 5 sec: Login
OpenBSD Tipps und Tricks
sysctl
sysctl funktioniert sehr ähnlich wie unter Linux.
Router Advertisments erlauben
sysctl -w net.inet6.ip6.accept_rtadv=1
ICMPv6 Weiterleitungen erlauben
sysctl -w net.inet6.icmp6.rediraccept=1
rtsol
rtsol re0
FTP-Server für pkg einstellen
export PKG_PATH=ftp://ftp2.eu.openbsd.org/pub/OpenBSD/5.4/packages/i386/
Größe aller Pakete bestimmen
wget ftp://ftp2.eu.openbsd.org/pub/OpenBSD/5.4/packages/i386/ mv index.html openbsd54pkglist.html cat openbsd54pkglist.html | grep bytes | cut -d'(' -f2 | cut -d' ' -f1 | awk '{sum+=$1}END{print sum}'
Bei OpenBSD 5.4 am 24.04.2014 20.948.114.946 Bytes, das sind 19,51 GiB.
Software hinzufügen
pkg_add Paket
Shell ändern
chsh
Abhörende Ports auflisten
Entweder
netstat -a -n -p tcp
oder
netstat -a -n -f [inet|inet6]