HowTo's

From PostgreSQL_wiki
Revision as of 11:47, 28 August 2009 by 10.68.71.195 (talk) (openssh server)
Jump to: navigation, search

Webhuis HowTo's.

Common

Uwork apt (lenny)

Uwork maakt gebruik van apt-cache ten behoeve van de snelheid bij nstallaties.

Key voor Webhuis packages

Uwork maakt gebruik van in eigen beheer samengestelde packages, waarvoor een key noodzakelijk is.

wget http://packages.webhuis.nl/debian/dists/webhuis-key.asc
apt-key add webhuis-key.asc

sources.list

deb http://mirror.webhuis.nl:3142/ftp.nl.debian.org/debian/ lenny main
deb-src http://mirror.webhuis.nl:3142/ftp.nl.debian.org/debian/ lenny main
deb http://mirror.webhuis.nl:3142/security.debian.org/ lenny/updates main
deb-src http://mirror.webhuis.nl:3142/security.debian.org/ lenny/updates main
deb http://mirror.webhuis.nl:3142/volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://mirror.webhuis.nl:3142/volatile.debian.org/debian-volatile lenny/volatile main

root@udell:~# cat /etc/papersize a4 root@udell:~# dpkg-reconfigure libpaper1 Replacing config file /etc/papersize with new version root@udell:~# cat /etc/papersize letter root@udell:~# dpkg-reconfigure libpaper1 Replacing config file /etc/papersize with new version root@udell:~# cat /etc/papersize a4

Dit werkt nog niet voor AMD-64:

#
#  Packages Webhuis
#
deb     http://mirror.webhuis.nl:3142/packages.webhuis.nl/debian     etch non-free

Fysieke server voor virtualisatie (dom0)

Debian netinstall (lenny)

Als er al een linux versie op de machine aanwezig kan de volgende installatie met een netinstall geschieden. Op deze installatie komt een dom0, dus het is voldoende om ongeveer 8 Gb schijfruimte te nemen voor de linux partitie en 1 Gb voor swap. Op het restatn van de schijf komt later een lvm te staan ten behoeve van de xen-domains.

Als root:

# cd /boot

AMD-64

# wget http://ftp.nl.debian.org/debian/dists/lenny/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux
# wget http://ftp.nl.debian.org/debian/dists/lenny/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz

Intel 32 bits

# wget http://ftp.nl.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/debian-installer/i386/linux
# wget http://ftp.nl.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/debian-installer/i386/initrd.gz

in grub menu.list

title           Debian netinstall
root            (hd0,0)
kernel          /boot/linux root=/dev/sda1 ro quiet splash ramdisk_size=32768
initrd          /boot/initrd.gz
quiet
savedefault
# grub-install /dev/sda
# reboot

Xen install

AMD-64

# apt-get install xen-linux-system-2.6.26-2-xen-amd64 xen-tools

Intel

i386

# apt-get install xen-linux-system-2.6.26-1-xen-686 xen-tools libvirt0 less xvnc4viewer bzip2 xenstore-utils xenwatch xen-utils-3.2-1
        xen-hypervisor-3.2-1-i386 xen-hypervisor-i386

Algemeen

apt-get install lvm2 xen-tools

xend-config.cfg

(network-script network-bridge)
(vif-script vif-bridge)
(dom0-min-mem 196)
(dom0-cpus 0)
(vncpasswd "")

Xen opzetten

Network brideging
# vi /etc/xen/xend-config.sxp

In geval van een enkele ethernet kaart Comment out (network-script network-dummy) voeg toe:

(network-script network-bridge)
dom0 met meerdere netwerkkaarten

Wijzig /etc/modules

loop
loop max_loop=64
netloop nloopbacks=255
  1. vi /etc/xen/xend-config.sxp

In geval van meerdere ethernet kaarten:

Comment out (network-script network-dummy) voeg toe:

(network-script network-multinic)

Plaats het script network-multinet in /etc/xen/scripts

