So yeah, let’s build a NetWare 3.12 server! I’ve covered this over and over and over, but heh let’s do it again!
First things first, the default position of the NE2000 card at 0x300/IRQ 9 does NOT WORK. Â This is the biggest stumbling block, and time waster right there. Â I loaded a PCnet driver, and it didn’t lock, but it didn’t work. Â I loaded 2 ne2000’s thinking the second would come up in the correct position but that didn’t work either. Â The solution of course is to dive into the parameters for QEMU to drive devices.
So for the fun of it, here is how I’m going to run this in a nested VM. Â It’s also why I didn’t bother enabling the ‘-enable-kvm’ flag. Â Although on a real machine I would.
qemu-system-i386 -m 16 \ -cpu 486 \ -net none \ -vnc :1 \ -device ne2k_isa,mac=00:2e:3c:92:11:01,netdev=lan,irq=11,iobase=0x320 \ -netdev vde,id=lan,sock=/tmp/local \ -hda netware312.qcow2 \ -hdb netware312_data.qcow2 \ -parallel none \ -monitor tcp::4400,server,nowait
So the key portion here is the iobase & irq. Â This let’s me sidestep the IRQ 9, port 0x300 issue. Â Talking to the monitor and running ‘info qtree’ I’m able to look at the parameters that I can pass the network card:
bus: isa.0 type ISA dev: ne2k_isa, id "" iobase = 800 (0x320) irq = 11 (0xb) mac = "00:2e:3c:92:11:01" vlan = netdev = "lan" isa irq 11
As you can see there is actually a few further things I could have set, but the key ones here being the iobase, the irq, the mac address, and then assigning it to a netdev, in this case I then bind it to a VDE.
Now the fun part goes back toÂ the old days of Netware when your network could run several possible frame times. Â If you have 2 machines with different frames, they will not see each-other. Â it was a cheap way to hide networks well until the wide spread availability of sniffers. Â Naturally cisco and Novell have different terms for the same things. Â Below are the ones that are relevant to Ethernet:
[table id=1 /]
So in my case on my Netware server I simply load my NE2000 like this:
LOAD NE2000 PORT=320 INT=A FRAME=ETHERNET_802.3 BIND IPX TO NE2000 NET=800852
Next on my cisco router I simply need:
ipx routing ca00.06a3.0000 interface FastEthernet0/0 ipx network 800852
And now I can see my server from the router:
HKOffice#sho ipx servers Codes: S - Static, P - Periodic, E - EIGRP, N - NLSP, H - Holddown, + = detail U - Per-user static 1 Total IPX Servers Table ordering is based on routing and server info Type Name Net Address Port Route Hops Itf P 4 HONGKONG 852.0000.0000.0001:0451 2/01 1 Fa0/0 HKOffice#
And the interface looks busy on NetWare
NetWare servers advertise their internal networks, much like how people should be using loopback adapters in OSPF, or EIGRP … So if you check the IPX routing table, you’ll see the wire route to the internal network:
HKOffice#sho ipx route Codes: C - Connected primary network, c - Connected secondary network S - Static, F - Floating static, L - Local (internal), W - IPXWAN R - RIP, E - EIGRP, N - NLSP, X - External, A - Aggregate s - seconds, u - uses, U - Per-user static/Unknown, H - Hold-down 2 Total IPX routes. Up to 1 parallel paths and 16 hops allowed. No default route known. C 800852 (NOVELL-ETHER), Fa0/0 R 852 [02/01] via 800852.002e.3c92.1101, 150s, Fa0/0
Just like that!
One thing to note, on VDE, I had an issue where the NetWare server takes about a minute before it’ll see traffic. Â It could be my IOS for all I know…..