How to Configure an Ethernet / Wavelan Router using OpenBSD

This howto is a very brief summary of configuring a router to route between a home Ethernet LAN and a campus network via a Wavelan wireless link, using the OpenBSD operating system.

Most of this is a straightforward router setup, as described in the OpenBSD documentation. An extra step is necessary to patch the OpenBSD 2.8 kernel to correctly address the Cabletron PCMCIA - ISA bus adapter. The OpenBSD 2.8 boot floppy has the correct addressing, but the generic kernel does not.

Hardware configuration of test machine

CPU
	Intel Overdrive 166MHz
Memory
	18MB
Interfaces
	     wi0: Cabletron CSIBB-IP adapter (Vadem VG469 chipset)
	          Lucent WaveLAN Silver wireless card
	     dc0: Netgear FA310TX Rev D1 ethernet card
        

Kernel configuration (recompile kernel or use config utility)

Change pcic0 and pcic1 options
	pcic0   at isa? port 0x3e0 iomem 0xd0000 iosiz 0x4000
	pcic1   at isa? port 0x3e2 iomem 0xd4000 iosiz 0x4000
	
Reference 1 Reference 2 Reference 3

Configuration files

/etc/fstab
	/dev/wd0a / ffs rw 1 1
	/dev/wd0d /tmp ffs rw 1 2
	/dev/wd0e /var ffs rw 1 2
	/dev/wd0f /usr ffs rw 1 2
	/dev/wd0g /home ffs rw 1 2
	
/etc/hostname.dc0
	inet 192.168.200.1 255.255.255.0 NONE media 10baseT up
/etc/hostname.wi0
	inet 172.17.69.16 255.255.0.0
Use the IP provided by your Wavelan network administrator of course.
/etc/hosts
	127.0.0.1 localhost
	10.3.3.54 stirra-tmp.wwc stirra-tmp
	172.17.69.16 stirra-wlan.wwc stirra-wlan
	172.17.0.1 mesh
        
/etc/mygate
	172.17.0.1
/etc/dhcpd.conf
	shared-network stinet {
		option  domain-name-servers 10.10.10.1, 10.10.10.2;

		subnet 192.168.200.0 netmask 255.255.255.0 {
			option routers 192.168.200.1;

			range 192.168.200.32 192.168.200.127;
		}
	}
	
Your DNS hosts will vary, of course.
/etc/ipnat.rules
	map wi0 192.168.200.0/24 -> 0/32 proxy port ftp ftp/tcp
	map wi0 192.168.200.0/24 -> 0/32 portmap tcp/udp 10000:65000
	map wi0 192.168.200.0/24 -> 0/32
   
/etc/rc.conf
	dhcpd_flags="-q dc0"	# for normal use: "-q"
	ipfilter=YES
	ipnat=YES		# for "YES" ipfilter must also be "YES"
	portmap=NO		# almost always needed
	inetd=NO		# almost always needed
	sshd=YES		# if YES, run sshd
   
/etc/rc.local
	wicontrol wi0 -p 1 -n "NAMEOFYOURWAVELANNETWORK"
Supply the correct name of your Wavelan network.
/etc/resolv.conf
	search wwc
	nameserver 10.10.10.1
	lookup file bind
   
Your nameserver IP here.
/etc/sysctl.conf
	net.inet.ip.forwarding=1

Compiled by Ralph Stirling.

Special thanks to Chet Stuut and Barry Grussling for assistance.