| 123456789101112131415161718192021222324252627282930 | #! /usr/bin/env sh
usage()
{
  echo "Usage: ${0} internal_iface external_iface (on|off)" >&2
  exit 1
}
if [ "${#}" -ne 3 ]
then
  usage
fi
internal_iface="${1}"
external_iface="${2}"
status="${3}"
if [ "${status}" = "on" ]
then
  flag="-A"
elif [ "${status}" = "off" ]
then
  flag="-D"
else
  usage
fi
iptables -t nat "${flag}" POSTROUTING -o "${external_iface}" -j MASQUERADE
iptables "${flag}" FORWARD -i "${external_iface}" -o "${internal_iface}" -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables "${flag}" FORWARD -i "${internal_iface}" -o "${external_iface}" -j ACCEPT
 |