sachverstand2 @ boxfrog.com:
samba zu hause
ver 0.9
03.10.2002
Dieser Artikel ist Teil meines Linux-Tagebuches.
Vorrede
Im letzten jahr habe ich viel mit linux experimentiert. ich habs aber
immer noch nicht durchgespielt.
zweck der ganzen geschichte ist ja, etwas nützliches, nutzbares damit
zu machen. das ist aber immer noch nicht so einfach.
bei meinem derzeitigen arbeitgeber hatte ich gelegenheit, einen p166
im existierenden ethernet als server einzurichten. das ding kann für
heutige begriffe überhaupt nichts, aber ich verwalte darauf ungefhr
300 user mit ftp-, mail- und telnetzugriff. demnchst kommt noch der
vnc-server drauf, und dann ist es zeit für einen richtigen rechner,
denn dann will ich auf herumstehenden 386er-rechnern dicke
office-pakete, finite-elemente-rechner, 3d-cad usw. laufen lassen.
naja, nicht direkt auf den 386ern, sondern auf dem dicken rechner,
wobei die 386er als terminals herhalten müssen.
das geht im prinzip in jedem ethernet, unter linux und windoof95.
komischerweise hat außer m$ noch niemand die mglichkeiten entdeckt,
und m$ VERBIETET logischerweise den einsatz von vnc auf windoof-
2000 rechnern. dann muß es wohl was gutes sein.
da mein server (grmsrv) hauptschlich zur ausbildung benutzt
wird, ist sicherheit nebenschlich.
Netzwerk in basics
Um die Mglichkeiten eines eigenen Servers zu hause auszuloten,
braucht man nicht loszulaufen und netzwerkkarten zu kaufen - ein
einfaches nullmodemkabel genügt. damit kann man smtliche tcp-ip-
dienste des servers (zB ftp, http, telnet, vnc, samba etc.) nutzen.
mein windoof95-rechner heißt zombie. seine maus hngt an com1:, das
nullmodemkabel an com2:.
mein server heißt grmsrv. er ist ein redhat-6.2-system aof einem
p400 mit 1gb plattenplatz, das entstand wie folgt:
- redhat-cd ins laufwerk
- booten von cd
- textmodus whlen
- serverinstallation whlen
- "lsche alle dateien von allen festplatten ?" : JA.
- woanders kaffee trinken und kuchen essen
- ok drücken
- cd herausnehmen
- fertig.
konfiguration of zombie
Neben dem grundsystem braucht er noch software:
- dfü-netzwerk
- client für ms-netzwerke
- datei- und drucker-freigabe
- protokolle tcp-ip und netbeui
Diese installiert man in Start_Einstellungen_software_windus-setup.
Damit zombie weiß, wer grmsrv ist, habe ich drei dateien gendert:
# c:\windows\lmhosts
1.2.3.4 zombie
1.2.3.17 grmsrv
# c:\windows\hosts
1.2.3.4 zombie
1.2.3.17 grmsrv
# c:\windows\networks
1.2.3 mynet
so. zum verbinden benutze ich den eingebauten ppp-vrbindungs-hersteller
von w95. dieser denkt aber immer, daß er an ein modem angeschlossen
ist - deshalb muß ihm grmsrv ein solches vorgaukeln.
arbeitsplatzßdfü-netzwerkßneue Verbindung.
name: schnell
über modem an COM2:
OK
Eigenschaften:
nummern : 0049-5-555
modem: standard-19200-baud
anschluß: com2:
maximale gesch.: 115200
alle einstellungen=default
erweitert: datenflußkontrolle rts/cts
servertypen:
ja ppp
ja am netzwerk anmelden
ja software-komprim.
nein verschlüsseltes kennwort
ja netbeui
nein ipx/spx
ja tcp/ip. einstellungen:
vom server zugew. ip
vom server zugew. namensserver
ja header-komprimierung
ja standard-gateway
skript keins
ja terminalfenster minimert
startßeinstellungenßsystemsteuerungßnetzwerk
konfiguration
client für ms-netzwerke: eigenschaften:
nein an windoof-domäne anmelden
schnelle anmeldung
dfü-treiber: eigenschaften:
treibertyp: ndis 32-bit
bindungen: tcp-ip und netbeui
erweitert: ja, ja
neutbeui: eigenschaften
bindungen: client & freigabe
erweitert:
max. sitzungen 10
NCBS 12
ja als standard-protokoll
tcp-ip-eigenschaften: (oh, viele...)
bindungen beide ja
erweitert nada (???)
netbios über tcp-ip: JA
dns deaktiviert
gateway keiner
wins deaktiviert
ip-adresse automatisch
freigabe eigenschaften
lm-dienst nein
suchfunktion automatisch
primäre netzwerkanmeldung: client für ms
freigabe: beides JA
identifikation
name zombie
workgroup mygroup (s. /etc/smb.conf)
beschreib Mein name ist zombie
zugriffssteuerung auf freigabeebene
Damit ich etwas zum exportieren habe, habe ich einen ordner
c:\export mit wertlosen dateien darin erzeugt.
rechter mausklick:
freigabe
freigabename export
kommentar sowas ist passwort
typ schreibgeschützt
kennwort sowas
reboot.
Loggen Sie sich als User Fred ein, mit freds samba-user-passwort.
Nun kann man schon Zombies Workgroup durch doppelklick auf
die Netzwerk-Umgebung anschauen.
oder man sieht ihn im internetExplorer durch Ctrl-l : \\zombie.
konfiguration of grmsrv 1
software: pppd, samba- server, -common, -clients
und tcp-ip-server = daemonen: ftpd, httpd, telnetd, sendmail
user fred anlegen.
- einloggen als root.
- adduser fred.
- passwd fred.
samba-user fred anlegen (wo steht das in der doku?????).
- einloggen als root.
- smbadduser fred.
- smbpasswd fred.
mit dem pppd ein modem emulieren
#/etc/ppp/options
lock # keine andere anwendung darf an COM2:
crtscts # check-rts-cts
115200 # baud - etwa 10 kB/sec
/dev/ttyS1 # entspricht COM2: auf dossprech
modem # benutz modem-kabel, ua cts und rts
connect 'chat -v AT OK AT OK AT CONNECT' # tue so als waerst du
# ein 19200baud modem
disconnect 'chat -v -t 1 AT OK AT OK AT OK' # dito
1.2.3.17:1.2.3.4 # local:remote, dh zombie heisst dann 1.2.3.4
noauth # hier darf jeder rein.
defaultroute
Erluterungen:
- rts (request-to-send) und cts (clear-to-send) sind zwei kabel,
über die sich rechner und modem signale schicken.
- dos sagt: com1: bis com4: . linux sagt: /dev/ttyS0 bis /dev/ttyS3.
- chat ist ein hilfsprogramm, das beim verbinden ausgerufen wird. es
erwartet AT
sendet OK
erwartet AT
sendet OK
erwartet AT
sendet CONNECT
genau wie es der modem-treiber von windoof haben will.
das -v weist chat an, seine meldungen in syslog zu speichern. mit
tail -f /var/log/messages kann man evtl. genau sehen, wieso
das nicht geklappt hat.
- das disconnect chat-script tut so, als wre es mit den disconnect-befehlen
von windos einverstanden.
- local ist der lokale rechner, also grmsrv. remote ist der andere.
- über diese route gehen alle pakete, die woanders nicht hingehen.
sind Sie immer noch root? dann starten Sie /usr/sbin/pppd auf grmsrv,
und kurz darauf arbeitsplatzßdfue-netzwerkßschnell auf zombie.
wenn die beiden nun zusammenhngen, sehen sie zwei kleine blinkende rechner rechts
unten am bildschirm.
telnet, ftp, http und eudora von zombie nach grmsrv sollten nun klappen.
konfiguration of grmsrv 2
das war der einfache teil.
der schwierige teil ist, zombie und grmsrv über das m$-netz zu vernetzen.
der vorteil dieses netzes ist, daß man
- sich die anderen rechner im netzwerk und deren exportierte shares
(drucker und festplatten) anzeigen lassen kann;
- mit seinem usernamen und passwort zugriff auf die für diesen usernamen
und dieses passwort freigegebenen shares hat;
- die nicht freigegebenen shares nicht sieht;
- sich bei einem NETZWERK (nicht bei einem rechner) anmelden kann.
seit ich das weiß, frage ich mich, warum die un*x-gemeinde nicht etwas hnliches
erfunden hat. wahrscheinlich brauchten sies nicht: lokale und netzwerk-drucker
sind eh schon installiert (oder eben nicht), plattenplatz geht man über ftp oder
nfs an, und zentrale nutzerverwaltung macht man mit yp.
einen freundlichen drucker-installations-assistenten oder ein übersichtliches
wo-sind-meine-dateien-frontend (!), wo sie auch noch per copy&paste oder
drag-und-drop zugreifen knnen, werden Sie unter un*x lange und vergeblich
suchen.
der preis dafür? lizenzgebühren en masse; und jede eggcell-datei müssen sie
auf ihren rechner holen (zeit..) und mit der lokalen ($$$$) kopie von eggcell
bearbeiten, statt sie schlauerweise dort zu bearbeiten, wo sie eh schon ist.)
Die folgende smb.conf funktioniert auf meinen rechnern und sonst
wahrscheinlich nirgends. keine sicherheit. keine garantie. gar nichts.
#/etc/smb.conf
[global]
# nheres über die optionen siehe man smb.conf
netbios name = grmsrv
preferred master = yes
workgroup = MYGROUP # s. zombie/.../identifikation
os level = 65 # ICH bin master browser!
server string = "Samba Server auf grmsrv
load printers = yes
log file = /var/log/samba/log.%m
max log size = 50
security = user
browseable = yes
[homes]
comment = Home Directories
browseable = no
writable = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = yes
guest ok = yes
writable = no
printable = yes
Es gibt viele schne samba-konfigurationstools. ich hab swat und linuxconf
probiert. beide funktionierten nicht.
die obige datei ist handgeschrieben.
dann hab ich samba resettet mit:
/etc/rc.d/init.d/smb restart
und jetzt tief durchatmen
sehen ob grmsrv lebt:
smbclient -L grmsrv
sehen ob fred in sein zuhause darf:
smbclient \\\\grmsrv\\fred
am prompt ls oder ? eingeben.
das ganze ist eine art ftp-client, mit get kann man eine datei
ansaugen.
wenn nun ppp über nullmodemkabel und samba laeuft, kann man
mal wagen:
smbclient -L zombie
und erhaelt hoffentlich
[fred@grmsrv /home/fred]# smbclient -L zombie
added interface ip=1.2.3.17 bcast=1.2.255.255 nmask=255.255.0.0
Password:
Sharename Type Comment
--------- ---- -------
EXPORT Disk sowas ist passwort
IPC$ IPC Remote-IPC
Server Comment
--------- -------
Workgroup Master
--------- -------
spaetestens jetzt kann man an zombie im IE mal Ctrl-l \\grmsrv
eingeben. dann müßten man fred's dateien auf grmsrv sehen.
wenn's nicht klappt, weiß man: dieses Protokoll ist viel zu fragil.
manchmal muß man erst
o nach dem erzeugen der pppd-verbindung smb restarten (mit
/etc/rc.d/init.d/smb restart
o grmsrv von zombie aus pingen (mit startßausfuehrenßping grmsrv).
Blut geleckt?
Fanden Sie es interessant,
- Ihre Dateien auf einen Rechner am anderen Ende der Wohnung / des
Nullmodemkabels zu senden und sie dort in guter Hut zu wissen?
- einen eigenen Mailserver zu haben, der Ihre mail sendet und
holt, ohne daß Sie einen Finger rühren müssen?
- einen zuverlssigen ftp-service zu haben?
- auf dem entfernten Rechner so zu arbeiten, als sßen Sie davor?
(schon recht: als root dürfen Sie sich übers Netz nicht anmelden.
aber als fred. und der darf su.
Dann wollen Sie das Ganze nun sicherlich auch mit Etherkarten machen.
vorsicht
- etherkarten sind schnell gekauft - aber nur wenn ihr os sie unterstützt.
ich habe gute erfahrungen mit steinalten wd8003 (bnc-stecker) und realtec
8139-karten (gemeint ist der chip, nicht der kartenhersteller) gemacht.
- manche etherkarten haben drei ausgnge:
- einen 15-poligen dil (dual-in-line, zwei-in-reihe), name: aui.
da wird ein thick-ethernet-transceiver angeschlossen, und der kommt
ans thick ethernet kabel. sowas haben sie nicht.
- einen runden stecker mit mittenkontakt, name: bnc.
dazu brauchen sie ein dünnes ethernetkabel, maximal 50m lang, mit
t-frmigen steckern für die rechner und an jedem ende ein terminator
von 50 ohm.
einen switch brauchen sie aber gottlob nicht. sie knnen soviele rechner
wie sie wollen hintereinanderhngen, solange die alle in einer reihe
stehen, sternfrmiges ist nicht erlaubt.
- einen eckigen stecker mit 6 oder 8 kontaktchen, name: rj-45.
um zwei rechner direkt zu verbinden, brauchen sie ein gekreuztes kabel
(das sieht man nicht von außen).
um zwei oder mehr rechner zu verbinden, brauchen sie ungekreuzte kabel
und einen switch.
eine der buchsen am switch ist ein uplink, damit knnen sie an einen
weiteren switch. erlaubt ist der aufbau von baumstrukturen, alles
andere ist verboten.
- manche karten sind nur softwarekonfigurierbar, welchen ausgang
sie nehmen sollen. haben sie die programme da?
- theoretisch knnen sie mehrere etherkarten in einen rechner bauen. die
software weiß, daß das geht, und will entsprechend konfiguriert werden.
wie das unter windoze geht, weiß ich nicht.
ich habs nicht kapiert. ich hab den nag (network admin's guide) von olaf kirch
vorwrts und rückwrts gelesen. und ein paar klare worte wie diese hier schwer
vermißt: