You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

gateway_nat.sh 586B

123456789101112131415161718192021222324252627282930
  1. #! /usr/bin/env sh
  2. usage()
  3. {
  4. echo "Usage: ${0} internal_iface external_iface (on|off)" >&2
  5. exit 1
  6. }
  7. if [ "${#}" -ne 3 ]
  8. then
  9. usage
  10. fi
  11. internal_iface="${1}"
  12. external_iface="${2}"
  13. status="${3}"
  14. if [ "${status}" = "on" ]
  15. then
  16. flag="-A"
  17. elif [ "${status}" = "off" ]
  18. then
  19. flag="-D"
  20. else
  21. usage
  22. fi
  23. iptables -t nat "${flag}" POSTROUTING -o "${external_iface}" -j MASQUERADE
  24. iptables "${flag}" FORWARD -i "${external_iface}" -o "${internal_iface}" -m state --state RELATED,ESTABLISHED -j ACCEPT
  25. iptables "${flag}" FORWARD -i "${internal_iface}" -o "${external_iface}" -j ACCEPT