and for the fun of it.
I’ve been playing with the latest release of dynamips (0.2.10), and very excitingly it can build for x86_64 OS X! Â So I thought I’d build up a good sized network, much like what I first was exposed to when I started doing cisco networking back in the 1990’s.
Sadly I didn’t hold onto any IOS from back then, so I’m using something much newer, 12.2. Â Back then I actually had some IGS stuff with version 9, and bunch of stuff on version 10 & 11. Â For the most part I was lucky to use a 7513 as my wan core router, a 7200 for an access router, and 5500’s as my core route/switch fabric with ATM. Â It was … very complicated for the day.
To get the ball rolling, I thought I would build out a core site, with a user & server VLAN (voip was a dream back then), and two sites connected via frame relay. Â The protocols I most care about will be IPX/SPX and TCP/IP. Â I was thinking of porting back the UDP patches for Qemu to version 0.90 so I could run Netware 3.12 in the mix, but honestly it is just easier to use the Netware file & print services for NT 4.0.
So along with the dynamips program, I’m using the obsolete (and easier to configure IMHO) dynagen program.
I’ve fed it a configuration like this:
autostart = False
[localhost]
[[7200]]
image = C7200-JS.BIN
npe = npe-400
ram = 160
idlepc = 0x60529c84
disk0 = 0
mmap = False
ghostios = True[[ROUTER corertr1]]
model = 7200
slot1 = PA-8E
F0/0 = coresw1 1
E1/0 = coresw1 3
E1/1 = coresw1 8[[ROUTER corewan1]]
model = 7200
slot1 = PA-8T
F0/0 = coresw1 2
s1/0 = F1 1
configuration = ”[[ROUTER nycrtr1]]
model = 7200
slot1 = PA-4T+
f0/0 = nycsw1 1
s1/0 = F1 2
configuration = ”[[ROUTER hkgrtr1]]
model = 7200
slot1 = PA-4T+
f0/0 = hkgsw1 1
s1/0 = F1 3
configuration = ”#Frame relay switch
[[FRSW F1]]
1:102 = 2:201
1:103 = 3:301#Core ethernet
#vlan 5 WAN
#vlan 6 server
# 4 FPNW-DC 138.1.1.10
#vlan 7 workstation
[[ethsw coresw1]]
1 = access 5
2 = access 5
3 = access 6
4 = access 6 NIO_udp:41300:127.0.0.1:51300
5 = access 6 NIO_udp:41301:127.0.0.1:51301
6 = access 6 NIO_udp:41302:127.0.0.1:51302
7 = access 6 NIO_udp:41303:127.0.0.1:51303
8 = access 7
9 = access 7 NIO_udp:41304:127.0.0.1:51304[[ethsw nycsw1]]
1 = access 1
2 = access 1 NIO_udp:41305:127.0.0.1:51305[[ethsw hkgsw1]]
1 = access 1
2 = access 1 NIO_udp:41306:127.0.0.1:51306
Ok, now this may look complicated, but in all reality it really isn’t. Â It is always a good thing to keep track of what network addresses you are going to use, so here is my chart:
Description | IPX | IP | Mask | |
CORE | ||||
FA0/0 | Wan Interconnect | C0000001 | 138.1.0.5 | 255.255.255.0 |
Eth1/0 | Server | C0010001 | 138.1.1.1 | 255.255.255.0 |
Eth1/1 | User | C0010002 | 138.1.10.1 | 255.255.255.0 |
WAN | ||||
Fa0/0 | Wan Interconnect | C0000001 | 138.1.0.6 | 255.255.255.0 |
S1/0.102 | New York PVC | A0000001 | 135.0.0.5 | 255.255.255.252 |
S1/0.103 | Hong Kong PVC | A0000002 | 135.0.0.1 | 255.255.255.252 |
New York | ||||
Fa0/0 | User | C10000001 | 136.2.0.1 | 255.255.255.0 |
S1/0.201 | Core PVC 201 | A0000001 | 135.0.0.6 | 255.255.255.252 |
Hong Kong | ||||
Fa0/0 | User | C20000001 | 136.1.0.1 | 255.255.255.0 |
S1/0.301 | Core PVC 301 | A0000002 | 135.0.0.2 | 255.255.255.252 |
For simplicities sake for the routers & IOS I’m using 7200’s everywhere. Â The 7200 is a good router with plenty of slots, so it fits my needs just fine. Â I suppose I could track down a 2600 or 1700 IOS image, and use them for the access sites, but for now it doesn’t matter. Â Mostly because of the ghostios image option where the same memory map can be shared between routers, and of course my Mac Pro has 16GB of RAM.
Now the exciting part of this configuration is that I can easily connect in Qemu 1.6.0 processes to this configuration, allowing me to test the network out in its entirety. Â Even better thanks to it being UDP, I can reboot and restart the Qemu or router processes at will.
Naturally like any test scenario, I should spell out some goals, along with some applications that I hope to be able to run. Â So to start, a simple setup with an NT 4.0 server with the FPNW services setup. Â To run Qemu to attach to the first port on the server VLAN in the core switch I start Qemu like this:
./qemu/qemu-system-i386 -cpu pentium -L ./qemu/pc-bios/ -m 64 -hda FPNW-DC.vmdk -net nic,model=pcnet -net nic,model=ne2k_isa -net socket,udp=localhost:41300,localaddr=0.0.0.0:51300
And from there by changing the UDP numbers I can easily jump VLANs. Â Fun. Â The major thing is that each additional instance of Qemu will need a unique MAC address, so additional instances should be run like this…
./qemu/qemu-system-i386 -L ./qemu/pc-bios/ -m 16 -net nic,model=pcnet,macaddr=00:11:22:33:44:55 -net socket,udp=localhost:41304,localaddr=0.0.0.0:51304 Â -fda nwclient-pcnet.vfd
So maybe I should launch into some big diatribe on cisco routers, networking and the rest of the fun stuff. Â And maybe I will.
I think the next article will be an anchor page for various topics of what I’m going to get into, and from there evolve my network from the mid 90’s before the internet craze into something far more modern. Â And of course a page going over the scope of what I hope to create.
Great! They don’t even cover IPX/SPX in the CCNA track these days although I have a few real routers that support it (and token ring!). That led my down the path of trying to get Netware 5.1 running in Qemu as it supports IPX and tcp/ip. No joy in Qemu but succeeded using Virtual PC 2007 and latterly VMware player.
Hmm pretty much like how Netware 3.12 & 4.2 boot in Qemu but the disk access crashes them out. 0.90 runs them fine though.
Im torn between FPNW working good enough in 1.6.0, and slowly looking at the UDP code and adding it into 0.90.. but it seems like a lot of work for something that honestly nobody but me will use.
At the same time I guess if I do get it to work, I could add it to SIMH, and try DECNET, but I’ve always been a BSD head, not a VMS guy.
Somebody added the UDP code in Pemu (the pix emulator) which was based on 0.90. The GNS3 guys back-ported it as far as 0.11 AFAIK. Pemu requires gcc3 to compile though.
I wonder if Netware runs on 0.11 …. I’ve managed to get a working Mingw with GCC 3.4.5 (I love virtual machines!) so I’ll have to see if I can find that or an ancient Pemu. The PIX is just a PC, so I would (HOPE) it would be possible to run things like MS-DOS and friends…
IPX/SPX? How about some Appletalk…. or even DECNet?
I was going to add those when I found a good way of injecting them into dynamips…
That’s kids stuff. Try SNA 🙂
wish I could, but I can’t find anything to emulate a SNA network 🙁 There was one test product but the company is bust as far as I can tell, but it did let you connect something like SNA server to it, and it would do some demo screens. Sadly Hercules doesn’t do SNA… Do you have any leads…???
I too was a translational bridge survivor of the 1990’s… with MS SNA server, OS/2 comm server, and Novell’s SNA server. As much as the experience was cringetastic all around, MS SNA server was the easiest to get going by FAR.
I wonder if I still have a copy of SNA Server 2.11, the more stable version, EVER.