Linux: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(188 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Linux.rsync|rsync als Backuplösung]]<br>
Zur Verwendung des OrgaMon im Netzwerk, (also mit mehreren Arbeitsplätzen) sollte ein Linux-Server mit OpenSuSE eingesetzt werden.  
[[Linux.xntpd|immer genaue Uhrzeit (für alle)]]<br>
[[Linux.Grundlagen|Grundlagen]]<br>
[[Linux.samba|Festplatte im Netz (für alle)]]<br>
[[linux.firebird|Firebird SQL Server]]<br>
[[Linux.xinetd|xinetd als Redirector]]<br>
[[Linux.mysql|mysql Datenbank für php Projekte]]<br>
[[Linux.Installationsserver|Linux Systeme über das Netzwerk installieren]]<br>


<br>
* openSUSE Download: http://download.opensuse.org/distribution/
== Worum geht es ==
** aktuelle Version http://download.opensuse.org/distribution/leap/15.1/iso/
* openSUSE Fahrplan: http://en.opensuse.org/Roadmap


WARNUNG: Dieses HOWTO enthält Erfahrungsberichte und/oder Infos ohne
Alternativ gibt es auch CentOs [[Linux.CentOS]]<br>
jeglichen Anspruch auf Korrektheit. Alles ist hoch experimentell und nicht
Für Router eignet sich OpenWrt [[Linux.OpenWrt]]<br>
ausgiebig getestet. Es handelt sich eigentlich um ein lyrisches Werk freier
Geister, einen Bezug zur Relalität (insbesondere ein Zusammenhang mit der
Computertechnik) darf niemals vermutet werden. Eine Art Garantieanspruch aus
diesen freien Gedankenexplosioen abzuleiten grenzt an Wahnsinn.


Wir wollen mit diesem Dokument das Neuaufsetzen eines Suse Workgroup-Servers
beschreiben. Nach einem Crash soll es z.B. Alexander (vom HeBu-Musikverlag)
möglich sein, ohne viel Nachdenken einen neuen suse-linux-server aufzusetzen!
Die Sache ist recht umfangreich, mal in Kurzform: Alle wollen über linux
ins InterNet. Es läuft dort der SQL Server firebird. Alle (win32&MACs) nutzen
Plattenplatz (via samba,netatalk). Der Port 80 soll auf einen Win32 Rechner
geroutet werden.


== Bitte mitarbeiten! ==
Diese Dokumentation beschreibt viele Apsekte dieses mächtigen Serverbetriebssystems im Zusammenspiel mit OrgaMon. Der Server stellt dann Dateiablage-Platz (via Samba) und einen Datenbankserver-Dienst (via Firebird) zur Verfügung, des weiteren sorgt er sich um eine zuverlässige, dauerhafte InterNet-Verbindung und Namensauflösung. Der Linux-Server betreibt den WebShop und sorgt für die korrekte Zeit im ganzen Netz.<br>
== Der Umgang mit einem Linux System ==
<br>
[[Linux.shell|(bash) die wichtigsten Befehle]]<br>
[[Linux.systemd|(autostart) Autostart deiner Dienste]]<br>
[[Linux.device|(pmagic) Plattentausch]]<br>
[[Linux.beep|(beep) Server, sag mal Piep!]]<br>
[[Linux.perf|System Performance messen]]<br>
[[Linux.mount|Manueller Mount]]<br>
[[Linux.runlevel|Start Umfang]]<br>
[[Linux.swap|Swap]]
<br>


Dies ist ein Wiki - Also "bearbeiten" drücken und los!
== Die wichtigsten Linux Dienstleister ==
 
<br>
== Erster (Kalt-)Start ==
 
Rechner an, gleich ins System-Bios gehen, dazu <Entf> drücken,
wenn die "Drives"-Erkennung läuft. Im BIOS nun
->Advanced?!->Boot Device 0->
von "HDD-0" auf "CDROM" umstellen,
damit der Rechner von der DVD bootet. (das geht bei jedem BIOS anders)
->Suse 7.3 DVD rein
    (oder 8.0, sorry dann alles bissel anders: aber besser!!)
  ->Save and exit
  ...Rechner bootet neu, und macht den ersten (Warm-)Start
 
== Suse DVD bootet ... ==
 
"Manual Installation" bestätigen. Bei den Softwarepaketen, bitte folgendes ändern: "+Server", "+Entwicklung", "+erfahrener Benutzer".
 
System->System->Boot->SPLASH->no
das OS nur in den Textmodus (Console) booten lassen. Und den grafischen Login-Schirm unterdrücken: 
 
a)
  joe /etc/inittab
  aus
  id:5:initdefault
  macht man
  id:3:initdefault
b) in den Bootoptionen soll er einfach im Textmodus bleiben:
vga=normal splash=0
 
 
Mist: jetzt steht er zwar im Text Login aber per VNC kann man sich nicht mehr einloggen. Ich muss erst mit "init 5" in den Run-Level 5 wechseln. Warum?
 
Aufsetzen eines Installations Servers, der die SuSE DVD als über das Netz Bootbares Medium anbietet:
 
mit Win32 nero den "Track speichern" mit dem Typ ISO
das ISO Image auf den DHCP Server stellen
das Image mit
 
  mount -o loop suse92.iso /mein/Verzeichnis
 
in das Dateisystem einhängen!
 
joe /etc/dhcp.conf
 
filename "pxelinix.0";
 
md /srv/tftpboot


Installationsquelle wechseln
=== eigene Infrastruktur ===
1. YaST starten
2. Modul Software aufrufen
3. Installationsquelle wechseln
4. Hinzufügen: FTP
5. Folgendes genau so eintragen:


Protokoll: [X] FTP
[[Linux.xntpd|(ntp) immer genaue Uhrzeit]]<br>
Servername: ftp.gwdg.de
[[Linux.syslog|(syslog) ein System Log Server]]<br>
Verzeichnis auf dem Server: pub/linux/suse/ftp.suse.com/suse/i386/9.2
[[Linux.sensors|(lm_sensors) Hardware überwachen]]<br>
Authentifikation: [X] Anonymous
[[Linux.sysbench|(sysbench) Leistung messen]]<br>
[[Linux.raid|(md) RAID Ausfallsicherheit für Festplatten]]<br>
[[Linux.usb|(USB) Festplatte via usb anbinden]]<br>
[[Linux.iptables|(iptables) Router für alle]]<br>
[[Linux.pppd|(PPPoE) über ein (A)DSL-Modem ins Internet]]<br>
[[Linux.tc|(tc) Alle Bandbreiten sind gleich, einige sind gleicher]]<br>
[[Linux.wireshark|(wireshark) Wissen was so läuft]]<br>
[[Linux.logging|Das Log aus verschiedenen Quellen befüllen]]<br>
[[Linux.clamav|Schadsoftware-Scanner]]<br>
[[Linux.rsync|(rsync) als Backuplösung]]<br>
[[Linux.xinetd|(xinetd) Port Redirector]]<br>
[[Linux.mqtt|MQTT Sensoren]]<br>


syslinux installieren!
=== Server Dienste ===


Konfiguration des tftp Servers
[[Linux.Netzwerk]]<br>
[[Linux.named|(named,bind) Namensauflösung]]<br>
https://wiki.ubuntuusers.de/Avahi/<br>
[[Linux.samba|(Samba) Festplatte im Netz mit samba]]<br>
[[Linux.DHCP|(DHCP) Boot- Installations- DHCP- Server]]<br>
[[Linux.ssh|(secure remote shell) In einen entfernten Server einloggen]]<br>
[[FirebirdSQL|(firebird) - Datenbank]]<br>
[[Linux.postgresql|(PostgreSQL) - Datenbank]]<br>
[[Linux.postfix|(postfix) Mailserver]]<br>
[[Linux.vsftp|(vsftp) FTP Server]]<br>
[[Linux.mysql|(mysql) - Datenbank]]<br>
[[Linux.osm|(mod_tile+tirex+mapnik+postGIS) Karten- und Geo-Server mit OpenStreetMap]]<br>
[[Linux.subversion|(Subversion) Versionsverwaltung]]<br>
[[Linux.memcached|(Memcached) Semi Persistenz]]<br>
[[Linux.ltsp|(ltsp) einen Thin-Client (Linux-Arbeitsplatz)]]<br>
[[Linux.apache2|(apache2) Webserver]]<br>
[[Linux.nginx|(nginx) HTTP/2 Server]]<br>
[[Linux.BMC|Baseboard Management Tipps]]<br>


--------------------------------------------------------------------------------
=== System Nutzung ===


Erstellen Sie (falls es noch nicht existiert) das Verzeichnis /srv/tftpboot und /srv/tftpboot/pxelinux.cfg
[[PHP|(php) - Scriptsprache]]<br>
Wechseln Sie in das Verzeichnis Ihres Installationsrepositorys und kopieren Sie durch die Eingabe von:
[[Ruby|(ruby) - Scriptsprache]]<br>
cp -a boot/loader/linux boot/loader/initrd boot/loader/message boot/loader/memtest /srv/tftpboot
[[AJax|(AJax) - Betriebssystem für Browseranwendungen]]<br>
die Dateien linux initrd message memtest in das Verzeichnis /srv/tftpboot.  
[[Linux.Wiki|(Wiki) Server Installation]]<br>
Installieren Sie das Paket syslinux.  
[[Linux.WOL|(WOL) Wake On LAN(tm) ]]<br>
Ist auf dem Installationsserver der SuSE Linux Enterprise Server 8 installiert, so laden Sie sich das Paket von: ftp.suse.com/pub/suse/i386/8.2/suse/i586/syslinux-1.62-375.i586.rpm herunter, und installieren es mit:
[[Linux.VirtualBox|(VirtualBox) handzame Windows XP Appliances für OrgaMOn-Server]]<br>
rpm -Uhv syslinux-1.62-375.i586.rpm
[[Linux.kvm|(qemu-virt) kvm Virtualisierung einer Win10-Maschine]]<br>
Ist auf dem Installationsserver eine SuSE Linux Version 8.1 oder 8.2 installiert, so installieren Sie das Paket mit YaST2 direkt von Ihren Installations-CDs.
[[Linux.wine|(Wine) win32 (Konsolen-)Anwendungen unter Linux]]<br>
Kopieren Sie die Datei /usr/share/syslinux/pxelinux.0 durch die Eingabe von:
[[Linux.Torrent|(BitTorrent) grosse Daten laden und verteilen]]<br>
cp -a /usr/share/syslinux/pxelinux.0 /srv/tftpboot
[[Linux.updates|(zypper) Software installieren, System aktualisieren]]<br>
in das Verzeichnis /srv/tftpboot.  
[[Linux.vncserver|(vnc) Grafische Remote Session]]<br>
Wechseln Sie in das Verzeichnis Ihres Installationsrepositorys und kopieren Sie durch die Eingabe von:
[[Linux.ipv6]]<br>
cp -a boot/loader/isolinux.cfg /srv/tftpboot/pxelinux.cfg/default
[[Linux.btrfs]]
die Datei isolinux.cfg nach /srv/tftpboot/pxelinux.cfg/default
Editieren Sie die Datei /srv/tftpboot/pxelinux.cfg/default und entfernen Sie die Zeilen die mit:
gfxboot
readinfo
framebuffer
beginnen.  
Fügen Sie in den append Zeilen der Label default failsafe und apic die folgenden Einträge an:
insmod=e100 Dieser Eintrag bewirkt, daß auf dem PXE-Client das Kernelmodul für eine Intel 100MBit/s Netzwerkkarte geladen wird. Dieser Eintrag ist abhängig von der Hardware Ihres Clients, und muß entsprechend geändert werden. Bei einer Broadcom GigaBit Netzwerkkarte würde dieser Eintrag insmod=bcm5700 lauten.
netdevice=eth0 Dieser Eintrag spezifiziert das Netzwerkinterface des Clients, welches für die Netzwerkinstallation benutzt werden soll, und ist nur dann notwendig, wenn mehrere Netzwerkkarten in den Clients verbaut sind. Dieser Eintrag muß dann entsprechend angepaßt werden. Bei nur einer Netzwerkkarte kann dieser Eintrag komplett entfallen.  
install=nfs://192.168.100.1/usr/local/dist/SLES8 Dieser Eintrag legt den nfs Server und die Installationsquelle für die Installation der Clients fest, und muß gegebenenfalls angepaßt werden.  
Eine, für die SuSE Linux Enterprise Server 8 - Netzwerkinstallation, angepaßte /srv/tftpboot/pxelinux.cfg/default finden Sie hier:
default linux


