And I don't even think this is Code Red II related (or only
indirectly; I think this is CBOS 2.4.x related, and I performed that
upgrade because of Code Red).

I'm in PPP mode (not bridged) and I've got static IPs.  I'm using
Virtual Ethernet Ports (VIP) along with NAT; the internal ethernet
segments are carrying both my static /28 subnet and my private
internal class-A (10.* is so much easier to remember than the class c
one).  Thus my two servers are exposed to the wild net (i.e. their
static IPs are routed), but the workstations running on internal
addresses are protected behind NAT. Besides, there are more total
active addresses inside than I have static IPs.

This was working fine under CBOS 2.2.something (the VIP feature
appeared in 2.2, and that's why I upgraded to it).

It stopped working in one particular area with the CBOS 2.4.[1,2]
upgrade (I'm currently running 2.4.2, but was a .1 briefly along the
way). 

A workstation (on an internal IP address) can no longer access the
local servers on their public IP address. 

I know the mechanism of the failure.  What's happening is that the
packet from 10.0.0.221 (workstation) to 63.224.10.73 is being NATted
so that it is now a packet from 63.224.10.78 to 63.224.10.73. This
reaches .73 correctly, and .73 responds with a packet from .73 to
.78. This reaches the router and nothing then happens. After a few
seconds retry attempts begin. Nothing is every accomplished.

I *think* the failure to handle the return packet through NAT properly
is because of the newly added feature that a VIP can be declared
"inside" or "outside" for NAT purposes. Mine are outside (and that's
the default) because the whole point is to NOT perform NAT on traffic
between my static /28 and the outside Internet. 

What this means in practice is that we cannot reach the by-name
virtual web servers hosted on the inside servers; which means that I
and the other people living here can't look at the web pages we're
maintaining / developing.  For everything else, accessing the servers
by their inside IP addresses works fine (ssh, ftp, X, and so forth).
This is severely annoying to all of us, so I'm under a fair amount of
pressure to find a *fix* for this. (Yes, one workaround that has
occurred to me is to see if I can get the by-name virtual hosting to
respond at multiple IP addresses; see below where I say I want a
solution not a workaround if at all possible, but if I have to fall
back on a workaround this might be one of the better ones.)

I can't find anybody at Qwest (and I'm a pro-DSL customer) who seems
to have the faintest clue about this level of configuration.  Heck,
the Cisco documentation doesn't say anything about what *uses* one
might make of VIP, nor does it give any example configurations.  I'd
think mine is a common one -- short of a full DMZ, which requires
either another router or a different router (i.e. one with separate
"inside" and "DMZ" ports), my configuration seems to be the obvious
setup for businesses and home offices that want to have a few
publically visible servers, and lots of private inside stuff. 

Anybody got any bright ideas on this?  Any Cisco 675 experts?  (And
just for my curiosity, is there some actual benefit to breaking the
previous behavior that I was using? Does it make something else nifty
keen possible?)

