Vernetzen von AS/400 untereinander

Aus Knowledgebase
Wechseln zu: Navigation, Suche

AnyNet ist eine (veraltete) Netzwerktechnologie von IBM. Sie ermöglicht es, unter Anderem APPC-Verbindungen über IP zu routen. AnyNet war auf verschiedenen Systemen verfügbar, wird aber auf modernen Betriebssystemen für diese Systeme nicht mehr unterstützt.
IBM empfiehlt, statt AnyNet die Enterprise Extender Funktion zu nutzen.

Die APPN/APPN-Kommunikation zwischen AS/400 läuft über APPC-Controller. Eine Liste der vorhandenen Controllerbeschreibungen kann mit wrkctld abgerufen werden.

Gründe für die Verbindung zweier Systeme können sein:

  • Benutzung von SNADS zum Daten hin- und herschieben,
  • Benutzung von PASSTHRU statt tn5250,
  • Remote-Zugriff auf Datentabellen (DRDA),
  • OfficeVision-Kollaboration,
  • lustiges Nachrichtenschreiben,

Die hier wiedergegebenen Vorgehensweisen wurden mit OS/400 V4R5 getestet.

Grundlegendes

Als Grundvoraussetzung muss AnyNet muss erlaubt werden:

CHGNETA ALWANYNET(*YES)

Danach sollte man mit ping prüfen, ob sich die zu vernetzenden Maschinen gegenseitig erreichen können. Beide Maschinen müssen über Port 397, TCP als auch UDP miteinander kommunizieren können.

APPC über IP funktioniert grob wie folgt:

  • Eine APPC-Controllerbeschreibung für das jeweils ferne System vom Typ *ANYNW wird angelegt,
  • in der Konfigurationsliste für ferne Systeme wird ein Eintrag für das jeweils ferne System vorgenommen,
  • in der lokalen hosts-Tabelle werden Einträge für die LU-Namen jeweils fernen Systeme vorgenommen.

Nun können die Controllerbeschreibungen angehängt werden. Der Verbindungsaufbau über IP wird letztlich über einen speziellen Hostnamen durchgeführt. Dieser kann auch im DNS vermerkt sein, Hosts-Einträge sind nicht obligatorisch.

Gegeben seien zwei Systeme, die miteinander verbunden werden sollen:

Systemname IP-Adresse
KEN NIBBLER
172.16.59.10 192.168.59.141

Die Reihenfolge der Konfiguration ist unerheblich.

Controllerbeschreibungen

Die RMTNETID ist für alle Systeme gleich: Standardwert APPN.

Auf NIBBLER:

CRTCTLAPPC CTLD(KEN) LINKTYPE(*ANYNW) RMTNETID(*NETATR) RMTCPNAME(KEN) TEXT('Ken via AnyNet')

Auf KEN:

CRTCTLAPPC CTLD(NIBBLER) LINKTYPE(*ANYNW) RMTNETID(*NETATR) RMTCPNAME(NIBBLER) TEXT('Nibbler via AnyNet')

Falls die Systeme über eine WAN-Strecke kommunizieren oder eine stateful Firewall einen Timer für Verbindungen ohne Datenverkehr aufweist, so empfiehlt es sich, den folgenden Parameter zu ergänzen:

CMNRCYLMT(99 1)

Damit schlägt im Falle einer Unterbrechung der erste aping noch fehl, der Zweite und weitere funktionieren aber.

Konfigurationstabellen

Mit dem menübasierten Befehl wrkcfgl müssen nun Einträge für die jeweiligen Systeme angelegt werden.

Falls in der angezeigten Konfigurationstabellenliste kein Eintrag Namens QAPPNLCL mit dem Typ *APPNLCL vorhanden ist, muss diese Liste angelegt werden. Als (einziger) Eintrag wird der Standardname des lokalen Standorts (LCLLOCNAME) aus dspneta hinzugefügt.

Falls in der angezeigten Konfigurationstabellenliste kein Eintrag Namens QAPPNRMT mit dem Typ *APPNRMT vorhanden ist, muss diese Liste angelegt werden. Als Eintrag wird jeweils hinzugefügt:

Eintrag
auf
Ferner
Standort
Ferne Netz-
werk-ID
Lokaler
Standort
Ferner
Kontrollpunkt
Kontrollpunkt
Netz-ID
Standort-
kennwort
Standort-
schutz
NIBBLER KEN APPN NIBBLER KEN APPN   *NO
KEN NIBBLER APPN KEN NIBBLER APPN   *NO

hosts-Einträge

Für die IP-Auflösung werden spezielle Namen verwendet, die sich wie folgt zusammensetzen:

  • Standardname des lokalen Standorts (LCLLOCNAME)
  • Lokale Netzwerk-ID (LCLNETID)
  • Statischer String: SNA.IBM.COM

Die Einträge werden durch Punkte getrennt. In unserem Fall:

Auf NIBBLER:

ADDTCPHTE INTNETADR('172.16.59.10') HOSTNAME((KEN.APPN.SNA.IBM.COM))

Auf KEN:

ADDTCPHTE INTNETADR('192.168.59.141') HOSTNAME((NIBBLER.APPN.SNA.COM))

Wie die derzeitigen Parameter gesetzt sind, lässt sich mit dspneta anzeigen.

Test

Die erstellten Controllerbeschreibungen müssen nun aktiviert werden.

Auf NIBBLER:

VRYCFG CFGOBJ(KEN) CFGTYPE(*CTL) STATUS(*ON)

Auf KEN:

VRYCFG CFGOBJ(NIBBLER) CFGTYPE(*CTL) STATUS(*ON)

Nun kann die Verbindung getestet werden. Damit die Meldungen in Gänze sichtbar sind, wird das über eine größere Kommandozeile erledigt:

CALL QCMD

Auf NIBBLER:

APING KEN

Auf KEN:

APING NIBBLER

Falls die Hosts in unterschiedlichen Netzwerken stehen (NETID), dann muss diese dem Namen vorangestellt werden, z. B.

APING APPN.NIBBLER

Weblinks