EXAMPLE INSTALLATION OF PCROUTE ETHERNET - ETHERNET WITH PACKET DRIVERS Here we will do an example installation of PCroute, but in this case we will use packet driver software so that we can use two Micom Interlan NI5010 cards instead of the WD8003E. The procedure is almost identical for other cards that have packet driver software. The network configuration we will assume that we have is 129.105.49.0 129.105.5.0 255.255.255.0 255.255.255.0 /--------------------------/ /--------------------------/ Thin A | | Thick B | | +-----------+ | | +-------+ | 1 | | 3 | | 5 | | +---+ PCroute +---+ +---+ GW | | | | | +-----------+ +-------+ LOG HOST 129.105.35.2 That is we are trying to connect two ethernets together. We are using a class B number (129.105) but we are subneting it so that the first three tuples are the network part. The router will have the address 129.105.49.1 on network A and 129.105.5.3 on network B. Network A is thin ethernet (uses the BNC connector) and network B is thick (uses the DSub 15 connector) There is a gateway on network B that will be the default. Finally their is a UNIX host running syslogd whose IP address is 129.105.35.2 that will act as a logging host. Step 1 Compiling software: Let us assume that we have picked up the PACKPACK.exe executable from accuvax.nwu.edu that has been precompiled with two packet driver interfaces and renamed it to PCROUTE.EXE. Alternatively we could have edited DECLARE.INC as described in COMPILE.DOC and compiled a version ourselves. The precompiled version accesses the first card though software interrupt 60H and the second card through software interrupt 61H. Step 2 Configuring hardware The packet driver isolates the hardware details of the ethernet cards from PCroute. Thus it is only necessary that the packet driver and the card agree on parameters like I/O address and IRQ. Thus we can pick anything that does not conflict with other hardware (like the floppy, or the tick counter). Usually the factory default is a good choice. Also, in a bare-bones PC IRQ 2,3,4 and I/0 space 200H-2F0H are usually free (COM1 uses IRQ4 however). For this example we set the NI5010 card for network A to I/O address 280H and IRQ 2 and the NI5010 card for network B to I/O address 290H and IRQ 3. Step 3 Software configuration Copy pcroute.exe, and config.exe to a BOOTABLE floppy. Create and autoexec.bat file that has the single line 'PCROUTE' in it and place the file on the floppy. Next we get the packet driver software from our favorite source (sun.soe.clarkson.edu 128.153.12.3 or wherever) and extract the packet driver for the ni5010 from the packet driver distribution. Copy this file (NI5010.COM) to the floppy also. Since the usage of the NI5010 command (which we discovered by executing it without arguments) is ni5010 we edit an autoexec.bat file on the floppy so it has the following lines in it. ni5010 0x60 2 0x280 ni5010 0x61 3 0x290 pcroute This will load the two packet drivers needed by PCroute at the proper software interupts and then run the router when the PC boots. Next we set our default drive to the floppy and type 'CONFIG'. The dialog to the config program looks like (this is IDENTICAL to the dialog in ETHER.TXT) ------------------------------------------------------------------------ This program creates/edits the pcroute.cfg file Configuring an interface Address for the interface [0.0.0.0] ? 129.105.49.1 Subnet mask for the interface [0.0.0.0] ? 255.255.255.0 Flag Meanings (if set) Bit 0 (1h) - Don't send routing updates out this interface Bit 1 (2h) - Don't listen to routing updates from this interface Bit 2 (4h) - Proxy Arp for all subnets Bit 3 (8h) - Turn off directed broadcasts Bit 4 (10h) - Turn off the issuing of ICMP redirects Bit 5 (20h) - Broadcast using old (0's) format Flags (HEX) for the interface [0H] ? 0 Routeing Metric (HEX) for the interface [1H] ? 1 Configuring an interface Address for the interface [0.0.0.0] ? 129.105.5.3 Subnet mask for the interface [0.0.0.0] ? 255.255.255.0 Flag Meanings (if set) Bit 0 (1h) - Don't send routing updates out this interface Bit 1 (2h) - Don't listen to routing updates from this interface Bit 2 (4h) - Proxy Arp for all subnets Bit 3 (8h) - Turn off directed broadcasts Bit 4 (10h) - Turn off the issuing of ICMP redirects Flags (HEX) for the interface [0H] ? 0 Routeing Metric (HEX) for the interface [1H] ? 1 If you wish to configure static routes do so here. To stop type a '.' Flag Meanings (if set) Bit 0 (1h) - Local route, do not propagate it Bit 1 (2h) - Transient route, subject to RIP protocol Network [0.0.0.0] ? 0.0.0.0 Gateway [0.0.0.0] ? 129.105.5.5 Metric (HEX) [9H] ? 9 Flags (HEX) [0H] ? 2 Network [0.0.0.0] ? . If you wish to forward bootp packets please enter the address of the address to forward it to. This address can be a directed broadcast. 0.0.0.0 means don't forward Address to forward bootp packets [0.0.0.0] ? 0.0.0.0 Once PCroute boots up, it sends all log messages to a network host running a BSD UNIX syslogd daemon. To disable logging enter 0.0.0.0 Host to send logging info to [0.0.0.0] ? 129.105.35.2 Mask Meanings (0 = Log, 1 = Don't log) Bit 0 (1h) - System Bit 1 (2h) - Routing Bit 2 (4h) - Monitor Bit 3 (8h) - Localtalk Logging mask for this router [0H] ? 0 There are 8 routing 'levels' supported 0 - Emergency 1 - Alert 2 - Critical 3 - Error 4 - Warning 5 - Notice 6 - info 7 - Debug Only messages with a level less than the logging level are sent Logging level [0H] ? 7 ------------------------------------------------------------------------ The configuration procedure first describes each interface in the router, giving its IP address and network mask. The flags should normally be 0, but if you have any old (pre 1988) software), you should probably set flag bit 3 and bit 4. Next we set the routes. In this example we rely TOTALLY on RIP to provide ALL routing information. This is the recommended method, if at all possible. Notice we do install a default route, but we set bit 1, which makes this route expire in 90 seconds. This route is useful so that the PCrouter can reach the logging host even before it has received RIP information from any host (presumably host 129.105.5.5). Since we do not need BOOTP forwarding, we disable it by entering the address 0.0.0.0. Finally we set the logging information. We set the logging host to 129.105.35.2 and we set the logging filters to send everything that is not a debugging message. This is a good setting for a production machine. Since in this example we are assuming that RIP is being used, we should make sure that 129.105.5.5 is generating RIP packets. Finally we should log on to the logging host and (assuming it is a BSD 4.3 system), and edit the /etc/syslog.conf file so it included the following line local0.debug /usr/adm/pcroute Note that in this example we log all messages to the file /usr/adm/pcroute. If you want them to go elsewhere consult the UNIX manual and change /etc/syslog.conf accordingly. Don't forget to kill -HUP the syslogd process, to tell it that the configuration file has changed. Step 4 Running and Testing. When config completes, insert the floppy into the PCrouter and boot the machine. Then log on to some host on net A and try to PING 129.105.49.1, also log on to net B and try pinging 129.105.5.3. If these work, try pinging 129.105.49.1 from net B and 129.105.5.3 from net A. If these work try telneting from the host on net A to the host on net B. Try telneting from net A to arbitrary hosts. Finally log on to the logging host and check to see if PCroute sent the message that it is 'coming up' to the logging host. If all these tests succeed, congratulations! you have installed your first PCrouter. If some of these tests fail, refer to the document TROUBLE.DOC and follow the instructions there.