VOICE Homepage: http://de.os2voice.org |
Oktober 2002
[Inhaltsverzeichnis]
|
Von Michael W. Cocke © Oktober 2002, Übersetzung: Christian Hennecke |
Schreien jetzt Sie einmal, um es rauszulassen. Dann nehmen Sie Kontakt zu Ihrem ISP auf und finden heraus, ob sein Nameserver Sie hostet oder ob Sie sich anderweitig umsehen müssen. Wenn er Ihren DNS-Eintrag hostet, besorgen Sie sich seine NIC-Handle-Nummer (mehr dazu später) und die Namen und Adressen seiner Nameserver.
Wenn er Sie nicht hostet, besuchen Sie IAT Holonet und melden Sie sich für den HoloDNS-Service an. Dieser kostet Sie etwa US$25 pro Monat, aber Sie haben wirklich keine andere Wahl. (In Wirklichkeit haben Sie eine andere Wahl, aber ich kann Ihnen nicht empfehlen, Ihren eigenen DNS einzurichten. Sie werden's nicht glauben, wenn Sie die Dokumentation von BIND sehen.)
Holonet ist der beste Provider für Internetzugang, Webhosting und andere Dienste, dem ich (zum Glück) jemals begegnet bin. Liefern Sie sich seiner Gnade aus und erzählen Sie den Leuten, daß Sie gerade dabei sind, eine Domain anzumelden. Sie werden unglaublich geduldig und sehr hilfsbereit sein.
Nachdem Sie einen Vertrag mit ihnen abgeschlossen haben, besorgen Sie sich das NIC-Handle und die Namen und Adressen der Nameserver.
Als nächstes besuchen Sie Network Solutions und finden einen Domainnamen, der noch nicht benutzt wird. Das kann eine Weile dauern. Nachdem Sie einen gefunden haben, geleitet Sie die Network-Solutions-Seite durch den Anmeldungsprozeß. Der "Technical Contact" ist das NIC-Handle desjenigen, der Ihren DNS hostet und das Nameserver-Info ist offensichtlich. Sie selbst sind der Kontakt für Verwaltungs- und Rechnungsangelegenheiten. An einem bestimmten Punkt der ganzen Sache erhalten Sie ein eigenes NIC-Handle. Bewahren Sie es in Reichweite auf, für den Fall, daß eine Ihrer Kaffeetassen kaputtgehen sollte, dann haben Sie noch einen Henkel übrig... [ein Wortspiel, "handle" kann auch Henkel oder Griff bedeuten - Anm.d.Übers.] Aber im Ernst, Sie brauchen es nicht im Gedächtnis zu behalten, sollten es aber notieren - falls Sie jemals Änderungen an der Domainanmeldung durchführen müssen, erspart es Ihnen eine Menge Tipparbeit.
Diese Stelle ist so gut wie jede andere, um die Alternativen zur Anmeldung bei Network Solutions zu besprechen. Ja, es gibt andere, bei denen man Domains anmelden kann. Eine der Domains, die ich administriere, ist auf diese Weise registriert, und die anderen sieben sind bei Network Solutions angemeldet. Network Solutions ist langsam, der bürokratische Papierkram ist die reinste Folter und gelegentlich tun sie auch gar nichts. Davon abgesehen, empfehle ich, sie zu wählen. Sie sind schon länger in diesem Geschäft, als irgendjemand sonst, und wissen, was zu tun ist. Ich hatte auch meinen Teil an Problemen mit opensrs (einem alternativen Domain-Anmeldungs-Service). Zumindest beantwortet Network Solutions gelegentlich Nachrichten.
OK, nach etwa einer Woche kann man dann auf www.ihredomain.com zugreifen und eine Verbindung zu Ihnen herstellen. Schauen mir doch mal, daß wir dort auch etwas hinstellen.
Ich benutze und empfehle Apache (ich benutze gerade Version 1.3.26). Er ist gratis, wird mit dem Quellcode geliefert und kann alles, was Sie sich nur vorstellen können. Außerdem ist er kompliziert. Noch bevor Sie ihn von Apache for OS/2 herunterladen, sollten Sie sich in Ihren bevorzugten Buchladen (oder zu amazon.com) begeben und ein paar Bücher über Apache kaufen. Ich empfehle "Apache: The Definitive Guide" und "Apache Server für Dummies". Das "Definitive"-Buch ist schon schmerzhaft vollständig, aber es geht davon aus, daß man weiß, was man tut. Apache für Dummies ist ein guter Anfang. Außerdem sollten Sie sich wahrscheinlich ein Buch über HTML besorgen.
Ein oder zwei bizarre Dinge, die mir bei Apache aufgefallen sind:
Erstens: Falls Sie sich zu irgendeinem Zeitpunkt entscheiden sollten, mod_roaming einzurichten, stellen Sie sich darauf ein, Apache neu zu kompilieren. Ich weiß nicht, was passiert ist, aber mod_roaming ist bald jeden Tag abgestürzt. Ich habe mich dann entschlossen, etwas Debugcode einzufügen, so daß ich das Problem finden konnte. Nachdem ich es geschafft hatte, Apache neu zu kompilieren (was schon ein weiteres vollständiges Projekt war), funktionierte mod_roaming problemlos. Am Ende habe ich dann ein Dienstprogramm namens PMRA (Poor Mans Roaming Access) geschrieben, das mod_roaming überflüssig macht.
Zweitens: bei manchen Apache-Versionen hat exec-cmd einen Bug. Benutzen Sie exec-cgi. Wenn Sie sich darunter noch nichts vorstellen können, machen Sie sich keine Sorgen. Erinnern Sie sich nur daran, wenn das Problem auftaucht.
Drittens: Auf der Website Apache for OS/2 finden Sie einen Link zur richtigen Version der emx-Laufzeitumgebung auf Hobbes. Der Grund ist ein technischer: "Sie funktioniert richtig." Im Ernst, IBM hat seit einer ganzen Weile am TCP/IP-Stack für alle OS/2-Versionen herumgespielt, man sollte also annehmen können, daß mittlerweile alles funktioniert, nicht wahr? Falsch. Mit der neuesten emx-Laufzeitumgebung und dem originalen IP-Stack, der mit WSeB ausgeliefert wurde, kann ich mein System so lange laufen lassen, wie ich will, ohne neu booten zu müssen. Wenn man eine der Variablen ändert, muß man wöchentlich neu booten. Ich kann nicht begreifen, warum dies so ist (und anderen geht es auch so); dieser ganze Artikel basiert auf Beobachtungen, nicht auf irrelevanten Details, wie dem, was das Handbuch sagt, oder was die Programmier denken.
Wie schon beim Firewall, ist es auch hier am wichtigsten, die Grundfunktionalität herzustellen. Sie können später daran herumfummeln. Wie geliefert serviert Apache seine Hilfeseiten, wenn Sie also www.ihredomain.com mit einem Browser aufrufen können und die Apache-Dokumentation sehen, haben Sie es richtig gemacht. Falls nicht, öffnen Sie httpd.conf im Verzeichnis \apache\conf und lesen Sie die Datei. Ich selbst habe es nur mit diesen Informationen und einem Buch über HTML durch mein erstes Jahr geschafft. Ich bin dann zusammengeklappt und habe einige Bücher gekauft, als ich damit anfing, mich mit dem <virtualhost>-Zeug zu beschäftigen, das ich hier nicht besprechen werde.
Ein paar mehr Details. Besuchen Sie diese Seite, um Weasel herunterzuladen. Die Dokumentation ist recht gut, aber belassen Sie die Sites erst einmal dabei, Relay-Mail von und nach * zu akzeptieren. Sie können sich später damit beschäftigen, wenn Sie möchten. Das wär's auch schon so ziemlich. Weasel funktioniert sehr gut mit einem Minimum an Konfiguration und Herumgefummel. Ich zolle ihm meine Hochachtung - er funktioniert einfach. Keine seltsamen Sachen, nichts, worauf man achten muß. Er funktioniert einfach.
Konfigurieren Sie Ihren E-Mail-Client für yourdomain.com für SMTP- und POP3-Maildienste und die Benutzerkennung und das Paßwort, wie Sie es im Weasel-Konfigurationsprogramm eingestellt haben. Damit sind Sie fertig.
Ich benutze einfach die Standard-Server, die Teil des Lieferumfanges von WSeB sind. Es gibt andere und wahrscheinlich bessere, aber sie funktionieren.
Und ab geht's wieder in die Welt des Absurden. Gehen Sie wieder zu F/X Communications und kaufen Sie Injoy Connect(IC). Es gibt andere Wege, einschließlich des PPP-Programms von OS/2, aber mit diesen gibt es auch Probleme. Injoy Connect ist recht schwer zu konfigurieren, aber dann funktioniert es sehr gut, und es ist wesentlich flexibler und bietet mehr Funktionen.
Zuerst sei festgestellt, daß diese Konfiguration nicht dafür ausgelegt ist, dynamische IP-Adressen zu verwenden. Persönlich finde ich die ganze Idee der dynamischen IP-Adressen furchtbar. Sie werden mehr Zeit damit verbringen herauszufinden, warum DHCP diese Woche nicht funktioniert, als Sie jemals dadurch sparen können, Ihre statischen IP-Adressen nicht verwalten zu müssen. "Kann jemand Datenbank sagen?"
Ich weise dem Dialin-Port (Gateway) die IP-Adresse 10.2.2.1 zu und dem wählenden System die Adresse 192.168.0.6. Das wird alles von Injoy Connect gehandhabt.
Mein IC befindet sich im Verzeichnis C:\ppp_svr.
Injoy Connect benutzt eine ganze Menge Textdateien für die ganzen Konfigurationseinstellungen. Plazieren Sie diese (siehe unten) im Verzeichnis c:\ppp_svr\bin\default.db und starten Sie Injoy Connect mit den Zeilen:
cd \ppp_svr\bin
start /min fxkernel
start /min dbserv -s:default.db
start /min portserv -s:default.db
call delay 2
start /min icgui
Hier ist die Datei delay.cmd - die Sie brauchen werden, da die ganzen anderen Sachen alle vollständig gestartet sein müssen, bevor Sie die GUI starten. Sie ist auch sehr praktisch für die STARTUP.CMD-Datei, da einige Dinge gestartet sein müssen, bevor andere gestartet werden können. Mehr dazu in Teil 3.
/* delay.cmd - läßt das System eine definierte Anzahl von Sekunden warten */
/* Syntax: delay <zeit>, wobei <zeit> die Zeit in Sekunden angibt */
call RxFuncAdd "SysSleep", "RexxUtil", "SysSleep"
parse arg sleeptime;
sleeptime=strip(sleeptime)
if sleeptime= '' then do
say "DELAY.CMD - läßt das System eine definierte Anzahl von Sekunden warten"
say "Syntax: delay <zeit>"
say "wobei <zeit> die Zeit in Sekunden angibt"
exit
end
else
call SysSleep sleeptime
exit
Übrigens ist die Injoy-Connect-GUI optional, aber es ist gut, wenn man sehen kann, was vor sich geht.
Im folgenden handelt es sich im die standardmäßigen default.db-Dateien von Injoy Connect. Kopieren Sie sie bitte nicht einfach - lesen Sie sie. Mit den Einstellungen, die ich vorgenommen habe, funktioniert alles, was ich will und wie ich es will. Ihre eigenen Bedürfnisse werden sicherlich davon abweichen. Ich habe einfach die Teile der standardmäßigen Konfigurationsdateien angepaßt, die ich brauchte, deswegen werden Sie viel finden, was deaktiviert oder irrelevant ist.
Ich habe mein bestes getan, um unbeabsichtigte Zeilenumbrüche zu vermeiden, aber Sie sollten dennoch darauf achten.
--------------------------------------------------------------------------------------
Injoy Connect Standarddateien in default.db
autstart.cnf
#-----------------------------------------------------------------------------
#AUTSTART.CNF
#-----------------------------------------------------------------------------
#
#Location.: Setup directory
#
#Purpose..: Define program-entries for autostarting
#
#Syntax...: Records begin in first position of a line.
#Attribute and value pairs are case-sensitive!
#Strings and IP address must be in quotes.
#
#The following meta variables can be used in
#the parameter field (with common sense)
#
#"[$PORT-ID]" - Id of port
#"[$DTE-SPEED]" - Speed of com-port
#"[$DEVICE]" - Device name (e.g. com2)
#"[$USER-ID]" - User ID
#"[$USER-DESCR]" - User Description field
#"[$PRIORITY]" - User priority
#"[$FCS]" - FCS errors
#"[$IP-LOCAL]" - Local (gateway) IP address
#"[$IP-PEER]" - IP address of user (PEER)
#"[$NETMASK]" - Netmask of user (PEER)
#"[$PROTOCOL]" - "PPP" or "SLIP"
#"[$MTU]" - MTU of PPP link
#"[$PKT-OUT]" - Number of packets going to user (from IP stack)
#"[$PKT-IN]" - Number of packets from user (to IP stack)
#"[$CHARS-OUT]" - Characters going out the port (to user)
#"[$CHARS-IN]" - Characters coming in the port (from user)
#"[$CON-TIME]" - Connection time in seconds
#
#Help.....: Not yet available
#
#Errors...: Dumped to logs/errors.trc
#
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
SAMPLE: COM2, authentication required.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
#FILTERS.CNF
#-----------------------------------------------------------------------------
#
#Location.: Database Directory
#
#Purpose..: Define filter rules used by the F/X Packet Filter Plugin.
#Default values are picked up from filters.cnf in base directory.
#
#Syntax...: Records begin in first position of a line.
#Attribute and value pairs are case-sensitive!
#Strings and IP address must be in quotes.
#
#Help.....: FILTER.TXT
#
#Errors...: Dumped to logs/errors.trc
#
#-----------------------------------------------------------------------------
#Notice:
#
#Currently filters are global and not per user (as RADIUS defines).
#-----------------------------------------------------------------------------
#
#
#
#SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE
#
#
#
#FUNCTION: Only NEW TCP connections and DNS lookups cause Dial-on-Demand
#
#
#
#When using the InJoy Dialer, it is often seen how just about
#
#any packet can trigger Dial-on-Demand. With filtering you have
#
#almost unlimited possibilities for fine-tuning DoD and below
#
#is a example that will allow only DNS-lookups and new TCP
#
#connections to trigger DoD. The three filters work together
#
#and the fact that filters are analyzed top-down helps us to
#
#simply allow the 2 special situations and then in the third
#
#filter reject everything else.
#
#
#
#TO ACTIVATE THE 3 FILTERS, REPLACE 'Passive' WITH 'Offline'
#
#
#
#-----------------------------------------------------------------------------
#
DOD-ALLOW-DNS Filter-Status = Passive,
Filter-Root = Yes,
Comment = "Erlaube DNS-Anfragen",
Filter-Scope = Outgoing-Packets,
Protocol = UDP,
Port = DNS,
Action = Forward-Packet, DOD-ALLOW-SYN Filter-Status = Passive,
Filter-Root = Yes,
Comment = "Erlaube SYN-Pakete (neue TCP-Verbindungen)",
Filter-Scope = Outgoing-Packets,
Protocol = TCP,
Bit-Number = SYN,
Bit-Value = 1,
Action = Forward-Packet,
DOD-REJECT-ALL Filter-Status = Passive,
Filter-Root = Yes,
Comment = "Verbiete alles andere...",
Filter-Scope = Outgoing-Packets,
Protocol = IGNORE,
Port = IGNORE,
Action = Drop-Packet,
#-----------------------------------------------------------------------------
#
#
#
#SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE
#
#
#
#FUNCTION: Removing outgoing NETBIOS packets
#
#
#
#An intranet with many Windows computers will typically generate
#
#a large number of NETBIOS packets, keeping your network busy.
#
#
#
#Below three filters that will keep these packets from hitting the
#
#ISP and the Internet.
#
#
#
#-----------------------------------------------------------------------------
#
NETBIOS Filter-Status = Passive,
Filter-Root = Yes,
Comment = "Entferne ausgehende UDP Netbios-NS",
Filter-Scope = Outgoing-Packets,
Protocol = UDP,
Port = NETBIOS,
Action = Drop-Packet,
NETBIOS-NS Filter-Status = Passive,
Filter-Root = Yes,
Comment = "Entferne ausgehende UDP Netbios-NS",
Filter-Scope = Outgoing-Packets,
Protocol = UDP,
Port = NETBIOS-NS,
Action = Drop-Packet,
NETBIOS-NS-S137 Filter-Status = Passive,
Filter-Root = Yes,
Comment = "Entferne Pakete mit Quell-Port Netbios-NS",
Filter-Scope = Outgoing-Packets,
Protocol = UDP,
Port = 53,
Offset-Relativity = TCP-Head-Start,
Offset = 0,
Hex-String = "\x00\x89",
Action = Drop-Packet,
#-----------------------------------------------------------------------------
#
#
#
#SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE
#
#
#
#FUNCTION: Demonstrate hex-matching
#
#
#
#Demonstrates the use of hex string matching to remove Netbios Keep
#
#alive packets.
#
#
#
#-----------------------------------------------------------------------------
#
NETBIOS-KEEPALIVE Filter-Status = Passive,
Filter-Root = Yes,
Comment = "Entferne Keep-Alive über Hex-String-Vergleich",
Filter-Scope = Outgoing-Packets,
Protocol = UDP,
Port = NETBIOS,
Offset-Relativity = Data-Start,
Offset = 0,
Hex-String = "\x00\x02\x0D\xF4\x0A\x03\x18\x61\x00\x8A\x00\xC6\x00\x00\x20",
Action = Drop-Packet,
#-----------------------------------------------------------------------------
#
#
#
#SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE
#
#
#
#FUNCTION: Turning off ICMP
#
#
#
#Some system administrators turn off all ICMP traffic to harden
#
#the job for hackers and possible flood pingers. A simple filter
#
#to turn off ALL ICMP traffic (including your ping and tracerte) is
#
#found below:
#
#
#
#-----------------------------------------------------------------------------
#
ICMP-FILTER Filter-Status = Passive,
Filter-Root = Yes,
Comment = "Entferne ICMP über Protokollvergleich",
Filter-Scope = Incoming-Packets,
Protocol = ICMP,
Action = Drop-Packet,
#-----------------------------------------------------------------------------
#
#
#
#SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE
#
#
#
#FUNCTION: Block a WWW site
#
#
#
#The below filter demonstrates how all people on the 10.2.*.* network
#
#are cut off from the porn site found at 207.126.124.139.
#
#
#
#-----------------------------------------------------------------------------
#
PORN-FILTER Filter-Status = Passive,
Filter-Root = Yes,
Comment = "Filtere WWW über IP-Adressen-Vergleich",
Filter-Scope = Outgoing-Packets,
Protocol = TCP,
Port = WWW,
Source-IP = "10.2.0.0",
Destination-IP = "207.126.124.139",
Source-Netmask = "255.255.0.0",
Destination-Netmask = "255.255.255.255",
Action = Drop-Packet,
#-----------------------------------------------------------------------------
#
#
#
#SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE
#
#
#
#FUNCTION: TCP session termination
#
#
#
#The tcp/ip stack has a habit of trying to kill tcp connections
#
#even after the IP connection is lost and the tcp application is
#
#dead. The below filters will remove these packets in the offline
#
#state, dramatically reducing the number of bogus packets in your
#
#network. Offers a nice improvement of Dial-on-Demand so use these
#
#in the 'Offline' state (Filter-Status = Offline).
#
#
#
#-----------------------------------------------------------------------------
#
FIN-PACKETS Filter-Status = Passive,
Filter-Root = Yes,
Comment = "Entferne FIN-P über Bit-Vergleich",
Filter-Scope = Outgoing-Packets,
Protocol = TCP,
Bit-Number = FIN,
Bit-Value = 1,
Action = Drop-Packet,
RST-PACKETS Filter-Status = Passive,
Filter-Root = Yes,
Comment = "Entferne RST-Pakete über Bit-Vergleich",
Filter-Scope = Outgoing-Packets,
Protocol = TCP,
Bit-Number = RST,
Bit-Value = 1,
Action = Drop-Packet,
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
#IP-POOL.CNF
#-----------------------------------------------------------------------------
#
#Location.: Setup directory
#
#Purpose..: Define ip pools for dynamic assignment of IP addresses.
#
#Syntax...: Records begin in first position of a line.
#Attribute and value pairs are case-sensitive!
#Strings and IP address must be in quotes.
#
#Help.....: Not yet available
#
#Errors...: Dumped to logs/errors.trc
#
#-----------------------------------------------------------------------------
Sie müssen dies an Ihre COM-Ports anpassen.#-----------------------------------------------------------------------------
#PORTS.CNF
#-----------------------------------------------------------------------------
#
#Location.: Setup directory
#
#Purpose..: Define ports
#
#Syntax...: Records begin in first position of a line.
#Attribute and value pairs are case-sensitive!
#Strings and IP address must be in quotes.
#
#Help.....: Not yet available
#
#Errors...: Dumped to logs/errors.trc
#
#-----------------------------------------------------------------------------
com1 Port-Status = Port-Enabled,
Port-Id = 0,
Description = "Port 1",
Default-User = "ppp_default",
Speed = 115200,
Authentication = CHAP-AND-PAP,
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
#SERVER.CNF
#-----------------------------------------------------------------------------
#
#Location.: Setup directory
#
#Purpose..: InJoy Connect General Server Settings.
#
#Syntax...: Records begin in first position of a line.
#Attribute and value pairs are case-sensitive!
#Strings and IP address must be in quotes.
#
#Help.....: Not yet available
#
#Errors...: Dumped to logs/errors.trc
#
#-----------------------------------------------------------------------------
SERVER_SETTINGS Status = Enabled,
Primary-DNS = "207.99.0.1"
Secondary-DNS = "207.99.0.2"
Autostart-Control=Enabled
Hier müssen Sie die Nameserver-Adressen anpassen.
Hier müssen Sie USER an Ihre Benutzerkennung und PASSWORD an Ihr Paßwort anpassen.#-----------------------------------------------------------------------------
#USERS.CNF
#-----------------------------------------------------------------------------
#
#Location.: Setup directory
#
#Purpose..: Database of users
#
#Syntax...: Records begin in first position of a line.
#Attribute and value pairs are case-sensitive!
#Strings and IP address must be in quotes.
#
#Help.....: Not yet available
#
#Errors...: Dumped to logs/errors.trc
#
#-----------------------------------------------------------------------------
#The below two users are used throughout the examples as "default users".
#Default users are users that are active on the port, as long as other
#(real) users have not logged in. If authentication is disabled (in the
#settings) for a port, then these default users provide enough information
#for a successful PPP or SLIP session.
ppp_default User-Service = Framed-User,
Framed-Protocol = PPP,
Login-Host = 10.2.2.1,
Framed-IP-Address = 10.2.2.10,
slip_default User-Service = Framed-User,
Framed-Protocol = SLIP,
Login-Host = 10.2.2.1,
Framed-IP-Address = 10.2.2.10,
USER Password = "PASSWORD",
User-Service = Framed-User,
Framed-Protocol = PPP,
Login-Host = 10.2.2.1,
Framed-IP-Address = 192.168.0.6,
#-----------------------------------------------------------------------------
Sie müssen IC definitiv starten, bevor Sie den Firewall und die Verbindungen zum Internet aufrufen. Ansonsten können seltsame Dinge passieren.
Sie werden vielleicht dennoch seltsames erleben, etwa daß die GUI nicht startet. Experimentieren Sie mit der Ladereihenfolge in Ihrer STARTUP.CMD, falls dies passiert. Ich starte IC als zweites, direkt nach net start server, und es funktioniert. Früher habe ich es später gestartet (genau vor Apache) und es ist schiefgegangen. Stellen Sie sich das mal vor. Ich gehe darauf genauer in Teil 3 ein.
Daten und Quellen:
|
[Artikelverzeichnis]
editor@os2voice.org
[Vorherige Seite] [Inhaltsverzeichnis] [Nächste Seite]
VOICE Homepage: http://de.os2voice.org