#!/bin/sh

start() {
    logger -s -p "user.info" -t "$0" "Configure iptables:start ... "

    # Remove any old rules
    /usr/sbin/iptables -t filter -F
    /usr/sbin/iptables -t nat -F
    /usr/sbin/iptables -t mangle -F
    /usr/sbin/iptables -t filter -X
    /usr/sbin/iptables -t nat -X
    /usr/sbin/iptables -t mangle -X

    /usr/sbin/ip6tables -t filter -F
    /usr/sbin/ip6tables -t mangle -F
    /usr/sbin/ip6tables -t filter -X
    /usr/sbin/ip6tables -t mangle -X

    # Default policies for IPV4
    /usr/sbin/iptables -t filter -P INPUT ACCEPT
    /usr/sbin/iptables -t filter -P FORWARD ACCEPT
    /usr/sbin/iptables -t filter -P OUTPUT ACCEPT

    /usr/sbin/iptables -t nat -P OUTPUT ACCEPT
    /usr/sbin/iptables -t nat -P PREROUTING ACCEPT
    /usr/sbin/iptables -t nat -P POSTROUTING ACCEPT

    /usr/sbin/iptables -t mangle -P PREROUTING ACCEPT
    /usr/sbin/iptables -t mangle -P POSTROUTING ACCEPT

    # Default policies for IPv6
    /usr/sbin/ip6tables -t filter -P INPUT ACCEPT
    /usr/sbin/ip6tables -t filter -P FORWARD ACCEPT
    /usr/sbin/ip6tables -t filter -P OUTPUT ACCEPT

    logger -s -p "user.info" -t "$0" "done"

}
stop() {
    logger -s -p "user.info" -t "$0" "Configure iptables:stop ... "

    /bin/echo 0 > /proc/sys/net/ipv4/ip_forward

    /usr/sbin/iptables -t filter -F
    /usr/sbin/iptables -t nat -F
    /usr/sbin/iptables -t mangle -F
    /usr/sbin/iptables -t filter -X
    /usr/sbin/iptables -t nat -X
    /usr/sbin/iptables -t mangle -X

    /usr/sbin/iptables -t filter -P INPUT ACCEPT
    /usr/sbin/iptables -t filter -P FORWARD ACCEPT
    /usr/sbin/iptables -t filter -P OUTPUT ACCEPT
    /usr/sbin/iptables -t nat -P OUTPUT ACCEPT
    /usr/sbin/iptables -t nat -P PREROUTING ACCEPT
    /usr/sbin/iptables -t nat -P POSTROUTING ACCEPT
    /usr/sbin/iptables -t mangle -P PREROUTING ACCEPT
    /usr/sbin/iptables -t mangle -P POSTROUTING ACCEPT

    /usr/sbin/ip6tables -t filter -F
    /usr/sbin/ip6tables -t mangle -F
    /usr/sbin/ip6tables -t filter -X
    /usr/sbin/ip6tables -t mangle -X

    /usr/sbin/ip6tables -t filter -P INPUT ACCEPT
    /usr/sbin/ip6tables -t filter -P FORWARD ACCEPT
    /usr/sbin/ip6tables -t filter -P OUTPUT ACCEPT

    logger -s -p "user.info" -t "$0" "done"
}
restart() {
    stop
    start
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart|reload)
        restart
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac

exit $?