#!/bin/bash
dir=$(dirname "$0")
/usr/bin/logger -t xend-network "network-bridge-multinic $* vifnum=0, vifnum=1"
"$dir/network-bridge" "$@" vifnum=0 netdev=eth0 bridge=xenbr0
"$dir/network-bridge" "$@" vifnum=1 netdev=eth1 bridge=xenbr1
lvm
# pvcreate /dev/sda?
# pvdisplay
# pvscan

Creeer een logical volume

# vgcreate dev-xen /dev/sda? (Kan ook bij de install)
# vgdisplay
xen-tools

Zet de lvm in de xen-tools configuratie

# vi /etc/xen-tools/xen-tools.conf
 lvm = dev-xen

Zorg voor een root password door uncomment van:

passwd = 1

Zorg voor console access door onderstaande regel toe te voegen:

serial_device = hvc0
xen-tools.conf
lvm = dev-xen
install-method = debootstrap
size   = 8Gb      # Disk image size.
memory = 128Mb    # Memory size
swap   = 128Mb    # Swap size
fs     = ext3     # use the EXT3 filesystem for the disk image.
dist   = lenny    # Default distribution to install.
image  = sparse   # Specify sparse vs. full disk images.
passwd = 1
kernel      = /boot/vmlinuz-`uname -r`
initrd      = /boot/initrd.img-`uname -r`
mirror = http://mirror.webhuis.nl:3142/ftp.us.debian.org/debian/
ext3_options   = noatime,nodiratime,errors=remount-ro
ext2_options   = noatime,nodiratime,errors=remount-ro
xfs_options    = defaults
reiser_options = defaults
serial_device = hvc0

Virtuele server (domU)

Bouwen van een virtuele server

xen-create-image --verbose --force --hostname=ips-vpn --ip=10.68.71.200 --netmask=255.255.255.240 --gateway=10.68.71.193 --size=8gb
                 --debootstrap --dist=lenny --mirror=http://mirror.webhuis.nl:3142/ftp.nl.debian.org/debian --role=udev

Aanpassen xmdomain.cfg: Voeg toe onder de memory parameter:

extra       = "clocksource=jiffies"

Herstart de domU

dhcp

apt-get install dhcp3-server

dhcpd.conf

