In diesem Dokument werden Beispiele für Host- und Router-Konfigurationen beschrieben, um die OMPROUTE-Prozedur auf dem Mainframe auszuführen und Routing-Updates mit dem Rest des TCP/IP-Netzwerks auszutauschen. OMPROUTE wird häufig verwendet, wie in diesem Beispiel, in Verbindung mit einer Virtual IP Address (VIPA), die es ermöglicht, dass die IP-Adresse des in den Clients konfigurierten Mainframes unabhängig von einer Channel-Schnittstelle ist. Dies bietet Redundanz für den Kanal. Ursprünglich unterstützte die IBM-Mainframe-TCP/IP-Implementierung unter Verwendung des OROUTED-Verfahrens lediglich das Routing Information Protocol (RIP) als Routing-Protokoll. Die neuere OMPROUTE unterstützt entweder RIP V1 oder V2 und Open Shortest Path First (OSPF). IBM empfiehlt, OMPROUTE anstelle von OROUTED zu verwenden, und IBM wird schließlich die Unterstützung für OROUTED entfernen.
Für dieses Dokument bestehen keine speziellen Anforderungen.
Die für diese Konfiguration verwendete Cisco IOS® Software-Version war 12.1(3a)T2 mit xCPA-Mikrocode 27-9. Dies war der letzte Stand zum Testzeitpunkt. Wenn Sie jedoch CLAW verwenden, sollte dies mit jeder Version der Cisco IOS-Software funktionieren. Für die Verwendung von CMPC+ ist mindestens Cisco IOS Software Release 12.1T erforderlich.
Der Router war ein Cisco 7206 mit einem xCPA-Port-Adapter. Alternativ kann ein Cisco 7500-Router mit einer CIP-Karte mit geringfügigen Konfigurationsänderungen verwendet werden (siehe weiter unten in diesem Dokument).
Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.
Weitere Informationen zu Dokumentkonventionen finden Sie in den Cisco Technical Tips Conventions.
Die Konfiguration von OMPROUTE auf dem Mainframe ähnelt der von OROUTED. OMPROUTE verwendet außerdem mindestens zwei Konfigurationsdateien. Sie müssen auf den Speicherort dieser Konfigurationsdateien im OMVS-Adressbereich mit den folgenden beiden Umgebungsvariablen zeigen:
export resolver_conf=/etc/resolv.conf
export omproute_file=/etc/omproute.conf
Dies ist ein Beispiel für den Inhalt von resolver_conf:
TCPJobName TCPIP DomainOrigin cisco.com domain cisco.com Datasetprefix TCPIP HostName P390 Messagecase mixed
Die omproute_file hängt davon ab, ob RIP oder OSPF verwendet wird. Dies ist eine Beispielkonfiguration für RIP:
; Originate_RIP_Default Condition=Always Cost=1 ; RIP_Interface IP_Address=10.64.3.34 Name=LDIPTG Subnet_Mask=255.255.255.240 Receive_Dynamic_Nets=YES Receive_Dynamic_Subnets=YES MTU=1470 Destination_Addr=10.64.3.33 ; RIP_Interface IP_Address=10.64.3.17 Name=VIPALINK Subnet_Mask=255.255.255.240 MTU=1470 ;
Für OSPF stehen weitere Konfigurationsoptionen zur Verfügung, z. B. die Möglichkeit, das Mainframe als Stub-Bereich zu fungieren. Dies kann die Last-Routing-Updates, die auf dem Kanal platziert werden, erheblich reduzieren, wenn viele logische Partitionen (LPARs) über denselben Kanal eine Verbindung herstellen. Dies ist ein Beispiel:
Area Area_Number=0.0.0.0 Authentication_Type=None Stub_Area=NO ; Comparison=Type2 ; AS_Boundary_Routing Import_Subnet_Routes=YES Import_Direct_Routes=YES ; OSPF_Interface IP_Address=10.64.3.34 Name=LDIPTG Subnet_Mask=255.255.255.240 Attaches_To_Area=0.0.0.0 MTU=1470 Destination_Addr=10.64.3.33 Hello_Interval=30 Dead_Router_Interval=120 ; OSPF_Interface IP_Address=10.64.3.17 Name=VIPALINK Subnet_Mask=255.255.255.240
Für das TCP/IP-Profildataset ist keine spezielle Konfiguration für OMPROUTE erforderlich, außer dass Sie alle statischen und standardmäßigen Routenkonfigurationen und den Abschnitt BSDROUTINGPARMS (der nur von OROUTED verwendet wird) kommentieren müssen. Dieser Extrakt zeigt nur die Kommentare und Parameter, auf die sich die OMPROUTE-Konfigurationsdateien beziehen:
TCPIP Profile dataset --------------------- ----------------------------------------------------------------------- ; Hardware definitions: ----------------------------------------------------------------------- ; NOTE: To use these device and link statements, update the statements ; to reflect your installation configuration and remove the semicolon ; DEVICE DIPTG MPCPTP LINK LDIPTG MPCPTP DIPTG DEVICE VIPADEV VIRTUAL 0 LINK VIPALINK VIRTUAL 0 VIPADEV ; ; ; ----------------------------------------------------------------------- ; ; HOME Internet (IP) addresses of each link in the host. ; ; NOTE: To use this home statement, update the ipaddress and linknames ; to reflect your installation configuration and remove the semicolon ; HOME 10.64.3.17 VIPALINK 10.64.3.34 LDIPTG ; ----------------------------------------------------------------------- ; ; IP routing information for the host. All static IP routes should ; be added here. ; ; NOTE: To use this GATEWAY statement, update the addresses and links ; to reflect your installation configuration and remove the semicolon ; ; GATEWAY ; ; Direct Routes - Routes that are directly connected to my interfaces. ; ; Network First Hop Link Name Packet Size Subnet Mask Subnet Value ; 10 = CIS1 1500 0.255.255.0 0.101.1 ; 10 = LDIPTG 1500 0.255.255.240 0.64.3.32 ; 9 = LIS1 1500 0.255.255.0 0.117.56.0 ; 130.50 = TR1 2000 0.0.255.0 0.0.10.0 ; 193.5.2 = ETH1 1500 0 ; 9 = FDDI1 4000 0.255.255.0 0.67.43.0 ; 193.7.2.2 = SNA1 2000 HOST ; ; Indirect Routes - Routes that are reachable through routers on my ; network. ; ; Network First Hop Link Name Packet Size Subnet Mask Subnet Value ; DEFAULTNET 10.64.3.33 LDIPTG DEFAULTSIZE 0 ; 193.12.2 130.50.10.1 TR1 2000 0 ; 10.5.6.4 193.5.2.10 ETH1 1500 HOST ; ; Default Route - All packets to an unknown destination are routed ; through this route. ; ; Network First Hop Link Name Packet Size Subnet Mask Subnet Value ; DEFAULTNET 9.67.43.1 FDDI1 DEFAULTSIZE 0 ; ; ----------------------------------------------------------------------- ; ; orouted Routing Information ; ; if you are using orouted, comment out the GATEWAY statement and ; update the BSDROUTINGPARMS statement to reflect your installation ; configuration and remove the semicolon ; ; Link Maxmtu Metric Subnet Mask Dest Addr ; BSDROUTINGPARMS false ; LDIPTG 1500 0 255.255.255.240 10.64.3.33 ; VIPALINK 1500 0 255.255.255.240 0 ; TR1 2000 0 255.255.255.0 0 ; ETH1 1500 0 255.255.255.0 0 ; FDDI1 DEFAULTSIZE 0 255.255.255.0 0 ; ENDBSDROUTINGPARMS !--- Note that all of the last two sections have been commented out.
Routing-Updates können über CLAW- oder CMPC+-Verbindungen ausgetauscht werden. Wenn Sie CLAW verwenden, ist keine zusätzliche Konfiguration auf dem Mainframe erforderlich. In diesem Beispiel wird CMPC verwendet, für das ein TRL-Eintrag (VTAM Transport Resource List) erforderlich ist. Dies ist das VTAM-Mitglied:
DIPTGTRL VBUILD TYPE=TRL * * DIPTG TRLE LNCTL=MPC,MAXBFRU=16,READ=(E24),WRITE=(E25) *
Die TRL muss aktiviert werden, bevor die TCPIP-Aufgabe gestartet wird. Beispiel:
V NET,ACT,ID=DIPTRL1,UPDATE=ALL IST097I VARY ACCEPTED ISTTRL ACTIVE
Aktivieren Sie anschließend die TCP/IP-Startaufgabe mit dem Befehl S TCPIP MVS console. Sobald die TCP/IP-Startaufgabe ausgeführt wird, kann die OMPROUTE-Prozedur gestartet werden, entweder unter Verwendung von Job Control Language (JCL) als angefangene Aufgabe oder innerhalb des OMVS-Adressbereichs. Führen Sie folgende Befehle aus, um innerhalb von OMVS zu beginnen:
cd /usr/lpp/tcpip/sbin omproute &
Um zu überprüfen, ob OMPROUTE ausgeführt wird, führen Sie den folgenden Konsolenbefehl aus, wobei p390 die Benutzer-ID ist, unter der die OMPROUTE-Demon gestartet wurde:
d omvs,u=p390
Sowohl CLAW als auch CMPC müssen speziell so konfiguriert sein, dass Broadcasts über den Kanal gesendet werden, mit dem Broadcast-Schlüsselwort. Beispiel für CLAW:
claw 0100 20 10.101.1.10 P390D C7000D TCPIP TCPIP broadcast
In diesem Beispiel wird CMPC+ verwendet. Dies sind die relevanten Teile der Router-Konfiguration:
! interface Channel2/0 ip address 10.64.3.33 255.255.255.240 ip ospf network point-to-multipoint no keepalive cmpc 0100 24 DIPTG READ cmpc 0100 25 DIPTG WRITE tg DIPTG ip 10.64.3.34 10.64.3.33 broadcast router ospf 1 network 10.0.0.0 0.255.255.255 area 0 !
Hätte es sich um einen Cisco 7500-Router mit einer CIP-Karte anstelle eines 7200 mit einem xCPA-Port-Adapter gehandelt, wäre die tg-Anweisung unter der virtuellen /2-Schnittstelle konfiguriert worden. Beachten Sie den Befehl ip ospf network point-to-multipoint, der für die korrekte Funktion von OSPF erforderlich ist. Die Kanalschnittstelle wird wie Frame Relay als Multipoint-Schnittstelle betrachtet. Wenn Sie OSPF nicht im gesamten Netzwerk ausführen möchten, können Sie es nur auf der Kanalschnittstelle selbst ausführen und die Neuverteilung zwischen anderen Routing-Protokollen verwenden. Beispiel:
! router eigrp 1 redistribute ospf 1 passive-interface Channel2/0 network 10.0.0.0 no eigrp log-neighbor-changes ! router ospf 1 log-adjacency-changes redistribute eigrp 1 network 10.64.3.33 0.0.0.0 area 0 !
diplodocus# show extended channel 2/0 status Path: 0100 -- ESTABLISHED Command Selective System Device CU Dev Connects Retries Cancels Reset Reset Errors Busy 24 30 21 1 0 0 0 0 25 29 0 1 0 0 0 0 Blocks Bytes Dropped Blk Memd Dev-Lnk Read Write Read Write Read Write wait Con 24-00 29 6 3484 789 0 0 0 Y 25-00 9 29 801 3920 0 0 0 Y Path 0100 Total: 38 35 4285 4709 0 0 0 Last statistics 0 seconds old, next in 10 seconds diplodocus# show extended channel 2/0 cmpc Path Dv TGName Dir Bfrs Status CMPC 0100 24 DIPTG READ 16 Active+ CMPC 0100 25 DIPTG WRITE 16 Active+ diplodocus# show ip ospf i Channel2/0 is up, line protocol is up Internet Address 10.64.3.33/28, Area 0 Process ID 1, Router ID 200.100.100.9, Network Type POINT_TO_MULTIPOINT, Cost: 4 Transmit Delay is 1 sec, State POINT_TO_MULTIPOINT, Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5 Hello due in 00:00:10 Index 1/1, flood queue length 0 Next 0x0(0)/0x0(0) Last flood scan length is 1, maximum is 1 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 1, Adjacent neighbor count is 1 Adjacent with neighbor 10.64.3.17 Suppress hello for 0 neighbor(s) diplodocus# show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 10.64.3.17 1 FULL/ - 00:01:35 Neighbor is up for 00:04:01 10.64.3.34 Channel2/0 diplodocus# show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is 10.64.3.1 to network 0.0.0.0 1.0.0.0/27 is subnetted, 1 subnets C 1.1.1.0 is directly connected, Loopback1 200.100.100.0/29 is subnetted, 1 subnets C 200.100.100.8 is directly connected, Loopback0 10.0.0.0/8 is variably subnetted, 9 subnets, 3 masks D 10.0.0.0/8 is a summary, 00:06:40, Null0 C 10.64.3.0/28 is directly connected, Ethernet6/0 O E2 10.64.3.17/32 [110/1] via 10.64.3.34, 00:03:57, Channel2/0 O 10.64.3.16/28 [110/5] via 10.64.3.34, 00:03:57, Channel2/0 C 10.64.3.32/28 is directly connected, Channel2/0 S 10.64.3.34/32 [1/0] via 10.64.3.34, Channel2/0 S 10.64.3.37/32 [1/0] via 10.64.3.37, Channel2/0 C 10.64.3.48/28 is directly connected, Serial1/3.1 C 10.64.3.128/28 is directly connected, Serial1/3.2 S* 0.0.0.0/0 [1/0] via 10.64.3.1
D NET,TRL IST097I DISPLAY ACCEPTED ST350I DISPLAY TYPE = TRL 042 IST1314I TRLE = DIPTG STATUS = ACTIV CONTROL = MPC IST1454I 1 TRLE(S) DISPLAYED IST314I END D NET,TRL,TRLE=DIPTG IST097I DISPLAY ACCEPTED IST075I NAME = DIPTG, TYPE = TRLE 045 IST486I STATUS= ACTIV, DESIRED STATE= ACTIV IST087I TYPE = LEASED , CONTROL = MPC , HPDT = YES IST1715I MPCLEVEL = HPDT MPCUSAGE = SHARE IST1577I HEADER SIZE = 4092 DATA SIZE = 60 STORAGE = ***NA*** IST1221I WRITE DEV = 0E25 STATUS = ACTIVE STATE = ONLINE IST1577I HEADER SIZE = 4092 DATA SIZE = 60 STORAGE = DATASPACE IST1221I READ DEV = 0E24 STATUS = ACTIVE STATE = ONLINE IST314I END
netstat route zeigt die Routing-Tabelle an. Beispiel:
===> netstat route EZZ2350I MVS TCP/IP NETSTAT CS V2R7 TCPIP NAME: TCPIP 15:56:33 EZZ2755I Destination Gateway Flags Refcnt Interface EZZ2756I ----------- ------- ----- ------ --------- EZZ2757I 10.0.0.0 10.64.3.33 UG 000000 LDIPTG EZZ2757I 10.64.3.32 0.0.0.0 U 000000 LDIPTG EZZ2757I 10.64.3.33 0.0.0.0 UH 000000 LDIPTG
netstat-Gerät zeigt den Status usw. aller angeschlossenen Geräte oder Verbindungen an. Beispiel:
===> netstat device EZZ2350I MVS TCP/IP NETSTAT CS V2R7 TCPIP NAME: TCPIP 15:58:04 EZZ2760I DevName: LOOPBACK DevType: LOOPBACK DevNum: 0000 EZZ2761I LnkName: LOOPBACK LnkType: LOOPBACK Status: Ready EZZ2762I NetNum: 0 QueSize: 0 ByteIn: 0000004278 ByteOut: 0000004278 EZZ2768I BSD Routing Parameters: EZZ2769I MTU Size: 00000 Metric: 00 EZZ2770I DestAddr: 0.0.0.0 SubnetMask: 0.0.0.0 EZZ2810I Multicast Specific: EZZ2811I Multicast Capability: No EZZ2760I DevName: DIPTG DevType: MPC DevNum: 0000 EZZ2761I LnkName: LDIPTG LnkType: MPC Status: Ready EZZ2762I NetNum: 0 QueSize: 0 ByteIn: 0000001848 ByteOut: 0000001936 EZZ2768I BSD Routing Parameters: EZZ2769I MTU Size: 01470 Metric: 01 EZZ2770I DestAddr: 0.0.0.0 SubnetMask: 255.255.255.240 EZZ2810I Multicast Specific: EZZ2811I Multicast Capability: Yes EZZ2812I Group RefCnt EZZ2813I ----- ------ EZZ2814I 224.0.0.5 0000000001 EZZ2814I 224.0.0.1 0000000001 EZZ2760I DevName: VIPADEV DevType: VIPA DevNum: 0000 EZZ2761I LnkName: VIPALINK LnkType: VIPA Status: Ready EZZ2762I NetNum: 0 QueSize: 0 ByteIn: 0000000000 ByteOut: 0000000000 EZZ2768I BSD Routing Parameters: EZZ2769I MTU Size: 01470 Metric: 01 EZZ2770I DestAddr: 0.0.0.0 SubnetMask: 255.255.255.240 EZZ2810I Multicast Specific: EZZ2811I Multicast Capability: No
Mit netstat stehen viele weitere Optionen zur Verfügung. Sie können das netstat ausstellen ? um alle anzuzeigen.