local.m4: Allow dmz/jump packets on unsafe/colo networks and vice versa.
authorMark Wooding <mdw@distorted.org.uk>
Tue, 6 Mar 2012 23:26:10 +0000 (23:26 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Tue, 6 Mar 2012 23:26:10 +0000 (23:26 +0000)
commitce6434f7d5bcd51d8bf006e38d7b25dcbf8b518f
treef1954a8ee91b792b51cd31db4155908496365918
parentdad380658e5cb8f7233bc5f8ab328a2959f9f6ce
local.m4: Allow dmz/jump packets on unsafe/colo networks and vice versa.

The routing asymmetry is too grim otherwise.  Consider:

  * ibanez and vampire are both on dmz and unsafe;

  * vampire is a router on dmz, unsafe, and vpn, while ibanez is not a
    router;

  * crybaby is on vpn;

  * crybaby attempts to connect to ibanez.dmz.

Now ibanez will respond with its dmz address as the source, and
crybaby's vpn address as the destination.  Based on the destination, it
will choose to route the packet over the unsafe network.  We must
therefore let vampire know that this is a possibility.

Similarly, ibanez must be prepared to allow packets from unsafe
on its dmz interface because it's not a router: hence, to reach their
destination, they'll have to be pushed over dmz by a router.

It's therefore inevitable that we must abandon separation between these
two networks (or start fiddling with policy routing, which just seems
like more pain than it's worth).
local.m4