Linux: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 348: Zeile 348:




== 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?e bestehenden ein- und ausgehenden Verbindungen. Dritte Regel
        # verhindert alle Verbindungen die Au᥮ 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?s 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?s 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?. 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 䮤ern: IP_FORWARD="no" auf "yes"
      Eintrag wirksam machen mit SuSEconfig


== lokaler SMTP Forwarder ==
== lokaler SMTP Forwarder ==

Version vom 12. März 2006, 23:47 Uhr

Zur Verwendung des OrgaMon im Netzwerk, (also mit mehreren Arbeitsplätzen) sollte ein Linux Server mit "SuSE Linux Proffesional 9.x" verwendet werden. Diese Dokumentation beschreibt viele Apsekte dieses mächtigen Serverbestriebssystem im Zusammenspiel mit dem 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 InterNet Verbindung und Namensauflösung. Der Linux Server betreibt den WebShop und sorgt für die korrekte Zeit im Netz.

Die wichtigsten Linux Dienstleister:

(ntp) immer genaue Uhrzeit
(named) Namensauflösung
(Samba) Festplatte im Netz mit samba

(DHCP) Boot- Installations- DHCP- Server
(iptables) Router für alle
(tc) Alle Bandbreiten sind gleich, einige sind gleicher
(snort) Wissen was so läuft
(firebird) - Datenbank


Linux besondere Leistungen:

(rsync) als Backuplösung
(xinetd) Port Redirector
(postfix) Mailserver
(vsftp) FTP Server
(mysql) - Datenbank
(Wiki) Server Installation
(WOL) Wake On LAN(tm)

Linux Grundwissen

Archive

bunzip2 <file>     // auspacken einer .bz2 Datei
gzip -d <file>     // auspacken einer .gz Datei
tar -xf <file>     // auspacken einer .tar Datei

System

halt               // Ausschalten (Herunterfahren)
reboot             // Neustart
joe                // ein textbasierter Editor
passwd             // ändern des eigenen passwortes
# !/bin/bash       // erste Zeile von Shell-Scripten 
kwrite             // ein grafischer Text/Script-Editor! (Nein vi ist nicht mein Fall!!)
ps x               // ausgeben aller laufenden Programme
                   // ev. mit z.B. "| grep smb" vervollst䮤igen
mc                 // dateimanager (wegen filefind)
df                 // Diskfree, zeigt Belegung/Mounting der Festplatten an
                   // Summer der Bytes freien Festplattenplatzes
du -s -h /pfad     // Summe aller Bytes in einem Pfades angeben
uname -a           // anzeige der aktuellen Kernel Version
uptime             // Anzeiger der Last und der Betriebsstunden
pgrep sshd         // Anzeiger einer Prozess ID, Prüfen, ob ein Prozess läuft

Netzwerk

/var/lib/dhcp/db/dchp.leases // Ermittlung der MAC Adressen angeschlossener Systeme
 

Traditionelles

./configure        // typische 3er Befehlskette zum compilieren&installieren eines open source
make               // projektes.
make install
 

Spezielles

sensors            // Temperatur der CPU und L?unktion pr?Details weiter unten)
dmesg              // auflisten, was die Hardware so zu bieten hat
 
play /opt/kde3/share/sounds/KDE_Beep_Beep.wav  
                   // Ausgabe von Musik
  
ldd -v <programmname> 
                   // kann auf einem System, auf dem alles l䵦t :-( gute auskunft
                   // geben was das "Programm" so alles noch mit l䤴 - bei einem 
                   // firebird ist so ziemlich
                   // interessant. Der "eigentliche" Server ist eingentlich 
                   // "libfbembedd.so", dieser wird
                   // hochgezogen, wenn fb_inet_Server geladen wird.

Downloadquelle f?lende Pakete: ftp.leo.org/pub/comp/os/unix/linux/suse/people/nashif/SuSE/SLES/x86

         oder bei rmpseek.com

Temperaturen überwachen mit sensors