# default
== Putty ==
label linux
  kernel linux
  append initrd=initrd ramdisk_size=65536 insmod=e100 install=nfs://192.168.100.1/usr/local/dist/SLES8


# failsafe
Installiere auf deinem Windows System Putty, um dich in den Linux Server einzuloggen. Infos zu Putty:
label failsafe
  kernel linux
  append initrd=initrd ramdisk_size=65536 ide=nodma apm=off acpi=off insmod=e100 install=nfs://192.168.100.1/usr/local/dist/SLES8


# apic
* setze in ->Behavior->Windows Titel: auf "leer" damit die Fenster durch "hostname" unterscheidbar werden
label apic
* Verwende Windows->Appearance->Change: "DeJa Vue SAns Mono, 11"
  kernel linux
* ->Connection->Data->Terminal Type String->"linux"
  append initrd=initrd ramdisk_size=65536 apic insmod=e100 install=nfs://192.168.100.1/usr/local/dist/SLES8
* ->Window->Columns->"140"
* ->Window->Rows->"40"
* Speichere Deine Einstellungen durch ->Session->Default Settings->Save


# manual
== Remote X-Login ==
label manual
  kernel linux
  append initrd=initrd ramdisk_size=65536 manual=1


# rescue
* Grafischer Remote Login in den "xfce4"-Desktop oder einen anderen minimalen Desktop, oder in den favorisierten/standardmäsigen Desktop des Servers
label rescue
Bisher keine Lösung
  kernel linux
  append initrd=initrd ramdisk_size=65536 rescue=1


# memory test
=== Ansatz 1 ===
label memtest
  kernel memtest


# hard disk
NX, nomachines (Schlug sowas von fehl!)
label harddisk
  kernel linux
  append SLX=0x202


implicit        0
=== Ansatz 2 ===
display        message
prompt          1
timeout        100


== Festplatte einrichten ==
http://mobaxterm.mobatek.net/


    Also wir machen 3 Partitionen:
(bisher nicht getestet!)


    "boot"  kleine Mini-Partition: damit das booten immer klappt (ext2 oder ext3-Dateisystem)
== Inhaltsverzeichnis ==


    "swap"  mittlere Partition: da werden RAM Speicherbereiche rausgeschrieben,
__TOC__
            um Platz zu machen für wichtigere Daten.
            Grösse= RAM * 2 oder mehr, aber immer größer als das RAM!
    "linux" eigentlicher Betriebssystem Bereich und Anwender und
            Benutzerbereich


    Bei "Festplatte vor ..."
== OpenWrt ==
    den
    [X] Benutzerdefiniert wählen!
    3 Partitionen anlegen:


    0..2      Linux native  (ext2 oder ext3)      mounting-point "/boot"
OpenWrt (http://openwrt.org) ist eine Linux-Distribution mit der Spezialisierung auf Router. Sie ist sehr sehr klein und läuft auf einem TP-Link TL-WR3020. Die Installation läuft über die Standard Weboberfläche des Routers.  
    3..84    Linux swap    -----        ----------------------
    85..5004  Linux native  (!reiserfs!) mounting-point "/"


  2. Platte mal noch offen lassen
[[Linux.OpenWrt]]


== "Standard mit Office" installieren ==
== "Standard mit Office" installieren ==
Zeile 187: Zeile 120:
   "Benutzername usw." (sorry weis nicht mehr genau wann das kommt).
   "Benutzername usw." (sorry weis nicht mehr genau wann das kommt).
   Rechnername: linus
   Rechnername: linus
   pwd für den root (=Administrator im win32 Dialekt) erst mal auch so eingeben
   pwd für root (=Administrator im win32 Dialekt) erst mal auch so eingeben
   pwd: linus
   pwd: linus


   "Monitor ändern"
   "Monitor Ändern"
   EIZO-F56 aber beachten dass die vorgeschlagene Wiederholfrequenz
   EIZO-F56 aber beachten dass die vorgeschlagene Wiederholfrequenz
   herunterkorrigiert wird. etwa 70 Hz-72 Hz, was der jeweilige Monitor
   herunterkorrigiert wird. etwa 70 Hz-72 Hz, was der jeweilige Monitor
Zeile 209: Zeile 142:
   ->ISDN
   ->ISDN
     Euro-ISDN,Deutsch,t-online usw.
     Euro-ISDN,Deutsch,t-online usw.
     Zugangsdaten für den flat bereithalten
     Zugangsdaten f? flat bereithalten
   ->Sound
   ->Sound
     normales Setup->meist auf 100% Lautstärke anpassen, da wir sonst
     normales Setup->meist auf 100% Lautstärke anpassen, da wir sonst
Zeile 237: Zeile 170:
   7.3
   7.3
   ===
   ===
 
   D Personal-Firewall
   D Personal-Firewall
   D SuSE-Firewall
   D SuSE-Firewall
   D ipchains
   D ipchains


== T-DSL, leider muss geschraubt werden. ==
== Netzwerk Verbindung prüfen ==


  (nicht mehr ab SuSE 9.0)
Ein erfolgreicher PING ist Grundlage aller weiteren Forschungen bei Netzwerkproblemen.


   Details auf http://sdb.suse.de/en/sdb/html/cg_pmtu2.html.
   auf einem win32 Rechner jetzt den Linux Server anpingen (per IP, nicht den )
  mehr Details siehe 22)


   a) editiere folgende Datei, (hier z.B. mit KWrite)
   ping 192.168.115.90


    kwrite /etc/ppp/options
Steht die Verbindung, so stellt sich die Frage der Zuverlässigkeit und Geschwindigkeit. Ruhige Momente im Netzwerk sollten genutzt werden, um mit "iperf" die Up/Down Geschwindigkeiten zu ermitteln.


  suche und setze die beiden werte wie angegeben, Ist diese Option durch ein
// auf dem Server
  "#" auskommentiert, den "#" weglöschen und dadurch die Option aktiv machen.
iperf -s


    mtu 1492
// auf dem Client
    mru 1492
iperf -c <ServerHostName> -d


  b) editiere folgende Datei, (hier z.B. mit KWrite)
Das Programm gibts es hier: http://dast.nlanr.net/projects/Iperf/


    kwrite /etc/ppp/peers/pppoe
Beispielhaft habe ich 2 TDSL Verträge ausgemessen. Man sieht ganz deutlich, dass bei gleichzeitiger Nutzung von up und down Stream die Bandbreite zum Teil dramatisch einbricht. Hier scheint besonders die Leitungsqualität eine Rolle zu spielen.


  suche und setze die beiden werte wie angegeben, Ist diese Option durch ein
TDSL 1500 - 84.163.90.168 (raib181)
  "#" auskommentiert, den "#" weglöschen und dadurch die Option aktiv machen.
 
[ ID]  Interval      Transfer    Bandwidth (einzeln)
    mtu 1492
[Down]  0.0-10.4 sec  1.80 MBytes  1.45 Mbits/sec (189 Kbits/sec UP)
    mru 1492
[ ID]  Interval      Transfer    Bandwidth (zeitgleich)
 
[Down]  0.0-13.7 sec  392 KBytes  234 Kbits/sec
== Netzwerk Verbindung prüfen ==
[ Up]  0.0-13.5 sec  296 KBytes  179 Kbits/sec
 
  auf einem win32 Rechner jetzt den Linux Server anpingen (per IP, nicht den )
TDSL 2000 - 84.163.236.231 (raib92)
  mehr Details siehe 22)
 
[ ID]  Interval      Transfer    Bandwidth (einzeln)
  ping 192.168.115.90
[Down]  0.0-10.4 sec  2.41 MBytes  1.95 Mbits/sec (379 Kbits/sec UP)
[ ID]  Interval      Transfer    Bandwidth (zeitgleich)
[Down]  0.0-10.6 sec  2.06 MBytes  1.63 Mbits/sec
[ Up]  0.0-11.1 sec  408 KBytes  302 Kbits/sec


== Netatalk-konfiguration (zugriff auf einen Linux Share via MAC) ==
== Netatalk-konfiguration (zugriff auf einen Linux Share via MAC) ==
Zeile 281: Zeile 218:


   (als (Benutzernamen=)root eingelogged?!)
   (als (Benutzernamen=)root eingelogged?!)
   Adv.Edit (notepad ähnlich) starten (im "StarT"-Menü, Editoren->Advanced Editor)
   Adv.Edit (notepad üblich) starten (im "StarT"-Menü autoren->Advanced Editor)
   a) /etc/rc.config:
   a) /etc/rc.config:
       START_ATALK="no" auf START_ATALK="yes"
       START_ATALK="no" auf START_ATALK="yes"
Zeile 307: Zeile 244:


       nbplkup
       nbplkup
== Einsatz als firebird-raib ==
      8.0
      ===
      raib ist ein RAID 5 Array aus 3 unabhängigen firebird servern und einem Master.
      Zum einsatz kommt ein (selbstgebautes) Server Blade mit 4 Rechnern. Dazu muss
      nach erfolgreicher Installation der Hardware-Scan beim booten (hwscan) deaktiviert
      werden, da diese Rechner ohne Keyboard und Maus laufen. hwscan stoppt sonst
      das Hochfahren und bringt einen Maus-Auswahldialog.
== DVD ist weg - und man muss Software nachinstallieren: ==
  Unter YaSt2, Software, Softwarequelle, eine FTP Quelle anlegen
  Servername: ftp.gwdg.de
  Verzeichnis: pub/linux/suse/ftp.suse.com/suse/i386/9.0
  8.2
  ===
  Verzeichnis: pub/linux/suse/ftp.suse.com/suse/i386/8.2