I really want to find a *solution*; I've thought a bit about various
workarounds, and some of them might work, but they all make additional
pieces of hardware or software mission-critical for this network, so
I want to avoid them if at all possible. If I have to give up on
looking for a solution, I'll be back to ask for help shooting at
workarounds I guess :-(. 

To be *really* specific, here's some packets:

Packet 1:  ddb -> nat
    Network:  Ethernet
    Frame type:  802.3,  Frame size:  66
    Time:  22h:36m 18.116 000s,  Diff. time: 0.000000
    Date:  Wed Aug 08 2001
IP,    10.0.0.221     -> 63.224.10.73
    Source IP:  10.0.0.221    ,  Destination IP:  63.224.10.73
    Version: 04,    IP header length: 05 (32 bit words)
    Service type:  0:  Precedence: 0, Delay: Norm, Throug: Norm,
    Reliab: Norm
    Total IP length: 48
    ID: F3FCh
    Fragment flags: [10] - don't fragment - last fragment
    Fragment offset: 0
    Time to live: 128
    PROTOCOL: [6] TCP
    Header checksum: B1C5 (GOOD)
TCP  SYN,   [1553] -> [80]
    Source port: [1553]    Destination port: [80] http
    Sequence number: 82466987,   Acknowledgement:    0
    TCP header length: 07 (32 bit words),   Window: 64240
    TCP data length: 0,   Checksum: CF32h (GOOD)
    TCP options:  Maximum segment size= 1460.
    Sequence number + TCP data length: 82466987
HTTP Section: 0 bytes
    No HTTP data sent with this packet
   ---------------------------------------------------------------    
   ---------------------------------------------------------------


Packet 2:  nat -> ns2
    Network:  Ethernet
    Frame type:  802.3,  Frame size:  66
    Time:  22h:36m 18.117 000s,  Diff. time: 0.001000
    Date:  Wed Aug 08 2001
IP,    63.224.10.78 -> 63.224.10.73
    Source IP:  63.224.10.78,  Destination IP:  63.224.10.73
    Version: 04,    IP header length: 05 (32 bit words)
    Service type:  0:  Precedence: 0, Delay: Norm, Throug: Norm,
    Reliab: Norm
    Total IP length: 48
    ID: F3FCh
    Fragment flags: [10] - don't fragment - last fragment
    Fragment offset: 0
    Time to live: 127
    PROTOCOL: [6] TCP
    Header checksum: 7374 (GOOD)
TCP  SYN,   [10041] -> [80]
    Source port: [10041]    Destination port: [80] http
    Sequence number: 82466987,   Acknowledgement:    0
    TCP header length: 07 (32 bit words),   Window: 64240
    TCP data length: 0,   Checksum: 6EB9h (GOOD)
    TCP options:  Maximum segment size= 1460.
    Sequence number + TCP data length: 82466987
HTTP Section: 0 bytes
    No HTTP data sent with this packet
   ---------------------------------------------------------------    
   ---------------------------------------------------------------    


Packet 3:  ns2 -> nat
    Network:  Ethernet
    Frame type:  802.3,  Frame size:  66
    Time:  22h:36m 18.123 000s,  Diff. time: 0.006000
    Date:  Wed Aug 08 2001
IP,    63.224.10.73 -> 63.224.10.78
    Source IP:  63.224.10.73,  Destination IP:  63.224.10.78
    Version: 04,    IP header length: 05 (32 bit words)
    Service type:  0:  Precedence: 0, Delay: Norm, Throug: Norm,
    Reliab: Norm
    Total IP length: 48
    ID: 0000h
    Fragment flags: [10] - don't fragment - last fragment
    Fragment offset: 0
    Time to live: 64
    PROTOCOL: [6] TCP
    Header checksum: A671 (GOOD)
TCP  SYN ACK,   [80] -> [10041]
    Source port: [80] http   Destination port: [10041] 
    Sequence number: 2611854893,   Acknowledgement: 82466988
    TCP header length: 07 (32 bit words),   Window: 5840
    TCP data length: 0,   Checksum: F8EDh (GOOD)
    TCP options:  Maximum segment size= 1460.
    Sequence number + TCP data length: 2611854893
HTTP Section: 0 bytes
    No HTTP data sent with this packet
   ---------------------------------------------------------------    
   ---------------------------------------------------------------    


Packet 4:  ddb -> nat
    Network:  Ethernet
    Frame type:  802.3,  Frame size:  66
    Time:  22h:36m 21.039 000s,  Diff. time: 2.916000
    Date:  Wed Aug 08 2001
IP,    10.0.0.221     -> 63.224.10.73
    Source IP:  10.0.0.221    ,  Destination IP:  63.224.10.73
    Version: 04,    IP header length: 05 (32 bit words)
    Service type:  0:  Precedence: 0, Delay: Norm, Throug: Norm,
    Reliab: Norm
    Total IP length: 48
    ID: F4FCh
    Fragment flags: [10] - don't fragment - last fragment
    Fragment offset: 0
    Time to live: 128
    PROTOCOL: [6] TCP
    Header checksum: B0C5 (GOOD)
TCP  SYN,   [1553] -> [80]
    Source port: [1553]    Destination port: [80] http
    Sequence number: 82466987,   Acknowledgement:    0
    TCP header length: 07 (32 bit words),   Window: 64240
    TCP data length: 0,   Checksum: CF32h (GOOD)
    TCP options:  Maximum segment size= 1460.
    Sequence number + TCP data length: 82466987
HTTP Section: 0 bytes
    No HTTP data sent with this packet
   ---------------------------------------------------------------    
   ---------------------------------------------------------------    

-- 
David Dyer-Bennet      /      Welcome to the future!      /      dd-b at dd-b.net
Photos: http://dd-b.lighthunters.net/  
Book log: http://www.dd-b.net/dd-b/Ouroboros/booknotes/