1) Paket "sensors" muss installiert sein 2) Folgender "Setup" muss durchlaufen werden:

Zitat [1]

Im Prinzip l䤴 man einfach nur das Kernelmodul "i2c_sensor" mit

 modprobe i2c_sensor 

Danach f?an das Script

 sensors-detect 

aus. Bei dem Script habe ich eigentlich nur solange die Enter-Taste gedr?bis es durchgelaufen war. Nat? habe ich die Ausgaben gelesen, aber ich w?nicht, warum ich schlauer sein sollte, als die Leute, die die Software entwickelt und sinnvolle Werte angenommen haben. Das Script erzeugt die Datei /etc/sysconfig/lm_sensors. Ist dies getan und hat das Script entsprechende Chips gefunden und dort eingetragen, dann kopiert man wie angegeben das Startscript r?

 cp /usr/share/doc/packages/sensors/prog/init/lm_sensors.init.suse /etc/init.d/lm_sensors 

Wer m?e, dass nach jedem Neustart die Möglichkeit besteht, CPU-Temperatur und andere Messwerte zu Ü¢erwachen, der sollte noch

 chkconfig --add lm_sensors 

ausf? Eigentlich ist damit alles getan. Nach einem entsprechenden Start mit

 /etc/init.d/lm_sensors start 

kann durch Aufruf von

 sensors 

der Gesundheitszustand der Hardware abgefragt werden.

Erster (Kalt-)Start

Rechner an, gleich ins System-Bios gehen, dazu <Entf> dr? wenn die "Drives"-Erkennung l䵦t. 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䴩gen. Bei den Softwarepaketen, bitte folgendes 䮤ern: "+Server", "+Entwicklung", "+erfahrener Benutzer".

System->System->Boot->SPLASH->no das OS nur in den Textmodus (Console) booten lassen. Und den grafischen Login-Schirm unterdr?

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?

Festplatte einrichten

   Also wir machen 3 Partitionen:
   "boot"  kleine Mini-Partition: damit das booten immer klappt (ext2 oder ext3-Dateisystem)
   "swap"  mittlere Partition: da werden RAM Speicherbereiche rausgeschrieben,
           um Platz zu machen f?htigere Daten.
           Gr?= RAM * 2 oder mehr, aber immer gr? als das RAM!
   "linux" eigentlicher Betriebssystem Bereich und Anwender und
           Benutzerbereich
   Bei "Festplatte vor ..."
   den
   [X] Benutzerdefiniert w䨬en!
   3 Partitionen anlegen:
   0..2      Linux native  (ext2 oder ext3)       mounting-point "/boot"
   3..84     Linux swap    -----        ----------------------
   85..5004  Linux native  (!reiserfs!) mounting-point "/"
  2. Platte mal noch offen lassen

"Standard mit Office" installieren

  "Benutzername usw." (sorry weis nicht mehr genau wann das kommt).
  Rechnername: linus
  pwd f? root (=Administrator im win32 Dialekt) erst mal auch so eingeben
  pwd: linus
  "Monitor 䮤ern"
  EIZO-F56 aber beachten dass die vorgeschlagene Wiederholfrequenz
  herunterkorrigiert wird. etwa 70 Hz-72 Hz, was der jeweilige Monitor
  vertr䧴.
  "Hardware konfigurieren" w䨬en!
  ->Netzwerk,
    erste Netzwerkkarte
    100 MBit-Karte: KarteIP fest, zb. 192.168.100.72, Maske so ok
    "Rechnername und Nameserver" w䨬en!
     ->name:    linus
     ->dom䮥:  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䲫e anpassen, da wir sonst
    spä´¥r nix mehr h?.

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?deinstalliert werden:
  7.3
  ===
  D Personal-Firewall
  D SuSE-Firewall
  D ipchains

T-DSL, leider muss geschraubt werden.