== Firebird Datenbank Crash? ==
    konkrete Verwendung einzelner Befehle für fix, backup und restore.
    siehe ibreorg.bat in der Anlage. (der ist leider für Win32-DOS-Box!)
    die Befehle müssten auch unter linux so gehen. der Pfad ist aber
    /opt/interbase/bin/gbak ....
    --- snip
    @echo off
    REM -------------------------------------------------
    REM Reparatur einer inkonsistenten FireBird Datenbank
    REM
    REM (c) Andreas Filsinger, www.cargobay.de
    REM -------------------------------------------------
    REM
    REM Usage
    REM
    REM reorg <Pfad und Name der Datenbank OHNE ".gdb">
    REM
    REM --------------------------------------------
    REM
    REM ACHTUNG: richtigen Pfad ermitteln, indem Sie nach der
    REM          Datei gbak.exe suchen lassen. Und hier eintragen:
    REM
    SET IBBIN=D:\programme\borland\interbase\bin\
    REM
    REM --------------------------------------------
    REM 1) fix erros
    REM
    %IBBIN%gfix -mend -full -ignore -user "SYSDBA" -password "masterkey" %1.gdb
    REM --------------------------------------------
    REM 2) backup fixed base
    REM
    %IBBIN%gbak -backup -v -ignore -garbage -user "SYSDBA" -password "masterkey" %1.gdb %1_neu.gbk
    REM --------------------------------------------
    REM 3) restore base
    REM
    REM zusätzlich noch "-i" wenn Indizes deaktiviert werden sollen
    REM
    %IBBIN%gbak -r -v -p 8192 -user "SYSDBA" -password "masterkey" %1_neu.gbk %1_neu.gdb
    REM --------------------------------------------
    REM 4) check new one
    REM
    %IBBIN%gfix -v -f -user "SYSDBA" -password "masterkey" %1_neu.gdb
    REM --------------------------------------------
    --- snap
    Bemerkungen
    ===========
    a) Backup-möglich aber fail beim Restore: wegen inkonsistenter Indizes
    ich habe mal erlebt, das foreign Key nicht mehr konsistent waren, und deshalb
    der restore abgebrochen hat. Alle Indizes kann man jedoch als inaktiv restoren,
    (Option -i )
    nach löschen /clearen der "Schuldigen" kann man alle indizes wieder aktivieren,
    wieder ein backup, wieder ein restore -> alles wieder gut.
    (Sourcecode dazu im HeBuAdmin Projekt)
    damit der HebuAdmin alle indizes sehen kann braucht er "out.txt". Das ist die
    Ausgabe eines erfolgreichen restores, der alle indizes enthält.
    Unter linux gibt man die Ausgabe von gbak mit 2>/freigabe/out.txt in eine Datei
    aus.
    firebird-Erkenntnis
    ===================
    internal gds software consistency check (partner index description not found (175))
    dieser Fehler tritt beim löschen eines Datensatzes auf, der eventuell durch einen
    foreign key einer anderen Tabelle referenziert werden könnte. Ist dieser key
    deactiviert so kann keine Aussage getroffen werden, ob das löschen ok ist, dieser
    interne Fehler ist die Folge!!
== Routing, Masquerading und Firewall ==
      Alle Arbeitsplatz-Rechner sicher und einfach ins InterNet zu bringen
      ist hierbei vorrangiges Ziel.
    a) Skript "myfirewall.sh" (in der Anlage sicherlich aktueller als dieser Snapshot)
      nach /root kopieren.
    --- snip
        # !/bin/bash
        IPTABLES=/usr/sbin/iptables
        DEV_LOC=eth0
        DEV_EXT=ppp0
        DNS_EXT=194.25.2.129
        # for IF in $DEV_LOC $DEV_EXT do
        # Kernelmodule laden
        echo "1" > /proc/sys/net/ipv4/conf/eth0/rp_filter
        echo "0" > /proc/sys/net/ipv4/conf/eth0/accept_redirects
        echo "0" > /proc/sys/net/ipv4/conf/eth0/accept_source_route
        echo "0" > /proc/sys/net/ipv4/conf/eth0/bootp_relay
        echo "1" > /proc/sys/net/ipv4/conf/eth0/log_martians
        echo "1" > /proc/sys/net/ipv4/conf/$DEV_EXT/rp_filter
        echo "0" > /proc/sys/net/ipv4/conf/$DEV_EXT/accept_redirects
        echo "0" > /proc/sys/net/ipv4/conf/$DEV_EXT/accept_source_route
        echo "0" > /proc/sys/net/ipv4/conf/$DEV_EXT/bootp_relay
        echo "1" > /proc/sys/net/ipv4/conf/$DEV_EXT/log_martians
        # done
        echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
        echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
        echo "5" > /proc/sys/net/ipv4/icmp_destunreach_rate
        echo "5" > /proc/sys/net/ipv4/icmp_echoreply_rate
        echo "5" > /proc/sys/net/ipv4/icmp_paramprob_rate
        echo "10" > /proc/sys/net/ipv4/icmp_timeexceed_rate
        # Zu Anfang alles verbieten (Default Policy)
        $IPTABLES -P INPUT ACCEPT
        $IPTABLES -P OUTPUT ACCEPT
        $IPTABLES -P FORWARD ACCEPT
        # Alle Regelketten, die sich noch im Speicher befinden k"nnten, l"schen
        $IPTABLES -F
        $IPTABLES -t nat -F
        $IPTABLES -X
        # Verbindungen fr Testzwecke am eigenen Rechner ber das Loopback. Einige
        # lokale Prozesse wie BIND verwenden das Loopback fr die interne Kommunikation
        $IPTABLES -A OUTPUT -o lo -j ACCEPT
        $IPTABLES -A INPUT -i lo -j ACCEPT
        # Alle externen Verbindungsversuche und ander Merkwrdigkeiten werden hier
        # aufgefangen, im SYSLOG vermerkt und dann unsch„dlich gemacht
        $IPTABLES -N nirwana
        # $IPTABLES -A nirwana -p TCP -j LOG --log-prefix "NIRWANA: TCP "
        # $IPTABLES -A nirwana -p UDP -j LOG --log-prefix "NIRWANA: UDP "
        # $IPTABLES -A nirwana -p ICMP -j LOG --log-prefix "NIRWANA: ICMP "
        # $IPTABLES -A nirwana -p TCP -j DROP
        # Kernelmodule masq und forwarding aktivieren (dyn. IP vom Provider)
        echo "1" > /proc/sys/net/ipv4/ip_dynaddr
        echo "1" > /proc/sys/net/ipv4/ip_forward
        $IPTABLES -t nat -A POSTROUTING -o $DEV_EXT -j MASQUERADE
        $IPTABLES -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
        # Für alle bestehenden ein- und ausgehenden Verbindungen. Dritte Regel
        # verhindert alle Verbindungen die Auáen kommen
        $IPTABLES -A FORWARD -i $DEV_LOC -o $DEV_EXT -m state --state ESTABLISHED,RELATED -j ACCEPT
        $IPTABLES -A FORWARD -i $DEV_EXT -o $DEV_LOC -m state --state ESTABLISHED,RELATED -j ACCEPT
        # $IPTABLES -A FORWARD -i $DEV_EXT -o $DEV_LOC -m state --state NEW,INVALID -j nirwana
        # Zugriff auf internen WEB-Server
        # $IPTABLES -A PREROUTING -t nat -p tcp -i $DEV_EXT --dport 80 -j DNAT --to 192.168.115.8:80
        $IPTABLES -t nat -A PREROUTING -i $DEV_EXT -p tcp --dport 80 -j DNAT --to 192.168.115.8:80
        $IPTABLES -t nat -A PREROUTING -i $DEV_EXT -p tcp --dport 5900 -j DNAT --to 192.168.115.1:5900
        # WinMx auf fred!
        $IPTABLES -t nat -A PREROUTING -i $DEV_EXT -p tcp --dport 6699 -j DNAT --to 192.168.115.3:6699
        $IPTABLES -t nat -A PREROUTING -i $DEV_EXT -p udp --dport 6257 -j DNAT --to 192.168.115.3:6257
        # Ping ins Internet erlauben, eingehende werden von der NIRWANA-Rule abgefangen
        $IPTABLES -A FORWARD -o $DEV_EXT -p ICMP --icmp-type echo-request -j ACCEPT
        # DNS
        $IPTABLES -A FORWARD -o $DEV_EXT -p tcp --sport 1024:65535 --dport domain -d $DNS_EXT -m state --state NEW -j ACCEPT
        # HTTP
        $IPTABLES -A FORWARD -o $DEV_EXT -p tcp --sport 1024:65535 --dport http -m state --state NEW -j ACCEPT
        # $IPTABLES -A FORWARD -o $DEV_EXT -p tcp --sport 1024:65535 --dport https -m state --state NEW -j ACCEPT
        # FTP
        # $IPTABLES -A FORWARD -o $DEV_EXT -p tcp --sport 1024:65535 --dport ftp -m state --state NEW -j ACCEPT
        # $IPTABLES -A FORWARD -o $DEV_EXT -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW -j ACCEPT
        # Alle Pakete, die bis hierher kommen nach nirwana
        $IPTABLES -A INPUT -j nirwana
        $IPTABLES -A OUTPUT -j nirwana
        $IPTABLES -A FORWARD -j nirwana
    --- snap
__zukünfiges thema: lokales umlenken lokaler Port traffics. Z.b. aller verkehr aus dem Internet
    soll umgeleitet werden von "80" auf "8080".
        iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j REDIRECT \
        --to-ports 8080
        iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner \! --uid-owner 13 \
        -j REDIRECT --to-ports 8080
        Should work. I tested it on my own firewall, although I just tested it
        with netcat, not a real proxy.
        Locally generated packets don't go through the PREROUTING chain, so you
        have to manipulate them in OUTPUT, and you also have to differentiate
        them from the proxy's outgoing packets, hence the match against uid 13
        (proxy), taken from /etc/passwd.
        Unfortunately, you'll have to enable owner match support in your kernel
        for the second line to work, so you might have to recompile (it's one of
        the features labelled experimental).
          Jason
__zukünfiges thema: Bandbreiten verteilung: siehe artikel in c't 01/03. Kommt aber
    sicher stablier ab "suse 8.2", das es kernel >2.4.19 erfordert.
    b) mit
      chmod 755 /root/myfirewall.sh
      macht man dieses Script ausführbar. Nun starten ...
      /root/myfirewall.sh
    c) Automatischer Start der Firewall beim booten ...
      Als root einloggen und folgende Zeilen eingeben:
      ln -s /root/myfirewall.sh /etc/init.d/rc2.d/S30myfirewall <RETURN>
      ln -s /root/myfirewall.sh /etc/init.d/rc3.d/S30myfirewall <RETURN>
      ln -s /root/myfirewall.sh /etc/init.d/rc5.d/S30myfirewall <RETURN>
      fehlt noch: "K" links, myfirewall sollte echtes Script werden, das
                  "start" und "stop" auswerten kann.
    d) Eintrag in /etc/rc.config ändern: IP_FORWARD="no" auf "yes"
      Eintrag wirksam machen mit SuSEconfig