ddns-update-style none;
option domain-name "uwork.nl";
option domain-name-servers 10.x.y.z 10.x1.x2.z2;
default-lease-time 600;
max-lease-time 7200;
lease-file-name "/var/cache/dhcpd/dhcp.leases";
authoritative;
log-facility local7;
subnet 10.x.y.0 netmask 255.255.255.224 {
 range 10.x.y.10 10.x.y.30;
 option routers 10.x.y.1;

Let op: Maak bij configuratie het bestand "/var/cache/dhcpd/dhcp.leases" aan (de server stopt als het bestand ontbreekt).

dhcp3.server

Specificeer in geval van een machine met meerdere netwerkkaarten de netwerkkaarten waarop de server luistert.

INTERFACES="eth1"

VPN router

apt-get install openssl racoon ipsec-tools

Kies bij de racoon configuratie voor de optie "direct".

DNS complex master slaves (etch)

Voorlopige plek voor configuratie virtuele servers

apt-get install apache2 php5-mysql libapache2-mod-php5 phpmyadmin mysql-server pdns-backend-mysql zip unzip bzip2 lynx arj
php-pear php5-dev php-http php-db php-auth pdns-doc

pdnsadmin komt van een andere bron

libapache2-mod-php5 php5-mysql

php-pear php5-dev php-http php-db php-auth

php5-mysql

Samba LDAP

Voor elke samba ldap server:

apt-get install libpam-ldap libnss-ldap libpam-cracklib samba smbldap-tools db4.5-util smbclient slapd phpldapadmin
                mc ldap-utils cupsys subversion openssl

De samba ldap master heeft de winbindd daemon nodig voor netbios name resolution:

apt-get install winbind

openssh server

Security vereist ssh toegang op basis van PKI.

Aanpassen /etc/ssh/sshd_config

PermitRootLogin no
PasswordAuthentication no

Firewall opzet voor ssh tegen brute force atacks:

#!/bin/sh
#
#       Variabelen en interfaces

IPTABLES="/sbin/iptables"
ext="eth0"
int="eth1" 
#       Beperk de toegang tot de externe interface (ext)
#
lijst="D A"
for i in $lijst ; do
  $IPTABLES -${i} INPUT -i ${int} -p tcp --dport 22 -j ACCEPT ;

  $IPTABLES -${i} INPUT -i ${ext} -p tcp --dport 22 -m recent --update --seconds 600 --hitcount 7 --name SSH -j DROP ;
  $IPTABLES -${i} INPUT -i ${ext} -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH -j ACCEPT ;

  $IPTABLES -${i} OUTPUT -p tcp --sport 22 -j ACCEPT ;
done

Door de rules eerst te verwijderen en daarna weer op te voeren is het script bruikbaar in combinatie met andere firewall scripts

Tonen van de geregistreerde IP-adressen

user@prod:~$ cat /proc/net/ipt_recent/SSH

Flushen van de geregistreerde IP-adressen

user@prod:~$ echo clear > /proc/net/ipt_recent/SSH

SugarCRM

Customer relationship Management met behulp van SugarCRM community edtion.

Een goede handleiding is te vinden op: http://www.sugarcrm.com/wiki/index.php?title=Installation

Genereer een standaard virtuele server, met twee bijzonderheden: - Intern geheugen 1 Gb; - swap partitie 1gb.

apt-get install apache2 mysql-server php5

Let op: Deze moet, maar gaat niet automatisch:

apt-get install php5-mysql

Vervolgens haal je de CRM applicatie op.

wget http://www.sugarforge.org/frs/download.php/5252/SugarCE-5.2.0c.zip

Windows 2008 VM

Opzet

Gevirtualiseerde Windows XP in het netwerk voor remote toegang met RDP. De beschrijving is voor de 8G variant de 4G variant verloopt analoog.

Uitwerking

Voorbereiding installatie: Maak een iso van de installatie cd

Installatie van de standaard iso:

Maak een filesystem aan op dom0 voor de virtuele machine dd if=/dev/zero of=/var/lib/xen/domains/winxp/rdp-<volgnummer>.img bs=1M count=8192

Bepaal het IP adres van de virtuele machine en beperk de toegang op de firewall tot het lokale netwerk:

   iptables -A FORWARD -i eth0 -o eth1 -s ! 10.0.0.0/8 -d $ip_domU -j DROP
   iptables -A INPUT -i eth0 -s ! 10.0.0.0/8 -d $ip_domU -j DROP
   iptables -A OUTPUT -o eth0 -s $ip_domU -d ! 10.0.0.0/8 -j DROP

NB: De installatie mag pas starten nadat de configuratie op de firewall is doorgevoerd en getest. De virtuele machine gaat anders ongecontroleerd op Internet met blijvende gevolgen.


Pas het script qemu-ifup aan zodat de laatste regel luidt:

brctl addif $2 $1 || true

Start de configuratie met: xm create /etc/xen/winxp-8g-install.cfg Start vncviewer op de dom0

Configuratie: Selecteer de partitie en gebruik deze Na de herstart: Lokale op Dutch zetten en de tijdzone op Amsterdam Geen registratie Geen Domain aanmelding kiezen.

Sluit af en kopieer het filesystem naar een veilige centrale plek.

Uitrollen voor gebruik: Bepaal het IP adres van de virtuele machine en beperk de toegang op de firewall tot het lokale netwerk:

NB: De installatie mag pas starten nadat de configuratie op de firewall is doorgevoerd en getest. De virtuele machine gaat anders ongecontroleerd op Internet met blijvende gevolgen.

kopieer winxp-8g.img naar /var/lib/xen/domains/winxp/rdp-<volgnummer>.img dom0:/var/lib/xen/domains/winxp# wget --no-check-certificate https://svn.webhuis.nl/sources/winxp-8g.img -O rdp-<volgnummer>.img

Wijzig alle occurrences in winxp-8g.cfg van winxp-8g naar rdp-<volgnummer> Sloop de cdrom entry eruit.

xm create /etc/xen/rdp-<volgnummer>.cfg Start vncviewer op de dom0 Naam van de computer naar rdp-<volgnummer> Varander in een keer zonder reboot: Join Domain Remote Access: <Domain>\Domain Users

N.B. Virtuele windozen buiten het subnet van de authenticerende bdc hebben het IP adres van de wins server nodig.

Daarna Reboot en start nieuwe sessie met rdesktop (duurt even, windows he ;-)) ).

