I can tell you how I do that on a Linux box.
Wireless LAN is subnet 192.168.0.0 netmask 255.255.255.0
Fixed LAN is subnet 192.168.1.0 netmask 255.255.255.0
Wireless ADSL modem with address 192.168.0.1 acts as DHCP server for 192.168.0.0
A linux box with fixed connection (eth0) address 192.168.1.1 acts as DHCP server for 192.168.1.0
This box also has a wireless connection (wlan0) address 192.168.0.4 and acts as a gateway between the subnets.
The routing table on the linux box is
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.1 * 255.255.255.255 UH 0 0 0 wlan0
192.168.1.0 * 255.255.255.0 U 1 0 0 eth0
192.168.0.0 * 255.255.255.0 U 2 0 0 wlan0
default 192.168.0.1 0.0.0.0 UG 0 0 0 wlan0
The route command is used to manipulate the routing table, e.g.
route del default # deletes the default route
route add -net 192.168.0.1 netmask 255.255.255.255 dev wlan0
route add default gw 192.168.0.1 # adds the default route
The wireless ADSL router has a static route added
On my Linux box packet forwarding between subnets is disabled by default.
To enable forwarding (to allow the subnets to talk to each other) use
sysctl -w net.ipv4.ip_forward=1
You probably have to do something pretty similar on your Mac.
I'm not a network guy so have no idea if what I do is the "proper" way.
Edited by john2007 (Fri 17-Jun-11 15:58:43)