== lokaler SMTP Forwarder ==
  * win32 outlook express clients sollen bei der email-Konten-Einstellung den
    Eintrag "smtp-Server:" von dem "wirklichen" Server auf die IP des Linux-Servers
    umstellen können. POP Eintrag MUSS bleiben.
  * Der Linux Server muss ausgehende Mails mit 100 MBit/s annehmen, und
    lokal zwischenspeichern.
  * Der smtp Dienst von Linux muss eine autentifizierung des Users verlangen.
    (wie bei heutigen smtps üblich, mit dem gleichen Konto/pwd wie für pop3)
  * Der Linux Server sollte als "relay" fungieren, und die mail somit völlig
    unangetastet lassen.
  * Durch die Identifizierung mit dem smtp "Konto-Name" muss der Linux Server
    ermitteln (in einer config-Datei) wer der wirkliche smtp Server im Internet
    ist. Der Server muss nun (in aller Ruhe) dafür sorgen dass die Mail zugestellt
    wird. Es sollte kein "fester" relay-smtp für "alle" email-Konten benutzt werden.
  ---------------------------------------------------------------------------------------
  Aufsetzen des Mailservers postfix
  ---------------------------------------------------------------------------------------
  Andre Wolff 24.4.2003
  ---------------------------------------------------------------------------------------
  ---------------
  1. Installation
  ---------------
  Postfix wird bei der Version 8.2 standardmäßig installiert. Zur Überprüfung, ob postfix
  installiert und aktiv ist, wie folgt vorgehen:
          - Aufrufen des YAST2-Kontrollzentrum
          - Auswahl System
          - Den Runlevel-Editor starten
          - Auf "Runlevel-Eigenschaften..." klicken
  In der nun angezeigten Liste sollte ein Eintrag postfix vorhanden sein. Ist dieser als aktiv
  gekennzeichnet und für die Runlevels 3 und 5 konfiguriert, ist alles Ok. Sollte der Eintrag
  postfix nicht vorhanden sein, muß das Programm evtl. nachinstalliert werden:
          - Runlevel-Editor ggf. wieder beenden
          - Aus dem YAST2-Kontrollzentrum "Software" auswählen
          - Auswahl "Software installieren oder löschen"
          - Im Kombinationsfeld Filter den Eintrag "Suche" auswählen und im Suchfeld
            postfix eingeben und auf die Schaltfläche "Suche" klicken
          - in der Paketliste postfix auswählen und auf Schaltfläche "Akzeptieren" klicken
  ----------------
  2. Konfiguration
  ----------------
  Da SuSE versucht alle wichtigen Programme direkt aus YAST oder YAST2 heraus automatisch
  zu konfigurieren, wir aber das Mail-System unseren Bedürfnissen explizit anpassen wollen,
  muß die automatische Konfiguration für postfix abgeschaltet werden:
          - Im YAST2-Kontrollzentrum "System|Editor für /etc/sysconfig-Dateien" auswählen
          - Dann Auswahl "Network|Mail|General"
          - Ändern des Eintrages "MAIL_CREATE_CONFIG" von yes auf no und Sysconfig-Editor
            beenden
  Datei "main.cf" anpassen
  Datei /etc/postfix/main.cf mit einem Editor öffnen. Die Einträge wie folgt ändern
  oder das '#'-Zeichen entfernen :
          myhostname = smtp.hebu.de
          mydomain = hebu.de
          mynetworks = 192.168.100.0/24,127.0.0.0/8
          smtpd_banner  = $myhostname ESMTP
          relay_domains = $mydestination, <dom1>, <dom2>, ...
  Anpassen des Firewall-Skriptes
  Eintrag in /root/fwdsl.start nach dem Eintrag "Samba aus dem internen Netz":
  #--------------------------------------------------------------------------------
  # E-Mail zum relayen
  $IPTABLES -A INPUT  -i $DEV_INT  -s $INT_NET -p TCP --sport $HIGH_PORT --dport 25 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  $IPTABLES -A INPUT  -i $DEV_INT  -s $INT_NET -p TCP --sport 25 --dport 25 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  $IPTABLES -A OUTPUT -o $DEV_ISDN -p TCP --sport $HIGH_PORT --dport 25 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  $IPTABLES -A OUTPUT -o $DEV_ISDN -p TCP --sport 25 --dport 25 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  ---------------------------------------------------------------------------------
  Folgende Erweiterung für DNS eintragen
  #--------------------------------------------------------------------------------
  $IPTABLES -A OUTPUT -o $DEV_ISDN -m state --state NEW -p UDP --sport $HIGH_PORT  --dport domain -j ACCEPT
  $IPTABLES -A OUTPUT -o $DEV_ISDN -m state --state NEW -p TCP --sport $HIGH_PORT  --dport domain -j ACCEPT
  #--------------------------------------------------------------------------------
  Bei den E-Mail-Clients muß nun der neue SMTP-Server eingetragen werden.
  Bei Outlook und Outlook-Express unter "Extras|Konten" die Registerkarte "E-Mail" auswählen.
  Dann mit einem Doppelklick die Eigenschaften des gewünschte Mailkontos öffnen. Auf der
  Registerkarte Server bei "Postausgang (SMTP)" die IP-Adresse des neuen Mail-Relays
  eintragen.
== Bandbreiten Management ==
Hier: Der eMail-Ausgangsstrom soll uns nicht die Bandbreite des Web-Shop mindern.
  * Noch nicht Teil dieses Budgets - aber bitte im Hinterkopf behalten: Durch Einträge
    mit Hilfe von iptabels kann ab Kernel 2.4.20 die bandbreite gewisser dienste
    vorbestimmt werden. Ich suche mal den Artikel in der c't. Wir starten, wenn
    Suse 8.2 bei mir vorliegt (ist vorbestellt!)
== lokaler DNS Forwarder ==
    * DNS-Adressen wechseln ganz im Gegensatz zu HTML-Inhalten nicht so
      häufig. Deshalb will ich keinen vollständigen Proxy einsetzten. Aber ich
      will nicht, dass jede (wiederholte) DNS Anfrage ins INternet rausgepustet
      wird! Bis sich alle Datenbanken weltweit angeglichen haben kann schon mal
      ein halber Tag vergehen, also können wir auch guten gewissens DNS anfragen
      cache, etwa mit einer Haltbarkeit der cache inhalte von 10 min ?!. Deshalb
      ist ein Caching unbedenklich, und auch be-sonders lohnend, da einige UDP/TCP
      Verbindungsaufbau-Vorgänge lokal abgewickelt werden können!
    * Die Idee liegt nahe, hey man könnte den Linux-Server doch auch als
      Name-Server (DNS-relay) einsetzen. Egal welcher Provider dann angewählt ist
      (=welcher nameserver auch immer angegeben werden muss) der lokale DNS-Server
      leitet alle Anfragen immer  an die richtige Adresse (nämlich an den Nameserver
      draussen im INternet) weiter. Wie die jeweiligen namenserver heissen steht ja
      in der /etc/resolv.conf. Die Clients müssen nix mehr umstellen (im Feld
      Nameserver)! Gateway UND Nameserver haben dann die gleiche Zieladresse.
      Adresse
Zuerst werden die Pakete [bind9] aus der Serie [n] sowie die [bind9-utils]
installiert und in Yast2 im "Runlevel-Editor" - "Runlevel eigenschaften"
Named auf "start" gesetzt.
Danach in der Datei "/etc/named.conf" folgende, mit den Pfeilen markierten
Anpassungen eintragen:
-------------------------------------------------------------------------
      options {
        ->    auth-nxdomain no;
              # The directory statement defines the name server's
              # working directory
              directory "/var/named";
              # The forwarders record contains a list of servers to
              # which queries should be forwarded. Enable this line and
              # modify the IP-address to your provider's name server.
              # Up to three servers may be listed.
              # forwarders { 10.11.12.13; 10.11.12.14; };
      ->    forwarders { 194.25.2.129; 212.185.248.148; };
              # Enable the next entry to prefer usage of the name
              # server declared in the forwarders section.
      ->    forward first;
              # The listen-on record contains a list of local network
              # interfaces to listen on. Optionally the port can be
              # specified. Default is to listen on all interfaces found
              # on your system. The default port is 53.
              # listen-on port 53 { 127.0.0.1; };
              # The listen-on-v6 record enables or disables listening
              # on IPV6 interfaces. Allowed values are 'any' and 'none'
              # or a list of addresses. IPv6 can only be used with
              # kernel 2.4 in this release.
              listen-on-v6 { any; };
              # The next three statements may be needed if a firewall
              # stands between the local server and the internet.
              # query-source address * port 53;
              # transfer-source * port 53;
              # notify-source * port 53;
          # The allow-query record contains a list of networks or
          # IP-addresses to accept and deny queries from. The
          # default is to allow queries from all hosts.
          # allow-query { 127.0.0.1; };
          # If notify is set to yes (default), notify messages are
          # sent to other name servers when the the zone data is
          # changed. Instead of setting a global 'notify' statement
        # in the 'options' section, a separate 'notify' can be
        # added to each zone definition.
        notify no;
      };
  # The following three zone definitions don't need any modification.
  # The first one defines localhost while the second defines the
  # reverse lookup for localhost. The last zone "." is the
  # definition of the root name servers.
  zone "localhost" in {
        type master;
        file "localhost.zone";
  };
  zone "0.0.127.in-addr.arpa" in {
        type master;
        file "127.0.0.zone";
  };
  zone "." in {
        type hint;
        file "root.hint";
  };
  # You can insert further zone records for your own domains below.
  ---------------------------------------------------------------------
Jetzt ist noch in der Datei "/etc/resolv.conf" anzugeben, dass man zur
Namensauflösung den lokalen DNS-Server benutzt.
------------------------------------------------------------------------
    search
    nameserver 127.0.0.1
------------------------------------------------------------------------
Damit die "/etc/resolv.conf" nicht bei jeder Einwahl wieder überschrieben
wird muss der Parameter "MODIFY_RESOLV_CONF_DYNAMICALLY" in der Datei
"/etc/sysconfig/network/config" auf "no" gesetzt werden. Um aber bei Änderungen
an der DNS Konfiguration des Providers nicht vor der Tür zu stehen sollte in
der gleichen Datei die Option "MODIFY_NAMED_CONF_DYNAMICALLY" auf "yes" gesetzt
werden. Dadurch werden die "forwarders" in der"/etc/named.conf" bei jeder
Einwahl aktualisiert.
Nun müssen die neuen Gegebenheiten der Firewall mitgeteilt werden. Folgende
Zeilen werden im Script "/root/fwdsl.start" nach der Sektion
"# E-Mail zum relayen"
hinzugefügt.
  --------------------------------------------------------------------------------
  # DNS-Forwarding
    $IPTABLES -A INPUT  -i $DEV_INT  -s $INT_NET -p TCP --sport $HIGH_PORT --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j
    $IPTABLES -A INPUT  -i $DEV_INT  -s $INT_NET -p UDP --sport $HIGH_PORT --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j
    $IPTABLES -A OUTPUT -o $DEV_ISDN -p TCP --sport $HIGH_PORT --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A OUTPUT -o $DEV_ISDN -p UDP --sport $HIGH_PORT --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  ------------------------------------------------------------------------
  Zum Abschluß werden auf den Windows-Clients in den Netzwerkeinstellungen bei den
  TCP/IP-Eigenschaften unter Gateway und DNS die IP-Adresse des LINUX-Servers
  angegeben.


== Fernwartung einiger Rechner im Netz von aussen via InterNet via VNC ==
== Fernwartung einiger Rechner im Netz von aussen via InterNet via VNC ==


     (beide Systeme (Zielsystem & Remotesystem) müssen eigentlich nur im InterNet
     (beide Systeme (Zielsystem & Remotesystem) müsste eigentlich nur im InterNet
     sein! Der eine z.B. via ISDN, der andere z.B. via DSL, super natürlich: beide via DSL)
     sein! Der eine z.B. via ISDN, der andere z.B. via DSL, super natürlich: beide via DSL)


     auf jedem Win32-Ziel-Rechner installiert man den VNC-Server:
     auf jedem Win32-Ziel-Rechner installiert man den VNC-Server:
     (freier download unter www.tightvnc.com) Das myfirewall-Script muss
     (freier download unter www.tightvnc.com) Das myfirewall-Script muss
     für je einen Rechner um eine Script-Zeile erweitert werden.
     für einen Rechner um eine Script-Zeile erweitert werden.


     Es gibt auch einen Viewer(Client) für den MAC
     Es gibt auch einen Viewer(Client) für MAC
     http://sourceforge.net/projects/cotvnc/
     http://sourceforge.net/projects/cotvnc/


