= in unserem Fall: Betreiben von mehreren virtuellen Betriebssystemen (Gast) unter einem physikalischen System (Host).
Man unterscheidet:
Gängige Virtualisierungslösungen sind:
Zuvor, mit d4e2010 und s4e2010: http://d4e.at/support/version-2010/netzwerk/internetverbindung-ueber-server4education/
Wird nun in das Yast Modul für den s4e2011 integriert sein.
Voraussetzungen:
rsync -av -P --delete /quelle/ /ziel/.
rsync -av -P --delete -e ssh root@192.168.100.1:/home/ /home/.
rsync -av -P --delete /home/ -e ssh root@192.168.100.1:/home/.
Vorsicht bei / und /. !!!
Quelle am besten immer mit / abschließen
Ziel am besten immer mit /. abschließen
Zielordner muss aber hierbei vorhanden sein!
-a archive mode -v verbose mode -P zeigt den Fortschritt während der Synchronisation an --delete löscht Dateien/Ordner auch im Zielordner, falls sie im Quellordner gelöscht worden sind
Backupskripte am besten in einen extra Ordner anlegen: /backup
Hauptsicherung: Konfigurationsdaten, Backupskripte selbst, Cronjob selbst
Login ohne Passwort einrichten für ssh: SSH-Schlüssel - Anmeldung ohne Passwort
Cronjob anlegen:
crontab -e
MAILTO="" # Minute Stunde Tag(Monat) Monat Tag(Woche) Kommando # Sicherung auf Newton #10 2 * * * /usr/bin/rsync -a -e ssh root@10.67.0.254:/daten/ /daten > /dev/null 2>&1 # Sicherung der MySQL Datenbanken 45 0 * * * /backup/mysql.sh > /dev/null 2>&1 # Sicherung der openLDAP Datenbank 45 0 * * * /backup/ldap.sh > /dev/null 2>&1 # Sicherung der wichtigsten Konfigurationsdaten 45 0 * * * /backup/run.sh > /dev/null 2>&1 # Beispiele: # Jeden Tag um zehn Minuten nach Mitternacht: #10 0 * * * /pfad/zum/programm # Jeden Mittwoch um zehn Minuten nach Mitternacht: #10 0 * * 3 /pfad/zum/programm # Jeden Wochentag um zehn Minuten 13,14 und 15Uhr: #10 13-15 * * 1-5 /pfad/zum/programm # Jedes Jahr zu Silvester: #0 0 31 12 * /pfad/zum/programm
#!/bin/bash HOST="10.67.0.2" DATUM=$(date "+%d%m%y") SERVER="einstein" rsync -a /backup/ -e ssh root@$HOST:/daten/sicherung/$SERVER/backup/ rsync -a --delete /etc/ -e ssh root@$HOST:/daten/sicherung/$SERVER/etc/ rsync -a --delete /root/ -e ssh root@$HOST:/daten/sicherung/$SERVER/root/ rsync -a --delete /var/spool/cron/ -e ssh root@$HOST:/daten/sicherung/$SERVER/var/spool/cron/ rsync -a --delete /var/lib/named/*.hosts -e ssh root@$HOST:/daten/sicherung/$SERVER/var/lib/named/ rsync -a --delete /var/lib/named/*.rev -e ssh root@$HOST:/daten/sicherung/$SERVER/var/lib/named/ rsync -a --delete /var/lib/named/*.zone -e ssh root@$HOST:/daten/sicherung/$SERVER/var/lib/named/ sync
#!/bin/bash HOST="10.67.0.2" DATUM=$(date "+%d%m%y") USER="root" PASSWORD="<passwort!!!>" mysqlcheck --user=$USER --password=$PASSWORD --all-databases --auto-repair > /backup/mysql-einstein/mysql_status_$DATUM mysqldump --user=$USER --password=$PASSWORD --all-databases --opt -l --force | gzip > /backup/mysql-einstein/mysql_$DATUM.sql.gz databases=$(/usr/bin/mysql --user=$USER --password=$PASSWORD -e 'SHOW DATABASES;' | grep -Ev '(Database|information_schema)') for db in $databases; do /usr/bin/mysqldump -l --opt --hex-blob --force --user=$USER --password=$PASSWORD $db | gzip > /backup/mysql-einstein/db_$db-$DATUM.sql.gz done rsync -a /backup/ -e ssh root@$HOST:/daten/sicherung/einstein/backup/ rm /backup/mysql-einstein/* sync
#!/bin/bash HOST="10.67.0.2" DATUM=$(date "+%d%m%y") SERVER="kepler" /usr/sbin/slapcat -l /backup/kepler_$DATUM.ldif rsync -a /backup/ -e ssh root@$HOST:/daten/sicherung/$SERVER/backup/ rm /backup/kepler_*.ldif sync
=ist ein Verfahren, um Computern einen netzwerkbasierten Bootvorgang zu ermöglichen. Der Computer ist dadurch von Massenspeicher und darauf installiertem Betriebssystem unabhängig.
Muss im BIOS aktiviert sein, sollte aber jeder PC seit dem Jahr 1998(?) können. Oft sehr kreative Namensgebung der Hersteller.
Für den Betrieb sind grundsätzlich 3 Komponenten notwendig:
authoritative; ddns-update-style none; #eth2 unterrichtsnetz subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.60 192.168.100.200; default-lease-time 3600; max-lease-time 172800; option broadcast-address 192.168.100.255; option routers 192.168.100.254; option subnet-mask 255.255.255.0; option netbios-name-servers 193.170.221.1; option domain-name-servers 8.8.8.8, 193.170.221.1; option ntp-servers 193.170.221.1; # pxe filename "pxelinux.0"; next-server 192.168.100.4; }
ATFTPD_OPTIONS="--daemon " ATFTPD_USE_INETD="no" ATFTPD_DIRECTORY="/tftpboot" ATFTPD_BIND_ADDRESSES=""
SYSLINUX dient dem Starten von FAT-Dateisystemen (wie Disketten und USB-Speichergeräten). ISOLINUX dient dem Starten von ISO 9660-Dateisystemen von CD-ROMs. PXELINUX dient dem Starten von einem Netzwerk-Server mittels der Preboot Execution Environment (PXE). EXTLINUX dient dem Starten von Linux' ext2-/ext3-Dateisystemen. MEMDISK dient dem Starten älterer Betriebssysteme wie MS-DOS von diesen Medien.
DEFAULT menu.c32 PROMPT 0 MENU TITLE Willkommen! LABEL harddisk MENU LABEL Von Festplatte booten localboot 0x80 LABEL openSUSE 11.3 32-bit MENU LABEL openSUSE 11.3 32-bit KERNEL /suse113/i586/boot/i386/loader/linux ramdisk_size=65536 APPEND initrd=/suse113/i586/boot/i386/loader/initrd UseDHCP=1 InstMode=nfs Install=nfs://192.168.100.4/daten/pxe/suse113/i586 vga=0x317 splash=silent insecure=1 Language=de_DE showopts LABEL openSUSE 11.3 64-bit MENU LABEL openSUSE 11.3 64-bit KERNEL /suse113/x86_64/boot/x86_64/loader/linux ramdisk_size=65536 APPEND initrd=/suse113/x86_64/boot/x86_64/loader/initrd UseDHCP=1 InstMode=nfs Install=nfs://192.168.100.4/daten/pxe/suse113/x86_64 vga=0x317 splash=silent insecure=1 Language=de_DE showopts LABEL openSUSE 11.4 32-bit MENU LABEL openSUSE 11.4 32-bit KERNEL /suse114/i586/boot/i386/loader/linux ramdisk_size=65536 APPEND initrd=/suse114/i586/boot/i386/loader/initrd UseDHCP=1 InstMode=nfs Install=nfs://192.168.100.4/daten/pxe/suse114/i586 vga=0x317 splash=silent insecure=1 Language=de_DE showopts LABEL openSUSE 11.4 64-bit MENU LABEL openSUSE 11.4 64-bit KERNEL /suse114/x86_64/boot/x86_64/loader/linux ramdisk_size=65536 APPEND initrd=/suse114/x86_64/boot/x86_64/loader/initrd UseDHCP=1 InstMode=nfs Install=nfs://192.168.100.4/daten/pxe/suse114/x86_64 vga=0x317 splash=silent insecure=1 Language=de_DE showopts LABEL s4e 32-bit MENU LABEL server4education 32-bit installieren KERNEL /d4e2011/iso/i586/boot/i386/loader/linux ramdisk_size=65536 APPEND initrd=/d4e2011/iso/i586/boot/i386/loader/initrd AutoYaST=nfs://192.168.100.4/daten/d4e2011/pxe/i586/s4e.xml UseDHCP=1 InstMode=nfs Install=nfs://192.168.100.4/daten/d4e2011/iso/i586 vga=0x317 splash=silent insecure=1 Language=de_DE showopts LABEL d4e 32-bit MENU LABEL desktop4education 32-bit installieren KERNEL /d4e2011/iso/i586/boot/i386/loader/linux ramdisk_size=65536 APPEND initrd=/d4e2011/iso/i586/boot/i386/loader/initrd AutoYaST=nfs://192.168.100.4/daten/d4e2011/pxe/i586/d4e.xml UseDHCP=1 InstMode=nfs Install=nfs://192.168.100.4/daten/d4e2011/iso/i586 vga=0x317 splash=silent insecure=1 Language=de_DE showopts LABEL s4e 64-bit MENU LABEL server4education 64-bit installieren KERNEL /d4e2011/iso/x86_64/boot/x86_64/loader/linux ramdisk_size=65536 APPEND initrd=/d4e2011/iso/x86_64/boot/x86_64/loader/initrd AutoYaST=nfs://192.168.100.4/daten/d4e2011/pxe/x86_64/s4e.xml UseDHCP=1 InstMode=nfs Install=nfs://192.168.100.4/daten/d4e2011/iso/x86_64 vga=0x317 splash=silent insecure=1 Language=de_DE showopts LABEL d4e 64-bit MENU LABEL desktop4education 64-bit installieren KERNEL /d4e2011/iso/x86_64/boot/x86_64/loader/linux ramdisk_size=65536 APPEND initrd=/d4e2011/iso/x86_64/boot/x86_64/loader/initrd AutoYaST=nfs://192.168.100.4/daten/d4e2011/pxe/x86_64/d4e.xml UseDHCP=1 InstMode=nfs Install=nfs://192.168.100.4/daten/d4e2011/iso/x86_64 vga=0x317 splash=silent insecure=1 Language=de_DE showopts LABEL g4l MENU LABEL ghost4linux KERNEL /klonen/g4l/bz37 ramdisk_size=65536 root=/dev/ram0 APPEND initrd=/klonen/g4l/ramdisk.lzma LABEL g4u MENU LABEL ghost4unix kernel memdisk Append iso initrd=/klonen/g4u/g4u.iso raw LABEL rescuecd_std MENU LABEL SystemRescueCd LINUX /sysrescd/isolinux/rescuecd INITRD /sysrescd/isolinux/initram.igz setkmap=de nfsboot=192.168.100.4:/daten/pxe/sysrescd APPEND scandelay=1 LABEL udpcast MENU LABEL Udpcast KERNEL /klonen/udpcast/LINUX ramdisk_size=65536 auto=yes lang=DE kbmap=DE dhcp=yes enableDiskmodule=yes netmodule=tg3 netmodparm= port=9000 diskmodule=ata_piix diskmodparm= udpcparam= disk=/dev/sda umode=rcv compr=none APPEND initrd=/klonen/udpcast/INITRD LABEL GParted Live MENU LABEL GParted Live KERNEL /gparted/live/vmlinuz1 APPEND initrd=/gparted/live/initrd1.img boot=live noswap noprompt config union=aufs nosplash vga=788 netboot=nfs nfsroot=192.168.100.4:/daten/pxe/gparted -- LABEL memtest MENU LABEL MEMTEST KERNEL /memtest
schroedinger:/tftpboot # la insgesamt 309 drwxr-xr-x 5 root root 384 10. Jul 16:32 . drwxr-xr-x 26 root root 632 10. Jul 16:19 .. lrwxrwxrwx 1 root root 14 29. Apr 18:52 d4e2011 -> /daten/d4e2011 lrwxrwxrwx 1 root root 18 29. Apr 18:52 gparted -> /daten/pxe/gparted drwxr-xr-x 5 root root 120 3. Mär 09:52 klonen drwxr-xr-x 2 root root 48 3. Mär 09:52 knoppix -rw-r--r-- 1 root root 25084 5. Jul 2010 memdisk -r--r--r-- 1 root root 165080 23. Feb 00:00 memtest -rw-r--r-- 1 root root 52148 1. Okt 2010 menu.c32 -r--r--r-- 1 root root 41212 7. Nov 2010 pxeboot_ia32.bin -rw-r--r-- 1 root root 16838 1. Okt 2010 pxelinux.0 drwxr-xr-x 2 root root 72 17. Jul 19:36 pxelinux.cfg lrwxrwxrwx 1 root root 18 29. Apr 18:52 suse113 -> /daten/pxe/suse113 lrwxrwxrwx 1 root root 18 29. Apr 18:52 suse114 -> /daten/pxe/suse114 lrwxrwxrwx 1 root root 19 29. Apr 18:52 sysrescd -> /daten/pxe/sysrescd schroedinger:/tftpboot #
/daten/d4e2011 192.168.100.*(crossmnt,async,ro,root_squash,no_subtree_check) /daten/pxe 192.168.100.*(crossmnt,async,ro,no_root_squash,no_subtree_check)
#!/bin/bash zypper ar -f -C http://ftp.halifax.rwth-aachen.de/opensuse/repositories/openSUSE:/11.4:/Contrib/standard/ contrib zypper ar -f -C http://ftp5.gwdg.de/pub/opensuse/repositories/Education/openSUSE_11.4/ edu zypper ar -f -C http://ftp5.gwdg.de/pub/opensuse/repositories/KDE:/Extra/openSUSE_11.4/ extra zypper ar -f -C http://ftp5.gwdg.de/pub/opensuse/repositories/KDE:/Release:/46/openSUSE_11.4/ kde zypper ar -f -C http://ftp5.gwdg.de/pub/opensuse/repositories/network:/ldap/openSUSE_11.4/ ldap zypper ar -f -C http://ftp5.gwdg.de/pub/opensuse/repositories/X11:/lxde/openSUSE_11.4/ lxde zypper ar -f -C http://ftp5.gwdg.de/pub/opensuse/repositories/mozilla/openSUSE_11.4/ mozilla zypper ar -f -C http://ftp5.gwdg.de/pub/opensuse/distribution/11.4/repo/non-oss/ non-oss zypper ar -f -C http://ftp5.gwdg.de/pub/opensuse/distribution/11.4/repo/oss/ oss zypper ar -f -C http://packman.inode.at/suse/11.4 packman zypper ar -f -C http://ftp.halifax.rwth-aachen.de/opensuse/repositories/devel:/languages:/perl/openSUSE_11.4/ perl zypper ar -f -C http://ftp5.gwdg.de/pub/opensuse/repositories/server:/php:/applications/openSUSE_11.4/ php zypper ar -f -C http://ftp5.gwdg.de/pub/opensuse/repositories/Printing/openSUSE_11.4/ pykota zypper ar -f -C http://ftp5.gwdg.de/pub/opensuse/repositories/network:/samba:/STABLE/openSUSE_11.4/ samba zypper ar -f -C http://ftp5.gwdg.de/pub/opensuse/repositories/science/openSUSE_11.4/ science zypper ar -f -C http://ftp.halifax.rwth-aachen.de/opensuse/repositories/openSUSE:/Tumbleweed/standard/ tumbleweed zypper ar -f -C http://ftp5.gwdg.de/pub/opensuse/update/11.4/ update zypper ar -f -C http://ftp5.gwdg.de/pub/opensuse/repositories/home:/openLHAG:/branches:/Virtualization/openSUSE_Tumbleweed/ virt_tumbleweed zypper ar -f -C http://download.videolan.org/pub/videolan/vlc/SuSE/11.4 vlc zypper ar -f -C http://ftp5.gwdg.de/pub/opensuse/repositories/X11:/XOrg/openSUSE_11.4/ x11
Clientrechner hinter einem Router/Proxy
Von außen nur durch Router/Proxy aus sichtbar: Verbindungen von Clients erscheinen außerhalb alle als 1 Verbindung des Routers
Um Zugriff von außen auf einen Client intern zu erhalten: Port Weiterleitung:
#!/bin/sh ### BEGIN INIT INFO # Provides: bridge # Required-Start: network # Should-Start: # Required-Stop: # Should-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: bridge # Description: Start bridge ### END INIT INFO . /etc/rc.status rc_reset case "$1" in start) echo -n "Starting bridge " ################################# iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT echo 1 > /proc/sys/net/ipv4/ip_forward INTDEV="br1" EXTDEV="eth0" INTERN=10.0.0.10 EXTERN=193.170.221.4 ## NAT-Regeln ## # Zugriff nach außen iptables -t nat -A POSTROUTING -o $EXTDEV -s $INTERN -j SNAT --to-source $EXTERN # Zugriff von außen iptables -t nat -A PREROUTING -i $EXTDEV -p tcp -d $EXTERN -m multiport --dport 25,53,80,110,443,8080 -j DNAT --to-destination $INTERN ## Firewall-Regeln == # Akzeptiere alle aufgebauten Verbindungen iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A POSTROUTING -j MASQUERADE ################################# rc_status -v ;; stop) echo -n "Shutting down bridge " iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT ################################# rc_status -v ;; restart) $0 stop $0 start rc_status ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac rc_exit