ToDo

Imagen van XP met: - SP3 in de installatie cd verwerkt; - Mogelijkheid tot drie concurrent RDP gebruikers in de configuratie.


Windows XP VM

Opzet

Gevirtualiseerde Windows XP in het netwerk voor remote toegang met RDP. De beschrijving is voor de 8G variant de 4G variant verloopt analoog. Er bestaan twee types installatie: - Uitrollen van een preconfigured Windows XP - Maagdelijke installatie vanaf iso-image

Uitwerking

Voorbereiding installatie:

Maak een iso van de installatie cd

Installatie van de standaard iso:

Maak een filesystem aan op dom0 voor de virtuele machine dd if=/dev/zero of=/var/lib/xen/domains/winxp/rdp-<volgnummer>.img bs=1M count=8192

Bepaal het IP adres van de virtuele machine en beperk de toegang op de firewall tot het lokale netwerk:

   iptables -A FORWARD -i eth0 -o eth1 -s ! 10.0.0.0/8 -d $ip_domU -j DROP
   iptables -A INPUT -i eth0 -s ! 10.0.0.0/8 -d $ip_domU -j DROP
   iptables -A OUTPUT -o eth0 -s $ip_domU -d ! 10.0.0.0/8 -j DROP

NB: De installatie mag pas starten nadat de configuratie op de firewall is doorgevoerd en getest. De virtuele machine gaat anders ongecontroleerd op Internet met blijvende gevolgen.

Pas het script qemu-ifup aan zodat de laatste regel luidt:

brctl addif $2 $1 || true

Start de configuratie met: xm create /etc/xen/winxp-8g-install.cfg Start vncviewer op de dom0

Configuratie: Selecteer de partitie en gebruik deze Na de herstart: Lokale op Dutch zetten en de tijdzone op Amsterdam Geen registratie Geen Domain aanmelding kiezen.

Sluit af en kopieer het filesystem naar een veilige centrale plek.

Uitrollen voor gebruik: Bepaal het IP adres van de virtuele machine en beperk de toegang op de firewall tot het lokale netwerk:

NB: De installatie mag pas starten nadat de configuratie op de firewall is doorgevoerd en getest. De virtuele machine gaat anders ongecontroleerd op Internet met blijvende gevolgen.

kopieer winxp-8g.img naar /var/lib/xen/domains/winxp/rdp-<volgnummer>.img dom0:/var/lib/xen/domains/winxp# wget --no-check-certificate https://svn.webhuis.nl/sources/winxp-8g.img -O rdp-<volgnummer>.img

Wijzig alle occurrences in winxp-8g.cfg van winxp-8g naar rdp-<volgnummer> Sloop de cdrom entry eruit.

xm create /etc/xen/rdp-<volgnummer>.cfg Start vncviewer op de dom0 Naam van de computer naar rdp-<volgnummer> Varander in een keer zonder reboot: Join Domain Remote Access: <Domain>\Domain Users

N.B. Virtuele windozen buiten het subnet van de authenticerende bdc hebben het IP adres van de wins server nodig.