Zeile 838: Zeile 261:
     # VNC für Fred, Displaynummer=1
     # VNC für Fred, Displaynummer=1
     $IPTABLES -A PREROUTING -t nat -p tcp -i $DEV_EXT --dport 5901 -j DNAT --to 192.168.115.3:5900
     $IPTABLES -A PREROUTING -t nat -p tcp -i $DEV_EXT --dport 5901 -j DNAT --to 192.168.115.3:5900
     # VNC für joe
     # VNC für Host 8
     $IPTABLES -A PREROUTING -t nat -p tcp -i $DEV_EXT --dport 5902 -j DNAT --to 192.168.115.8:5900
     $IPTABLES -A PREROUTING -t nat -p tcp -i $DEV_EXT --dport 5902 -j DNAT --to 192.168.115.8:5900
     # usw. ...
     # usw. ...
Zeile 845: Zeile 268:
     Adresse im InterNet (Rechter Mausklick auf die HomePage, Quelltext anzeigen, IP-Adresse
     Adresse im InterNet (Rechter Mausklick auf die HomePage, Quelltext anzeigen, IP-Adresse
     rauskopieren). Beim einloggen gibt man neben der (aktuellen) IP die Displaynummer an, also
     rauskopieren). Beim einloggen gibt man neben der (aktuellen) IP die Displaynummer an, also
     217.217.20.118:1 (für z.B. fred) und das passwort wie immer. ACHTUNG: immer auf beiden
     217.217.20.118:1 (für. fred) und das passwort wie immer. ACHTUNG: immer auf beiden
     Seiten 16 bit farben (= High-Color) verwenden! Den Rechner, den man fernwarten will:
     Seiten 16 bit farben (= High-Color) verwenden! Den Rechner, den man fernwarten will:
     sollte ganz ganz schnell sein (ich meine das ernst), und ne super schnelle 2D Grafikkarte
     sollte ganz ganz schnell sein (ich meine das ernst), und ne super schnelle 2D Grafikkarte
     haben (z.B. Matrox G450). Der Rechner mit dem man fernwarten will: Der dreht leider eigentlich
     haben (z.B. Matrox G450). Der Rechner mit dem man fernwarten will: Der dreht  
     (fast) immer Däumchen, der kann ruhig alt und schwach sein!!! Hier sollte nur eine gute Anbindung
    leider eigentlich
    ans Internet sichergestellt werden! Hilfreich: etwas größere Auslösung wie das Ziel-System, aber
     (fast) immer Däumchen, der kann ruhig alt und schwach sein!!! Hier sollte  
    nur eine gute Anbindung ans Internet sichergestellt werden! Hilfreich:
    etwas größere Auflösung wie das Ziel-System, aber
     auch High-Color! Wichtig: Passwörter möglichst >8 Zeichen.
     auch High-Color! Wichtig: Passwörter möglichst >8 Zeichen.


     VNC - Remote Control des Servers mit Hilfe von z.B. einer Windows-Maschine.
     VNC - Remote Control des Servers mit Hilfe von z.B. einer Windows-Maschine.
     Für Leute, die nicht in den Serverraum laufen möchten, oder kein Geld mehr
     Für geräte, die nicht in den Serverraum laufen müssen, oder kein Geld mehr
     für einen Monitor am Linux-Rechner haben, weil das Betriebssystem so teuer war ;-)
     für einen Monitor am Linux-Rechner haben, weil das Betriebssystem so teuer war ;-)


Zeile 870: Zeile 295:
     ========
     ========


     Damit der VNC- Server beim booten allein gestartet wird, genügt ein Eintrag in /etc/rc.d/rc.
     Damit der VNC- Server beim booten allein gestartet wird, genügen Eintrag in /etc/rc.d/rc.
     Die Zeile, die ganz unten (Suse 8.0: vor "exit 0") ergänzt werden muß lautet:
     Die Zeile, die ganz unten (Suse 8.0: vor "exit 0") ergänzt werden muss lautet:


                   su -l root -c "vncserver -cc 3 :1 -alwaysshared"
                   su -l root -c "vncserver -cc 3 :1 -alwaysshared"
Zeile 890: Zeile 315:
     ========
     ========


     YaST2 / System / Editor für /etc/sysconfig-Dateien / Desktop / Display Manager:
     YaST2 / System / Editor f?c/sysconfig-Dateien / Desktop / Display Manager:
     Die Variable DisplayManager_Remote_Access auf yes setzen.
     Die Variable DisplayManager_Remote_Access auf yes setzen.
     Auf der Konsole rcxdm restart eingeben.
     Auf der Konsole rcxdm restart eingeben.
Zeile 900: Zeile 325:


     Wer auf der Client-Seite nicht im Webbrowser arbeiten will, benutzt den VNCViewer.
     Wer auf der Client-Seite nicht im Webbrowser arbeiten will, benutzt den VNCViewer.
     Für diese Anwendung lautet nun der angefragte Hostname "Vncserver-Rechner:10"
     F?se Anwendung lautet nun der angefragte Hostname "Vncserver-Rechner:10"
     oder "Vncserver-Rechner:11", auch wieder mit IP-Adresse des Zielsystems möglich,
     oder "Vncserver-Rechner:11", auch wieder mit IP-Adresse des Zielsystems möglich,
     z.B. 192.168.115.93:10.
     z.B. 192.168.115.93:10.
== WIN32-Clients nutzen die Zeit des Linux-Rechner ==
    net time \\<IP-Adresse des Linux Servers>
  ev. kleiner Batch schreiben, der beim Login immer ausgeführt
  wird.
== WIN32- Clients einrichten ==
      Windows 2000(W2K) XP
      a) Standard-Gateway (wegen Internetnutzung)
      Start->Einstellungen(Systemsteuerung)->Netzwerk- und DFÜ-Verbindungen->LAN Verbindung->
      Eigensxhaften->Internetverbindungen(TCP/IP)->Eigenschaften->
      Standardgateway: IP des Servers
      Bevorzugter DNS-Server: IP des Servers
      b) WINS Support einschalten (wegen keepcon-Namensauflösung)
      Start->Systemsteuerung->Netzwerkverbindungen->lan-verbindung(rechter
      mausklick)->eigenschaften->internetprotokoll(tcp/ip)->Eigentschaften->Erweit
      ert->WINS->Hinzufügen->IP des Servers eintragen.->ok->ok->schliessen.
      Unverträglichkeit mit AVM KEN!
      AVM KEN Klient "InterNet" Installation auf dem Arbeitsplatz, der via Linux ins Internet will:  nicht erlaubt
      AVM KEN Klient irgendwo auf anderen Arbeitsplatz im selben Netz: erlaubt
      AVM KEN Server irgendwo im Netz: erlaubt
      «fehlt(2)»:
      AVM KEN! Klient als reines "CAPI - Sharing" das müsste doch gehen? Oder?
      -> prüfen! (manche wollen weiterhin über den KEN!-Server faxen!)


== Eine andere Linux-Maschine will ins Internet ==
== Eine andere Linux-Maschine will ins Internet ==
Zeile 944: Zeile 335:


== Kernel Updates ==
== Kernel Updates ==
    (es soll niemand mehr sagen das sei schwierig!)


     nur für Suse 7.2 notwendig, (HISTORISCH - NICHT NOTWENDIG AB 7.3):
(es soll niemand mehr sagen das sei schwierig!)
 
     nur für release 7.2 notwendig, (HISTORISCH - NICHT NOTWENDIG AB 7.3):


     Einspielen des Kernels 2.4.7
     Einspielen des Kernels 2.4.7


     Dies ist notwendig, da masquerading irgend einen Bug hat. Auch hat sich das
     Dies ist notwendig, da masquerading irgend einen Bug hat. Auch hat sich das
     einspielen als sehr heilsam für das ganze System herausgestellt. (Auch TDSL!)
     einspielen als sehr heilsam für ganze System herausgestellt. (Auch TDSL!)


     downloaden des Kernels (als rpm) von
     downloaden des Kernels (als rpm) von
Zeile 961: Zeile 353:
     Quelle (nun den obigen rpm lokalisieren)
     Quelle (nun den obigen rpm lokalisieren)
     markieren mit Leertaste, damit installiert wird
     markieren mit Leertaste, damit installiert wird
     <F10> zum Installieren drücken
     <F10> zum Installieren drücken   YaST beenden, ein cleanup wird durchgeführt  
    YaST beenden, ein cleanup wird durchgeführt
   
     mk_initrd <ENTER>
     mk_initrd <ENTER>
     lilo <ENTER>
     lilo <ENTER>
     -> system neu booten!!!
     -> system neu booten!!!


== Win32-Kiste: Der Apache-Web Server ==
== root passwort verloren ==
 
    dieses Kapitel gehört eigentlich nicht hier herein - aber es hat mit dem
    Routing zu tun, so dass es doch die Linux Installation überhaupt erst ver-
    ständlich macht! Anforderung: Kommt eine http:/ Anfrage aus dem Internet
    auf den Linux Rechner zu (auf Port 80) muss er diese Anfrage auf einen
    anderen Rechner im Netz routen (sorry auf eine win32-Kiste). Dieser hat eine
    feste IP-Adresse in lokalen Netz. Es ist ein Windows 2000 Rechner mit Apache
    Web Server installiert. Die Anwort geht wieder an den Linux, und dann raus
    ins Internet. Weil wir eine Suchmaschine (in form einer ISAPI-DLL) nur für
    win32 haben, (und dem IIS von Microsoft nicht (mehr) trauen) wird auf win32
    der Apache Web-Server installiert. Der kann wunderbar ISAPI-Dlls ausführen!
    In der Anlage findet man die Apache-Konfiguration: httpd.conf (Die bestehende
    Konfiguration sollte nicht überschrieben werden, sondern nur geänderte Punkte
    eintragen) Die geänderten Punkte sind:
 
    a) von ...
 
        <Directory "D:/Programme/Apache Group/Apache/cgi-bin">
            AllowOverride None
            Options none
            Order allow,deny
            Allow from all
        </Directory>
 
      zu ...
 
        <Directory "D:/Programme/Apache Group/Apache/cgi-bin">
            AllowOverride None
            Options ExecCGI
            Order allow,deny
            Allow from all
        </Directory>
 
    b) von ...
 
        # To use CGI scripts:
        #
        # AddHandler cgi-script .cgi


      zu ...
* baue die Platte aus, oder starte mit knoppix
 
* mounte die Platte
        # To use CGI scripts:
* editiere /etc/shadow und löschen in der Zeile root:xxx:... alles zwischen den ersten beiden Doppelpunkten
        #
* Platte wieder rein
 
* Als root ohne pwd einloggen, danach ein passwort setzen!
        AddHandler cgi-script .cgi
        AddHandler isapi-isa .dll
 
    Ich hatte den apache 1.3.22 installiert!
 
    http://httpd.apache.org/dist/httpd/binaries/win32/apache_1.3.22-win32-x86.exe
 
    in die .\cgi-bin muss die HebuWeb.dll (Delphi Open-Source Projekt auf www.cargobay.de)
    kopiert werden. Die Inhalte des Suchverzeichnisses müssen mal von "williams" beim
    Hebu-Musikverlage gesichert werden. Die DLL enthällt fest Pfadangaben für die
    "Datenbankdateien" diese sollte man noch durch eine ini-Datei festlegen können.
    Der feste Pfad ist im Moment noch "C:\HeBu\"
 
    «fehlt(2)»: HebuWeb.dll durch Ini-Datei configuerierbar machen
 
