Problem
You want to tunnel a foreign protocol such as IPX traffic through your IP network.
Solution
One of the most important applications of tunnels is for passing foreign protocols through a network that only supports IP. A typical example of this would be IPX, although the configuration is similar for other protocols such as Appletalk:
Router1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router1(config)#ipx routing AAAA.BBBB.0001 Router1(config)#interface Tunnel1 Router1(config-if)#ipx network AAA Router1(config-if)#tunnel source 172.25.1.5 Router1(config-if)#tunnel destination 172.25.1.7 Router1(config-if)#exit Router1(config)#end Router1#
Then on the other router you must create a tunnel interface with a matching source and destination, as well as a matching IPX network number:
Router5#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router2(config)#ipx routing AAAA.BBBB.0002 Router5(config)#interface Tunnel3 Router5(config-if)#ipx network AAA Router5(config-if)#tunnel source 172.25.1.7 Router5(config-if)#tunnel destination 172.25.1.5 Router5(config-if)#exit Router5(config)#end Router5#
Discussion
This recipe is nearly identical to Recipe 12.1, but instead of tunneling IP traffic through an IP network, we use the same kind of tunnel to pass IPX traffic through the same network. Note that of all the supported tunnel modes mentioned in Table 12.1, only the default GRE will transport IPX, although there are several AppleTalk tunnel modes.
This book does not cover IPX, so we won't go into any detail on the IPX-specific commands here. This is merely intended as an example of how to use GRE tunnels for foreign protocols. For more information on IPX, please refer to Designing Large-Scale LANs by Kevin Dooley (O'Reilly).
To enable IPX on both of these routers, first you have to make sure that you are running an IOS release that supports IPX. The various "Desktop" IOS versions support this protocol, as do the "Enterprise" versions. Please consult the Cisco IOS feature matrices for more details. Assuming, then, that your router supports IPX, you can enable it with the ipx routing command, as shown. Naturally, you need to enable IPX routing on both routers. Then the only other important detail is to configure both ends of the GRE tunnel with matching IPX network numbers, as we have done in the example.
It's important to note that you can configure a GRE tunnel to support more than one protocol by simply specifying appropriate network numbers for each protocol using the tunnel. We could, for example, add IP to this IPX tunnel by simply configuring an IP address on both ends, as we did in Recipe 12.1. Then the tunnel will support both protocols simultaneously:
Router1(config)#interface Tunnel1 Router1(config-if)#ip address 192.168.35.6 255.255.255.252 Router1(config-if)#ipx network AAA Router1(config-if)#tunnel source 172.25.1.5 Router1(config-if)#tunnel destination 172.25.1.7 Router1(config-if)#exit Router1(config)#end Router1#
See Also
Recipe 12.1; Designing Large-Scale LANs by Kevin Dooley (O'Reilly)
Router Configuration and File Management
Router Management
User Access and Privilege Levels
TACACS+
IP Routing
RIP
EIGRP
OSPF
BGP
Frame Relay
Handling Queuing and Congestion
Tunnels and VPNs
Dial Backup
NTP and Time
DLSw
Router Interfaces and Media
Simple Network Management Protocol
Logging
Access-Lists
DHCP
NAT
First Hop Redundancy Protocols
IP Multicast
IP Mobility
IPv6
MPLS
Security
Appendix 1. External Software Packages
Appendix 2. IP Precedence, TOS, and DSCP Classifications
Index