Bei einer festen IP von T-Com (leider nur im Business Tarif der t-com möglich) muss der Zugangsname von Hand verändert werden:

 joe /etc/sysconfig/network/providers/tonline-dsl-business

 USERNAME='feste-ip/78HSJHJ736AL@t-online-com.de'


 (nicht mehr ab SuSE 9.0)
  Details auf http://sdb.suse.de/en/sdb/html/cg_pmtu2.html.
  a) editiere folgende Datei, (hier z.B. mit KWrite)
    kwrite /etc/ppp/options
  suche und setze die beiden werte wie angegeben, Ist diese Option durch ein
  "#" auskommentiert, den "#" wegl?en und dadurch die Option aktiv machen.
    mtu 1492
    mru 1492
  b) editiere folgende Datei, (hier z.B. mit KWrite)
   kwrite /etc/ppp/peers/pppoe
  suche und setze die beiden werte wie angegeben, Ist diese Option durch ein
  "#" auskommentiert, den "#" wegl?en und dadurch die Option aktiv machen.
    mtu 1492
    mru 1492

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ä³³igkeit und Geschwindigkeit. Ruhige Momente im Netzwerk sollten genutzt werden, um mit "iperf" die Up/Down Geschwindigkeiten zu ermitteln.

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

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

Beispielhaft habe ich 2 TDSL Vertr䧥 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䴠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 䨮lich) starten (im "StarT"-Men?toren->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 䮤ern, wennn 100 Mbit-Karte eth1 ist (Network/Basic -> Network card configuration)
  c) /etc/atalk/AppleVolumes.default
     Zeile ganz unten mit nur der Tilde
     ~
     rausl?en!
     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?"linus" sichtbar sein, ev. als
     linus/linus verbinden!
  e) Diagnose
     nbplkup


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 



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?n. 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 ?, mit dem gleichen Konto/pwd wie f?3)
 * Der Linux Server sollte als "relay" fungieren, und die mail somit v?g
   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?gen dass die Mail zugestellt
   wird. Es sollte kein "fester" relay-smtp f?ot;alle" email-Konten benutzt werden.


 ---------------------------------------------------------------------------------------
 Aufsetzen des Mailservers postfix
 ---------------------------------------------------------------------------------------
 Andre Wolff 24.4.2003
 ---------------------------------------------------------------------------------------


 ---------------
 1. Installation
 ---------------
 Postfix wird bei der Version 8.2 standardm䟩g installiert. Zur ܢerpr? 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? 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䨬en
         - Auswahl "Software installieren oder l?en"
         - Im Kombinationsfeld Filter den Eintrag "Suche" ausw䨬en und im Suchfeld
           postfix eingeben und auf die Schaltfl䣨e "Suche" klicken
         - in der Paketliste postfix ausw䨬en und auf Schaltfl䣨e "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?sen explizit anpassen wollen,
 muß die automatische Konfiguration f?tfix abgeschaltet werden:
         - Im YAST2-Kontrollzentrum "System|Editor f?c/sysconfig-Dateien" ausw䨬en
         - Dann Auswahl "Network|Mail|General"
         - Įdern 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 ?en. Die Eintr䧥 wie folgt 䮤ern
 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? 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䨬en.
 Dann mit einem Doppelklick die Eigenschaften des gew?e Mailkontos ?en. Auf der
 Registerkarte Server bei "Postausgang (SMTP)" die IP-Adresse des neuen Mail-Relays
 eintragen.