== Win32-Kiste: AutoStart, AutoLogin von Windows 2000,XP ==
 
    Nach einem Stromausfall sollten natürlich alle Systeme selber wieder hochfahren.
    Mit einem "Login"-Schirm am nächsten morgen ist natürlich niemand geholfen.
 
    1a) Automatischer Benutzer-Login
 
    Zunächst braucht man einen Benutzer mit einem Passwort. Der manuelle Login sollte
    natürlich funktionieren. Nun
 
    mit Start->Ausführen->regedit folgende Einträge anwählen
 
    "HKEY_LOCAL_MACHINE" -> "SOFTWARE" -> "Microsoft" ->
    "Windows NT" -> "CurrentVersion" -> "Winlogon"
 
    AutoAdminLogon:REG_SZ:1
    DefaultPassword:REG_SZ:<das PWD>
    DefaultUserName:REG_SZ:<der Benutzername>
 
    Es kann sein dass es den "DefaultPassword" - "Wert" nicht gibt, dann mit
    "Neu->Zeichenfolge" anlegen (Typ ist String, wie alle Werte).
 
    1b) Nur XP
 
    Art der Anmeldung auf "klassisch" ändern. Start->Systemsteuerung->Benutzer
    verwalten->Art der Anmeldung->obere Option (Willkommensschirm verwenden)->
    deaktivieren!
 
    2) Automatischer Start von RouteIp UND
                                Outlook Express
 
    rechter Mausklick auf Start->Öffnen(alle Benutzer)->Programme->Autostart
 
    in diesen Ordner eine Verknüpfung mit RouteIP (kann aus dem Menü mit rechtem
    Mausklick auf den entsprechenden Menüeintrag & kopieren) erstellen.
 
    in diesen Ordner eine Verknüpfung mit Outlook-Express (kann aus dem Menü mit
    rechtem Mausklick auf den entsprechenden Menüeintrag & kopieren) erstellen.
 
    (kleiner Exkurs: Warum Outlook: Es dient uns als eMail Empfänger auf der
      Apache Server Station. Outlook sollte auf 1 Minütiges Abfragen der Mail
      eingestellt sein, so dass immer eine aufrechterhaltung der Verbindung
      gewährt bleibt!)
 
    3) Automatischer Start von VNCViewer, Apache
 
    dies sollte automatisch erfolgen, wenn beide Programme als Windows 2000 Dienst
    installiert wurden. -> Aber lieber testen!
 
== keepcon, RouteIP.exe, ein kleiner Einstieg ==
 
    Dieses linux / win32 program ermittelt die aktuelle IP Adresse wie unser Server im
    Moment im Internet sichtbar ist, und patched die html-Seiten drausen
    im InterNet, um die aktuelle IP Adresse den surfern draussen unterzujubeln.
    Mehr Infos über RouteIP im InterNet www.cargobay.de**
    Mehr Infos über keepcon im InterNet www.cargobay.de
 
    ** RouteIP wird langfristig durch keepcon ersetzt.
    keepcon siehe "http://www.cargobay.de/keepcon.html"
 
== Die Win32-Clients wollen Plattenplatz auf dem Linux nutzen ... ==
 
    Schritt 0)
 
    (Netzwerkkarte und Verkabelung sind Grundvoraussetzungen, darauf will
    und kann ich nicht eingehen)
 
    Schritt 1) (mache dich sichtbar)
 
    freie IP-Adresse des lokalen Adressraumes (192.168.100.1 .. 192.168.100.254)
    ausdenken, DOKUMENTIEREN in einem Netzwerkplan
    und unter Start->Einstellungen->Systemsteuerung->Netzwerk->Protokolle->TCP/IP->
    Eigenschaften->feste IP->Adresse eingeben (Maske ist immer 255.255.255.0)
 
    Schritt 2) (bist du sichtbar?)
 
    starte eine DOS-Box (Start->Zubehör->Eingabeaufforderung) und pinge den Samba-
    Arbeitgeber im Netz an.
 
    ping 192.168.100.72
 
    bevor hier keine Antwort kommt, braucht man gar nicht weitermachen!
    Nun einen Laufwerksbuchstaben auf den samba-Share mappen:
    Mit dem Windows-Explorer: extras->Netzlaufwerk verbinden
 
    Laufwerk: G:\                          // Dein neues (Netz-)Laufwerk
    Ordner: \\192.168.115.72\user          // (geht also auch ohne Namensauflösungsproblematik)
 
    Tip Netzwerkumgebung: Erwarte niemals, dass in der win32 - "netzwerkumgebung"
                          der Linux-Rechner sichtbar ist, den Du gerade frisch eingebunden
                          hast! Schaue erst in der "netzwerkumgebung" nach, frühestens
                          30 min nachdem eh schon alles geht!
 
== samba & firewall & Windows ==
 
Mit samba 2.2.5 und Windows XP Professional Service Pack 1 machten wir folgende
Beobachtung:
 
      Windows XP Professional zeigt nach eigenem Neustart den samba-share
      als "gestört" an (rotes kleines "X" im Symbol). Der erste Zugriff
      erfolgt im Windows Explorer dann auch nach eine langen Denkpause.
 
      * Umstellen von "security=share" auf "security=user" im smb.conf
        brachte nichts! (incl. der ganzen Arbeit, die damit zusammenhängt
        (User anlegen)).
      * Umstellen der "Richtlinien" wie es die Newsgroups vorgeben brachte
        auch nichts!
 
        Start->Ausführen->gpedit.msc
 
        Computerkonfig->Windows-Einstellungen->Sicherheitseinstellungen->Lokale Richtlininen->
        Sicherheitsoptionen
 
        Microsoft-Netzwerk (client): Unverschlüsseltes Kennwort an SMB-Server von Drittanbietern senden
 
      Idee: ev. alles auf einen echten samba PDC umstellen!
      todo: gpedit.msc mal beschreiben!
 
Die Lösung: der Firewall auf dem samba Server sperrte den Port 445. Dieser ist
            jedoch für die Kommunikation notwendig. Hier die Gesamtbeschreibung
            die ich mit Hilfe von Walter Mautner erstellt habe.
 
  > Eventuell noch Port 445 dazugeben.
 
Walter! Das war die Lösung (freu), Win XP versucht scheinbar vorrangig am
Port 445 rumzuposaunen. Nur wenn ein hartnäckiger User auf den Windows
Explorer einschlägt springt er auf den Port 137ff um!
 
 
Port 53=DNS
Port 1900=
XP's Windows Messenger is attempting to communicate to an Internet host. To block Windows Messenger's broadcasts:
  Hive: HKEY_LOCAL_MACHINE
  Key: Software\Microsoft\DirectPlayNATHelp\DPNHUPnP
  Name: UPnPMode
  Type: REG_DWORD
  Value: 2 disabled
  With UPnPMode=2, Universal Plug and Play Network Address Translation (NAT) traversal discovery does not occur.
 
  (newsgroupbeitrag) "
  Unser Liebling (=Linux-Server) fungiert nicht nur als Samba-Sklave sondern
  auch als DSL-Router. Somit wurde flux eine firewall installiert (auch
  selbstgemacht via iptables).
  Weil wir gerne alles kontrollieren wirkt diese auch auf das intene Netz:
  Pflichtbewust wurden jedoch die smb Ports 136,137,138,445 geöffnet, damit
  die Clients mit samba sprechen können.
 
  Alles ging -- ausser bei Windows XP Prof Clients, diese hatten beim ersten
  Zugriff auf einen Share z.B. im Explorer doppelklick auf den
  Laufwerksbuchstaben eine "Wartezeit" von ca. 8 Sekunden (hey, das ist
  verdammt lange). Danach war alles in Butter. Bis zu dem Moment, wo etwa 15
  Minuten kein Zugriff auf diesen Share auf diesem Client erfolgte (oder
  sofort nach einem Neustart des Clients). Danach wieder diese Denkpause.
 
  Die Lösung war: XP Prof SP1 versucht eine Kontaktaufnahme mit dem
  Samba-Server auf Port 80 (in Worten !achtzig!). Wir hatten das als "Angriff"
  aus dem internen Netz gewertet und geDROPed. (Auf port 80 haben wir keinen
  dienst auf unserem Server!). Bis XP gemerkt hatte, dass auf port 80 nix
  geht, machte es einen Kurzschlaf (eben diese 8 Sekunden). Jetzt, nachdem wir
  (grmpf!) halt Port 80 geöffnet haben geht alles ohne Zeitverzögerung.
  Unnötig zu sagen das dieses Verhalten ausschließlich XP hat!
  "
 
  (newsgroupbeitrag) "
  einen DROP zu machen war wirklich gemein. Zumal man ja im internen
  Netz nicht unbedingt "Paket-Antwort-Bandbreite" sparen muss.
 
  http://www.pl-forum.de/t_netzwerk/iptables.html
 
  [ ...
 
  * DROP: Paket vernichten, keine Benachrichtigung des Absenders.
 
  * REJECT: Ähnlich DROP wird das Paket abgewiesen, jedoch erhält der Absender
  eine Antwort auf das Paket.
 
  ... ]
 
  -> bleibt die Frage? Was will XP am Port 80?
  "
 
Beim Verbindungsversuch vom Windows XP Explorer zum Samba-Server ist mir aufgefallen, daß der XP-Client über den Port
1039 bzw 1040 eine Verbindung zum Port 80 des Linux-Servers aufzubauen versucht (sichtbar gemacht mit
tail -f /var/log/messages auf der Linux-Box. Hier werden die Drops, die der Kernel verursacht, protokolliert). Nach
Öffnen des Ports 80 für Pakete vom internen Netz gab es keine Wartezeiten beim Verbindungsaufbau mehr.
 
Im folgenden ein Auszug aus dem aktuellen Firewall-Skript. Dabei sind die letzten beiden Zeilen von Bedeutung.
 
Das passende firewall Script Auszug.
 
 
# --------------------------------------------------------------------------------
# Samba aus dem internen Netz
 
$IPTABLES -A INPUT  -i $DEV_INT -s $INT_NET -p UDP --sport 135 --dport 135 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -o $DEV_INT -d $INT_NET -p UDP --sport 135 --dport 135 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT  -i $DEV_INT -s $INT_NET -p UDP --sport 137 --dport 137 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -o $DEV_INT -d $INT_NET -p UDP --sport 137 --dport 137 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT  -i $DEV_INT -s $INT_NET -p UDP --sport 138 --dport 138 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -o $DEV_INT -d $INT_NET -p UDP --sport 138 --dport 138 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT  -i $DEV_INT -s $INT_NET -p UDP --sport 445 --dport 445 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -o $DEV_INT -d $INT_NET -p UDP --sport 445 --dport 445 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
 
 
$IPTABLES -A INPUT  -i $DEV_INT -s $INT_NET -p TCP --sport $HIGH_PORT --dport 135 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -o $DEV_INT -d $INT_NET -p TCP --sport 135 --dport $HIGH_PORT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT  -i $DEV_INT -s $INT_NET -p TCP --sport $HIGH_PORT --dport 139 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -o $DEV_INT -d $INT_NET -p TCP --sport 139 --dport $HIGH_PORT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT  -i $DEV_INT -s $INT_NET -p TCP --sport $HIGH_PORT --dport 445 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -o $DEV_INT -d $INT_NET -p TCP --sport 445 --dport $HIGH_PORT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
 
