I'm routing between subnets using a 2620 router with one fast ethernet port. I assigned the port two IP addresses. One address is in subnet A range. One is in subnet B range and is secondary. I'm nost using trunking. All hosts on both subnets are attached to one switch. Subnet A uses a modem for a gateway address to get to the internet. The modem interface address is in subnet A. Subnet B uses the router as a gateway, with a default route set to the IP addr of the subnet A modem. I was unable to get hosts from subnet B to the internet until I configured a static route in subnet A modem that routes all traffic for subnet B to the router's subnet A address. Why is this? I thought the router would replace the source address of a web request from subnet B to it's subnet A interface address?
The feature that you are describing is proxy arp. With proxy arp, if the router receives an arp request from a device in subnet A (such as the modem) looking for an address in subnet B, then if proxy arp is enabled the router will respond to the arp request with its own MAC address and can then forward the packet to the destination in B.
An important question is whether the modem will ARP for a destination that is not in its local subnet. By default a device (such as the modem) will ARP for the MAC address of devices within its own subnet. Some devices (and perhaps some configurations) can ARP for devices in remote subnets. But the behavior you describe implies that the modem is not arping for any remote addresses. That is why you need a route in the modem for the subnet of B.