I need some help.

I work for a point of sale solution provider that offers services to
retail stores. I don't know all of the details but they keep servers
in the office each running their point of sale software and the
various stores the either dial in over a 56k connection or they go in
via a high speed internet connection.

We use cable as a primary provider of high speed service and dsl as a
backup because it tends to hickup quite a bit and this aggravates our
customers. We have been getting a few trojans and virus problems.
Here is why: Our network has two forms of communication to the
internet cable and dsl. When we connect via dsl, we are provided with
a dumb dsl router which routes all ip calls to our fire wall. It will
route every ip we have through the firewall and then the firewall will
translate the request to an internal ip address. The cable router
however is not that intelligent. It takes every ip call and handles
it at the cable router itself. It will not send all ip requests to
the firewall and then let the firewall do the routing. This creates a
situation where we then have to connect each of our servers directly
to the router and let the router handle all ip calls on it's own
without the benefit of firewall. Usually we do ok but from time to
time we have problems related to trojans or other compromises of
security.

To make it more clear, we use cable because it is faster and more
reliable but the router will not route all the ip calls to our
firewall if a call comes over the line for say 230.453.003.449, then
the router will then look for the computer with this name tag. what
we want is to have it forward the call to the firewall/router and then
let the firewall handle the external/internal ip resolution thus
protecting our systems on either dsl, or on cable and allowing the it
guys the ability to edit the router table when necessary.

Any ideas would be appreciated. Is it possible to get a computer to
answer to multiple ip addresses including it's own, but only deal with
data which pertains to it while forwarding the rest to the respective
pc's like a router? (don't laugh)