# XP-Explorer versucht Verbindung von HIGH_PORT auf port 80 des Linux-Servers! Warum?!?
$IPTABLES -A INPUT  -i $DEV_INT -s $INT_NET -p TCP --sport $HIGH_PORT --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -o $DEV_INT -d $INT_NET -p TCP --sport 80 --dport $HIGH_PORT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
 
# --------------------------------------------------------------------------------
 
Die passenden Ports in der Zusammenfassung
 
  netbios-ns      137/udp    # NETBIOS Name Service
  netbios-dgm    138/udp    # NETBIOS Datagram Service
  netbios-ssn    139/tcp    # NETBIOS Session Service
  microsoft-ds    445/udp    # Direct-Hosted Service
  microsoft-ds    445/tcp    # Direct-Hosted Service
  http            80/tcp    www www-http          # World Wide Web
                                                  # nur bei XP Clients notwendig
 
---------------------------------------------------------
* ES FOLGT DER REVISION INFO TEIL IM FORMAT
*  Rev x.xxx ([ "vonDatum" "-" ] "bisDatum") <DeinName>
---------------------------------------------------------


== ATX-Netzteile ==
== ATX-Netzteile ==
Zeile 1.274: Zeile 383:


   1) Das ATX-Netzteil besitzt einen breiten Spannungsstecker, der im Main-
   1) Das ATX-Netzteil besitzt einen breiten Spannungsstecker, der im Main-
       board steckt. Hier ist das !grüne Kabel! (von dem es nur eines gibt) ca.
       board steckt. Hier ist das !grüne kabel! (von dem es nur eines gibt) ca.
       1 cm oberhalb des Steckers abzuschneiden (1cm deshalb, damit man ggf.
       1 cm oberhalb des Steckers abzuschneiden (1cm deshalb, damit man ggf.
       die alte Funktion wieder herstellen kan).
       die alte Funktion wieder herstellen kan).
Zeile 1.282: Zeile 391:
       ab dem Netzteilaustritt freiliegen. Nun beide abisolieren, und die
       ab dem Netzteilaustritt freiliegen. Nun beide abisolieren, und die
       blanken Ende "verzwirblen". Mit Isolierband die blanke Stelle isolieren
       blanken Ende "verzwirblen". Mit Isolierband die blanke Stelle isolieren
       und das neue Kabelpaar schön an vorhandene Kabelstränge mit Kabelbinder
       und das neue Kabelpaar mit den schon vorhandenen Kabelsträngen mit Kabelbinder
       fixieren.
       fixieren.


Zeile 1.288: Zeile 397:
           dies durch das Board signalisiert wird oder nicht.
           dies durch das Board signalisiert wird oder nicht.


== USB Devices (Memory, Flash, MP3 Player) unter Linux ==
== Snapper entfernen ==
 
Nach reinstecken des SONY Microfault 32 MByte Sticks ging erst mal nix. Ich sah zwar, dass das LED
des Memory Sticks vertraut blinkte. Doch bekam ich keinen Zugriff. Ich musste
 
md /root/usb
mount -t vfat /dev/sda /root/usb
 
eingeben. Sofort waren die Dateien in /root/usb/ sichtbar. Ich speicherte was drauf mit
"cp". Zog den Stick raus: Wieder eine Enttäuschung: auf dem Win XP war die Datei nicht
sichtbar. Also wurde die Datei nicht wirklich geschrieben (HEUL!)? Also versuchte
ich vor dem Rausziehen beim nächsten mal unzumounten.
 
umount /dev/sda
 
(soviel zu Thema hotplug!) OK, das ging dann. Mein Wunsch war, beim Einsetzen des
USB-Sticks das Lied darauf (.mp3) abzuspielen. In meiner Naivität plazierte ich einfach
ein Script Namens /etc/hotplug/usb/usbfs. Es passierte natürlich nichts. grmpf!


In fstab habe ich aber eine Zeile eingetragen, die mir das USB-Device auf den Desktop
* Snapper hat mir schon 2 mal das Dateisystem voll gemacht -> Schädling -> muss weg!!
gezaubert hat (was mir nix bringt!). Mein Spieltrieb animierte mich durch umount das
** <code>zypper rm snapper-zypp-plugin</code>
device auszuhängen. Das Desktop Symbol blieb - es lies sich auch fehlerfrei anklicken,
** <code>rm /etc/cron.hourly/suse.de-snapper</code>
was einen Mount verursachte!
** <code>rm /etc/cron.daily/suse.de-snapper</code>


Also ein Script via hotplug zu starten wenn der usb reingeteckt wird gebe ich
Dennoch legt snapper bei "yast update" snaps an: Ich hasse BTRFS!!!
hiermit auf!

Aktuelle Version vom 20. November 2024, 20:14 Uhr

Zur Verwendung des OrgaMon im Netzwerk, (also mit mehreren Arbeitsplätzen) sollte ein Linux-Server mit OpenSuSE eingesetzt werden.

Alternativ gibt es auch CentOs Linux.CentOS
Für Router eignet sich OpenWrt Linux.OpenWrt


Diese Dokumentation beschreibt viele Apsekte dieses mächtigen Serverbetriebssystems im Zusammenspiel mit OrgaMon. Der Server stellt dann Dateiablage-Platz (via Samba) und einen Datenbankserver-Dienst (via Firebird) zur Verfügung, des weiteren sorgt er sich um eine zuverlässige, dauerhafte InterNet-Verbindung und Namensauflösung. Der Linux-Server betreibt den WebShop und sorgt für die korrekte Zeit im ganzen Netz.

Der Umgang mit einem Linux System


(bash) die wichtigsten Befehle
(autostart) Autostart deiner Dienste
(pmagic) Plattentausch
(beep) Server, sag mal Piep!
System Performance messen
Manueller Mount
Start Umfang
Swap

Die wichtigsten Linux Dienstleister


eigene Infrastruktur

(ntp) immer genaue Uhrzeit
(syslog) ein System Log Server
(lm_sensors) Hardware überwachen
(sysbench) Leistung messen
(md) RAID Ausfallsicherheit für Festplatten
(USB) Festplatte via usb anbinden
(iptables) Router für alle
(PPPoE) über ein (A)DSL-Modem ins Internet
(tc) Alle Bandbreiten sind gleich, einige sind gleicher
(wireshark) Wissen was so läuft
Das Log aus verschiedenen Quellen befüllen
Schadsoftware-Scanner
(rsync) als Backuplösung
(xinetd) Port Redirector
MQTT Sensoren

Server Dienste

Linux.Netzwerk
(named,bind) Namensauflösung
https://wiki.ubuntuusers.de/Avahi/
(Samba) Festplatte im Netz mit samba
(DHCP) Boot- Installations- DHCP- Server
(secure remote shell) In einen entfernten Server einloggen
(firebird) - Datenbank
(PostgreSQL) - Datenbank
(postfix) Mailserver
(vsftp) FTP Server
(mysql) - Datenbank
(mod_tile+tirex+mapnik+postGIS) Karten- und Geo-Server mit OpenStreetMap
(Subversion) Versionsverwaltung
(Memcached) Semi Persistenz
(ltsp) einen Thin-Client (Linux-Arbeitsplatz)
(apache2) Webserver
(nginx) HTTP/2 Server
Baseboard Management Tipps

System Nutzung

(php) - Scriptsprache
(ruby) - Scriptsprache
(AJax) - Betriebssystem für Browseranwendungen
(Wiki) Server Installation
(WOL) Wake On LAN(tm)
(VirtualBox) handzame Windows XP Appliances für OrgaMOn-Server
(qemu-virt) kvm Virtualisierung einer Win10-Maschine
(Wine) win32 (Konsolen-)Anwendungen unter Linux
(BitTorrent) grosse Daten laden und verteilen
(zypper) Software installieren, System aktualisieren
(vnc) Grafische Remote Session
Linux.ipv6
Linux.btrfs

Putty

Installiere auf deinem Windows System Putty, um dich in den Linux Server einzuloggen. Infos zu Putty:

  • setze in ->Behavior->Windows Titel: auf "leer" damit die Fenster durch "hostname" unterscheidbar werden
  • Verwende Windows->Appearance->Change: "DeJa Vue SAns Mono, 11"
  • ->Connection->Data->Terminal Type String->"linux"
  • ->Window->Columns->"140"
  • ->Window->Rows->"40"
  • Speichere Deine Einstellungen durch ->Session->Default Settings->Save

Remote X-Login

  • Grafischer Remote Login in den "xfce4"-Desktop oder einen anderen minimalen Desktop, oder in den favorisierten/standardmäsigen Desktop des Servers

Bisher keine Lösung

Ansatz 1

NX, nomachines (Schlug sowas von fehl!)

Ansatz 2

http://mobaxterm.mobatek.net/

(bisher nicht getestet!)

Inhaltsverzeichnis

OpenWrt

OpenWrt (http://openwrt.org) ist eine Linux-Distribution mit der Spezialisierung auf Router. Sie ist sehr sehr klein und läuft auf einem TP-Link TL-WR3020. Die Installation läuft über die Standard Weboberfläche des Routers.

Linux.OpenWrt

"Standard mit Office" installieren

  "Benutzername usw." (sorry weis nicht mehr genau wann das kommt).
  Rechnername: linus
  pwd für root (=Administrator im win32 Dialekt) erst mal auch so eingeben
  pwd: linus
  "Monitor Ändern"
  EIZO-F56 aber beachten dass die vorgeschlagene Wiederholfrequenz
  herunterkorrigiert wird. etwa 70 Hz-72 Hz, was der jeweilige Monitor
  verträgt.
  "Hardware konfigurieren" wählen!
  ->Netzwerk,
    erste Netzwerkkarte
    100 MBit-Karte: KarteIP fest, zb. 192.168.100.72, Maske so ok
    "Rechnername und Nameserver" wählen!
     ->name:    linus
     ->domäne:  pcworld
       NameServer: 194.25.2.132 (T-online)
    zweite Netzwerkkarte
    10 MBit-Karte: KarteIP fest, zb. 192.168.99.72, Maske so ok
                                     (anderes logisches Netzwerk!)
    "Rechnername und Nameserver" diesmal nicht notwendig!
  ->ISDN
    Euro-ISDN,Deutsch,t-online usw.
    Zugangsdaten f? flat bereithalten
  ->Sound
    normales Setup->meist auf 100% Lautstärke anpassen, da wir sonst
    später nix mehr hören.

vor dem ersten Start(Logout,beenden,neustarten)

  ins bios gehen (Taste <Entf>), Bootlaufwerk
  von "CDROM" auf "HDD-0" umstellen! Damit der Rechner niemals versehentlich
  von CD-bootet.
  immer als root einloggen

Pakete nachinstallieren

  (als (Benutzernamen=)root eingelogged?!)
  [suse->]system->configuration->yast 2->Software deinstallieren/installieren
                                         (Software install/remove)
  ->ev. Pakete "suchen" knopf, names des Paketes angeben
    doppelklick auf das paket
  X samba	serie: n
  X netatalk	serie: n
  X vnc	serie: xap
  Folgende Pakete müssen deinstalliert werden:
  7.3
  ===

  D Personal-Firewall
  D SuSE-Firewall
  D ipchains

Netzwerk Verbindung prüfen

Ein erfolgreicher PING ist Grundlage aller weiteren Forschungen bei Netzwerkproblemen.

  auf einem win32 Rechner jetzt den Linux Server anpingen (per IP, nicht den )
  mehr Details siehe 22)
  ping 192.168.115.90