Daarna Reboot en start nieuwe sessie met rdesktop (duurt even, windows he ;-)) ).

ToDo

Imagen van XP met: - SP3 in de installatie cd verwerkt; - Mogelijkheid tot drie concurrent RDP gebruikers in de configuratie.

Tips and Tricks

Lenny

Problems:

Netwerk domU

De netwerkinterface van de domU werkt niet op de Intel machine. De vpn-router werkt wel, maar de toegevoegde machines niet.

slurpd vervangen
DNS

master slave werkt niet goed

Lenny maakt standaard gebruik van ipv6 en name resolution loopt fout:

dc01:~# cat /etc/resolv.conf
#search uwork.nl
nameserver 38.99.20.68
nameserver 208.69.39.2
#nameserver 10.20.31.35
dc01:~# ping opendns.org
ping: unknown host opendns.org
Lenny NT access denied
hvm op lenny

werkt niet, daardoor is win2008 niet op lenny te installeren

xm create /etc/xen/win2008-32g-install.cfg

No login prompt when using `xm console`

Using a lenny domU, make sure you have hvc0 listed in inittab, like 1:2345:respawn:/sbin/getty 38400 hvc0. There happened to be a lot of changes of default console unit used by Xen (tty1, xvc0, hvc0 etc) but for a Lenny domU (version > 2.6.26-9) it's hvc0.

Solved

xm console werkt niet op de Intel machine

Het opstarten van het console blijft steken.

Oplossing: Lenny xen werkt met een andere console definitie. Toevoegen in de <domain>.cfg:

extra       = 'console=hvc0 xencons=tty'


TLS bij ldap
http://rustykruffle.com/tech-stuff/ubuntu/ultimate-home-server-ldap-gnutls-nightmare/

try

ldd $(which slapd)

you may see, that slapd is build with gnutls and not openssl :-)

You have two different solutions to fix this:

1. use the tool certtool from gnutls in package gnutls-bin. doc is in gnutls-doc or use the doc from the qemu/kvm packages and look their for vnc.

2. create a copy of /etc/ssl/certs/cacert.pem and reorder your certificates. gnutls expects just the opposite order as openssl :-(

De oplossing:

   - Comment out TLSCipherSuite settings on upgrade from all versions prior
     to 2.4.7-5, and throw a debconf error to the user notifying them of
     this, since all OpenSSL cipher suite values are incompatible with
     GnuTLS.
Clock

Problem

domU verzuipt in clocksource meldingen en is niet responsief.

Workaround In your domU /etc/sysctl.conf add the line: xen.independent_wallclock=1. On the dom0, edit the configuration file of the domU (e.g. /etc/xen/foobar.cfg and add (or expand) the extra-line: extra="clocksource=jiffies".

These settings can be activated without rebooting the domU. After editing the configuration files, issue sysctl -p and echo "jiffies"> /sys/devices/system/clocksource/clocksource0/current_clocksource on the domU prompt.

sysctl -p
echo "jiffies"> /sys/devices/system/clocksource/clocksource0/current_clocksource

Because the clock won't be relying on the dom0 clock anymore, you probably need to use ntp on the domU to synchronize it properly to the world.

Na een reboot staat de clock op jiffies zonder het echo commando.

tty

Domain is na create niet te benaderen.

PTY allocation request failed on channel 0
stdin: is not a tty
                  

Voeg aan de xen-create het volgende toe:

--role=udev
xen-create-image --verbose --force --hostname=mi-m --ip=10.37.41.11 --netmask=255.255.255.128 --gateway=10.37.41.1 --size=8gb
                 --debootstrap --dist=lenny --mirror=http://mirror.webhuis.nl:3142/ftp.nl.debian.org/debian --role=udev
lib/modules

Op de AMD-64:

ontbreekt, vpn-router werkt niet

Op de Intel machine werkt het wel.

Oplossing: De dom0 was verkeerd geinstalleerd. Volg de wiki van debian.org en installeer xen-linx-system