Fernwartung einiger Rechner im Netz von aussen via InterNet via VNC

   (beide Systeme (Zielsystem & Remotesystem) m?eigentlich nur im InterNet
   sein! Der eine z.B. via ISDN, der andere z.B. via DSL, super nat?: beide via DSL)
   auf jedem Win32-Ziel-Rechner installiert man den VNC-Server:
   (freier download unter www.tightvnc.com) Das myfirewall-Script muss
   f?einen Rechner um eine Script-Zeile erweitert werden.
   Es gibt auch einen Viewer(Client) f? MAC
   http://sourceforge.net/projects/cotvnc/
   # VNC f?tus, 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?d, Displaynummer=1
   $IPTABLES -A PREROUTING -t nat -p tcp -i $DEV_EXT --dport 5901 -j DNAT --to 192.168.115.3:5900
   # VNC f?
   $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?. 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äµ­chen, der kann ruhig alt und schwach sein!!! Hier sollte nur eine gute Anbindung
   ans Internet sichergestellt werden! Hilfreich: etwas gr?e Ausl?g wie das Ziel-System, aber
   auch High-Color! Wichtig: Passw?r m?chst >8 Zeichen.
   VNC - Remote Control des Servers mit Hilfe von z.B. einer Windows-Maschine.
   F?te, die nicht in den Serverraum laufen m?en, oder kein Geld mehr
   f?en 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?n Eintrag in /etc/rc.d/rc.
   Die Zeile, die ganz unten (Suse 8.0: vor "exit 0") erg䮺t werden muߠlautet:
                 su -l root -c "vncserver -cc 3 :1 -alwaysshared"
   Suse 8.0
   ========
   Suse 8.1
   ========
   ** Obige Methode l䵦t 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䧥 mit "VNC" im Namen aktivieren.
   Andere Computer (auch Windows-Maschinen) k?n nun ?en Browser den
   VNC-Server ansprechen. Dazu ben?t 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?ch,
   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?e 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? 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?    YaST beenden, ein cleanup wird durchgef?   mk_initrd <ENTER>
   lilo <ENTER>
   -> system neu booten!!!



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 ?outeIP im InterNet www.cargobay.de**
   Mehr Infos ?eepcon im InterNet www.cargobay.de
   ** RouteIP wird langfristig durch keepcon ersetzt.
   keepcon siehe "http://www.cargobay.de/keepcon.html"


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?quot; 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䮧t
       (User anlegen)).
     * Umstellen der "Richtlinien" wie es die Newsgroups vorgeben brachte
       auch nichts!
       Start->Ausf?>gpedit.msc
       Computerkonfig->Windows-Einstellungen->Sicherheitseinstellungen->Lokale Richtlininen->
       Sicherheitsoptionen
       Microsoft-Netzwerk (client): Unverschl?es Kennwort an SMB-Server von Drittanbietern senden
     Idee: ev. alles auf einen echten samba PDC umstellen!
     todo: gpedit.msc mal beschreiben!
Die L?g: der Firewall auf dem samba Server sperrte den Port 445. Dieser ist
            jedoch f? Kommunikation notwendig. Hier die Gesamtbeschreibung
            die ich mit Hilfe von Walter Mautner erstellt habe.
 > Eventuell noch Port 445 dazugeben.
Walter! Das war die L?g (freu), Win XP versucht scheinbar vorrangig am
Port 445 rumzuposaunen. Nur wenn ein hartn䣫iger User auf den Windows
Explorer einschl䧴 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?et, damit
 die Clients mit samba sprechen k?n.
 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?g 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?et haben geht alles ohne Zeitverz?ung.
 Unn? zu sagen das dieses Verhalten ausschlie߬ich 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: Ĩnlich DROP wird das Paket abgewiesen, jedoch erh䬴 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 ?en 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
Ö¦fnen des Ports 80 f?ete 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>
---------------------------------------------------------


USB Devices (Memory, Flash, MP3 Player) unter Linux

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äµ³chung: 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䣨sten 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ä´ plazierte ich einfach
ein Script Namens /etc/hotplug/usb/usbfs. Es passierte nat? nichts. grmpf!
In fstab habe ich aber eine Zeile eingetragen, die mir das USB-Device auf den Desktop
gezaubert hat (was mir nix bringt!). Mein Spieltrieb animierte mich durch umount das
device auszuh䮧en. Das Desktop Symbol blieb - es lies sich auch fehlerfrei anklicken,
was einen Mount verursachte!
Also ein Script via hotplug zu starten wenn der usb reingeteckt wird gebe ich
hiermit auf!