Steht die Verbindung, so stellt sich die Frage der Zuverlässigkeit und Geschwindigkeit. Ruhige Momente im Netzwerk sollten genutzt werden, um mit "iperf" die Up/Down Geschwindigkeiten zu ermitteln.

// auf dem Server
iperf -s
// auf dem Client
iperf -c <ServerHostName> -d

Das Programm gibts es hier: http://dast.nlanr.net/projects/Iperf/

Beispielhaft habe ich 2 TDSL Verträge ausgemessen. Man sieht ganz deutlich, dass bei gleichzeitiger Nutzung von up und down Stream die Bandbreite zum Teil dramatisch einbricht. Hier scheint besonders die Leitungsqualität eine Rolle zu spielen.

TDSL 1500 - 84.163.90.168 (raib181)

[ ID]  Interval       Transfer     Bandwidth (einzeln)
[Down]  0.0-10.4 sec  1.80 MBytes  1.45 Mbits/sec (189 Kbits/sec UP)
[ ID]  Interval       Transfer     Bandwidth (zeitgleich)
[Down]  0.0-13.7 sec   392 KBytes   234 Kbits/sec
[ Up]   0.0-13.5 sec   296 KBytes   179 Kbits/sec 

TDSL 2000 - 84.163.236.231 (raib92)

[ ID]  Interval       Transfer     Bandwidth (einzeln)
[Down]  0.0-10.4 sec  2.41 MBytes  1.95 Mbits/sec (379 Kbits/sec UP)
[ ID]  Interval       Transfer     Bandwidth (zeitgleich)
[Down]  0.0-10.6 sec  2.06 MBytes  1.63 Mbits/sec
[ Up]   0.0-11.1 sec   408 KBytes   302 Kbits/sec

Netatalk-konfiguration (zugriff auf einen Linux Share via MAC)

wenn alle MAC - Clients OSX haben, ist dies nicht mehr notwendig. 
Dann sollten auch die MACs wia SMB-Protokoll verbinden.
  (als (Benutzernamen=)root eingelogged?!)
  Adv.Edit (notepad üblich) starten (im "StarT"-Menü autoren->Advanced Editor)
  a) /etc/rc.config:
     START_ATALK="no" auf START_ATALK="yes"
     Eintrag wirksam machen mit SuSEconfig
  b) /etc/atalk/atalkd.conf
     eth0  auf    eth1
     # nur ändern, wennn 100 Mbit-Karte eth1 ist (Network/Basic -> Network card configuration)
  c) /etc/atalk/AppleVolumes.default
     Zeile ganz unten mit nur der Tilde
     ~
     rauslöschen!
     neue Zeile (auch ganz unten)
     /freigabe/mac "user" options:noadouble
  d) terminal fenster starten (muschel)
     cd /freigabe
     mkdir mac
     chmod 0777 -R /mac
     rcatalk start
     -> nach ca. 1 minute müsste "linus" sichtbar sein, ev. als
     linus/linus verbinden!
  e) Diagnose
     nbplkup

Fernwartung einiger Rechner im Netz von aussen via InterNet via VNC

   (beide Systeme (Zielsystem & Remotesystem) müsste eigentlich nur im InterNet
   sein! Der eine z.B. via ISDN, der andere z.B. via DSL, super natürlich: beide via DSL)
   auf jedem Win32-Ziel-Rechner installiert man den VNC-Server:
   (freier download unter www.tightvnc.com) Das myfirewall-Script muss
   für einen Rechner um eine Script-Zeile erweitert werden.
   Es gibt auch einen Viewer(Client) für MAC
   http://sourceforge.net/projects/cotvnc/
   # VNC für Brutus, Displaynummer=0 oder nix angeben
   $IPTABLES -A PREROUTING -t nat -p tcp -i $DEV_EXT --dport 5900 -j DNAT --to 192.168.115.1:5900
   # VNC für Fred, Displaynummer=1
   $IPTABLES -A PREROUTING -t nat -p tcp -i $DEV_EXT --dport 5901 -j DNAT --to 192.168.115.3:5900
   # VNC für Host 8
   $IPTABLES -A PREROUTING -t nat -p tcp -i $DEV_EXT --dport 5902 -j DNAT --to 192.168.115.8:5900
   # usw. ...
   die aktuelle IP (die man "daheim" angeben muss) ermittelt man aus der gepachten IP-
   Adresse im InterNet (Rechter Mausklick auf die HomePage, Quelltext anzeigen, IP-Adresse
   rauskopieren). Beim einloggen gibt man neben der (aktuellen) IP die Displaynummer an, also
   217.217.20.118:1 (für. fred) und das passwort wie immer. ACHTUNG: immer auf beiden
   Seiten 16 bit farben (= High-Color) verwenden! Den Rechner, den man fernwarten will:
   sollte ganz ganz schnell sein (ich meine das ernst), und ne super schnelle 2D Grafikkarte
   haben (z.B. Matrox G450). Der Rechner mit dem man fernwarten will: Der dreht 
   leider eigentlich
   (fast) immer Däumchen, der kann ruhig alt und schwach sein!!! Hier sollte 
   nur eine gute Anbindung ans Internet sichergestellt werden! Hilfreich:
   etwas größere Auflösung wie das Ziel-System, aber
   auch High-Color! Wichtig: Passwörter möglichst >8 Zeichen.
   VNC - Remote Control des Servers mit Hilfe von z.B. einer Windows-Maschine.
   Für geräte, die nicht in den Serverraum laufen müssen, oder kein Geld mehr
   für einen Monitor am Linux-Rechner haben, weil das Betriebssystem so teuer war ;-)
   vnc-paket installieren (mit Yast 2)
   Terminal Session starten
   vncserver eingeben, pwd vergeben
   von irgendeiner anderen Maschine einloggen:
   192.168.115.72:1
   -pwd eingeben
   Es muss ein Terminal-Fenster erscheinen, dort kan man nun
   kde
   eingeben wenn man eine kde-session starten will...
   Suse 7.x
   ========
   Damit der VNC- Server beim booten allein gestartet wird, genügen Eintrag in /etc/rc.d/rc.
   Die Zeile, die ganz unten (Suse 8.0: vor "exit 0") ergänzt werden muss lautet:
                 su -l root -c "vncserver -cc 3 :1 -alwaysshared"
   Suse 8.0
   ========
   Suse 8.1
   ========
   ** Obige Methode läuft nicht mehr unter Suse 8.1.
   Bemerkung: Es war mal bei 8.0 notwendig an einer Maschine, die den vncserver nicht
   mehr allein startet, wieder keyboard und monitor anzuschliesen, um sich "echt"
   (in kde) einzuloggen, danach lief wieder alles super.
   Suse 8.2
   ========
   YaST2 / System / Editor f?c/sysconfig-Dateien / Desktop / Display Manager:
   Die Variable DisplayManager_Remote_Access auf yes setzen.
   Auf der Konsole rcxdm restart eingeben.
   YaST2 / Netzwerkdienste / Netzwerkdienste (inetd) aufmachen und die 4
   Einträge mit "VNC" im Namen aktivieren.
   Andere Computer (auch Windows-Maschinen) können nun über den Browser den
   VNC-Server ansprechen. Dazu benötigt er Java.
   Die URL lautet: http://Vncserver-Rechner:5810.
   Wer auf der Client-Seite nicht im Webbrowser arbeiten will, benutzt den VNCViewer.
   F?se Anwendung lautet nun der angefragte Hostname "Vncserver-Rechner:10"
   oder "Vncserver-Rechner:11", auch wieder mit IP-Adresse des Zielsystems möglich,
   z.B. 192.168.115.93:10.

Eine andere Linux-Maschine will ins Internet

     1) YAST2 ->network ->routing ->Standart-Gateway=IP des Servers
     2) YAST2 ->advanced network ->DNS ->IP des Servers

Kernel Updates

(es soll niemand mehr sagen das sei schwierig!)

   nur für release 7.2 notwendig, (HISTORISCH - NICHT NOTWENDIG AB 7.3):
   Einspielen des Kernels 2.4.7
   Dies ist notwendig, da masquerading irgend einen Bug hat. Auch hat sich das
   einspielen als sehr heilsam für ganze System herausgestellt. (Auch TDSL!)
   downloaden des Kernels (als rpm) von
   ftp.suse.com/pub/suse/i386/update/7.2/kernel/2.4.7/k_deflt-2.4.7-25.i386.rmp
   Terminal-Fenster starten, eingeben
   YaST <ENTER>
   "paketverwaltung (update,install,auf..)"
   Paket einspielen
   Quelle (nun den obigen rpm lokalisieren)
   markieren mit Leertaste, damit installiert wird
   <F10> zum Installieren drücken    YaST beenden, ein cleanup wird durchgeführt   
   
   mk_initrd <ENTER>
   lilo <ENTER>

   -> system neu booten!!!

root passwort verloren

  • baue die Platte aus, oder starte mit knoppix
  • mounte die Platte
  • editiere /etc/shadow und löschen in der Zeile root:xxx:... alles zwischen den ersten beiden Doppelpunkten
  • Platte wieder rein
  • Als root ohne pwd einloggen, danach ein passwort setzen!

ATX-Netzteile

Das beschriebene Linux-System wird überwiegend als Server benutzt. Es muss
sichergestellt sein, dass nach einem Stromausfall das System selbst wieder
hochfährt.
* In der Regel kann man bei modernen ATX - Boards im BIOS einstellen was
  im "Power Fail" Fall, gemacht werden soll. "Always ON" würde hier die
  richtige Einstellung lauten.
* Bei machen Boards ist diese Einstellung nicht vorhanden (K7SOM) oder
  sie funktioniert nicht (div. Soltek Boards). In diesem Fall ist durch
  einen einfachen Eingriff diese Funktion sichergestellt.
  1) Das ATX-Netzteil besitzt einen breiten Spannungsstecker, der im Main-
     board steckt. Hier ist das !grüne kabel! (von dem es nur eines gibt) ca.
     1 cm oberhalb des Steckers abzuschneiden (1cm deshalb, damit man ggf.
     die alte Funktion wieder herstellen kan).
  2) Von einem unbenutzen Stromstecker ist eines der mittleren schwarzen
     Kabel nahe am Stecker abzuscheiden.
  3) Beide Kabel nun durch alle Kabelbinder hindurch zurückziehen damit sie
     ab dem Netzteilaustritt freiliegen. Nun beide abisolieren, und die
     blanken Ende "verzwirblen". Mit Isolierband die blanke Stelle isolieren
     und das neue Kabelpaar mit den schon vorhandenen Kabelsträngen mit Kabelbinder
     fixieren.
  Effekt: Das ATX-Netzteil startet IMMER in den "Full Power" Modus egal, ob
          dies durch das Board signalisiert wird oder nicht.

Snapper entfernen

  • Snapper hat mir schon 2 mal das Dateisystem voll gemacht -> Schädling -> muss weg!!
    • zypper rm snapper-zypp-plugin
    • rm /etc/cron.hourly/suse.de-snapper
    • rm /etc/cron.daily/suse.de-snapper

Dennoch legt snapper bei "yast update" snaps an: Ich hasse BTRFS!!!