I was wondering why the NAT of zeroshell only lists interface and imply does a -J MASQUERADE for -o $DEV without any arguments. If you do not correctly have the subnet set for the source then not only do I feel that this is insecure but when you setup port forwarding/DNAT you will see the connection from the router’s IP instead of the actual external IP.
IE: instead of:
Chain POSTROUTING (policy ACCEPT 1359M packets, 73G bytes)
pkts bytes target prot opt in out source destination
62M 3906M MASQUERADE all -- * bond0 0.0.0.0/0 0.0.0.0/0
I would think you would want something that looks like:
Chain POSTROUTING (policy ACCEPT 1359M packets, 73G bytes)
pkts bytes target prot opt in out source destination
62M 3906M MASQUERADE all -- * bond0 192.168.168.0/24 0.0.0.0/0