If 'gwy' gets a packet from $client to $int_if, it will rdr and nat it so
that 'other' will receive a packet from $ext_if to $other, like so:

rdr $int_if from $client to $int_if -> $other
nat $ext_if from $client to $other -> $ext_if

                   int_if
client -------------- |    gwy    | ---------------- other
                          ext_if
(s:$client)           (s:$client)       (s:$ext_if)
(d:$int_if) -->       (d:$other )   --> (d:$other )



But what if I want $client to belong to gwy, and treat $int_if as a
virtual address? For example, if I 'ping $int_if', then when sniffing some
virtual interface, I'd see packets from $client to $int_if and vice versa.

However, the external interface will see packets from $ext_if to $other:

  |   gwy   | ------------- other

(s:$client)          (s:$ext_if)
(d:$int_if)     ---> (d:$other )


Essentially, we compress the client-gwy tandem into a single machine.  Can
this be done?  Would it require loopbacks or internal tunnels?


Justin

Reply via email to