#!/bin/sh

echo "1" > /proc/sys/net/ipv4/ip_dynaddr
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_always_defrag

extint="ppp0"
extip="`/sbin/ifconfig ppp0 | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*://'`"

    /sbin/ipchains -F input
    /sbin/ipchains -P input DENY
    /sbin/ipchains -A input -j ACCEPT -i eth0 -s 192.168.0.0/16 -d 0.0.0.0/0
    /sbin/ipchains -A input -j DENY -p udp -i $extint -s 0.0.0.0/0 -d $extip/32 0:52 -l
    /sbin/ipchains -A input -j DENY -p udp -i $extint -s 0.0.0.0/0 -d $extip/32 54:1023 -l
    /sbin/ipchains -A input -j DENY -p tcp -i $extint -s 0.0.0.0/0 -d $extip/32 0:112 -l
    /sbin/ipchains -A input -j DENY -p tcp -i $extint -s 0.0.0.0/0 -d $extip/32 114:1023 -l
    /sbin/ipchains -A input -j DENY -p tcp -i $extint -s 0.0.0.0/0 -d $extip/32 6000:6010 -l
    /sbin/ipchains -A input -j DENY -p icmp --icmp-type echo-request \
    -i $extint -s 0.0.0.0/0 -l
    /sbin/ipchains -A input -j DENY -p icmp -f -i $extint -s 0.0.0.0/0 -l
    /sbin/ipchains -A input -j DENY -p udp -i $extint -s 0.0.0.0/0 -d $extip/32 5555 -l
    /sbin/ipchains -A input -j DENY -p udp -i $extint -s 0.0.0.0/0 -d $extip/32 8000 -l
    /sbin/ipchains -A input -j DENY -p tcp -i $extint -s 0.0.0.0/0 -d $extip/32 8000 -l
    /sbin/ipchains -A input -j DENY -p udp -i $extint -s 0.0.0.0/0 -d $extip/32 6667 -l
    /sbin/ipchains -A input -j DENY -p tcp -i $extint -s 0.0.0.0/0 -d $extip/32 6667 -l
    /sbin/ipchains -A input -j DENY -p tcp -i $extint -s 0.0.0.0/0 -d $extip/32 4557 -l
    /sbin/ipchains -A input -j DENY -p tcp -i $extint -s 0.0.0.0/0 -d $extip/32 4559 -l
    /sbin/ipchains -A input -j DENY -p tcp -i $extint -s 0.0.0.0/0 -d $extip/32 4001 -l
    /sbin/ipchains -A input -j DENY -p tcp -i $extint -s 0.0.0.0/0 -d $extip/32 2005 -l
    /sbin/ipchains -A input -j DENY -p tcp -i $extint -s 0.0.0.0/0 -d $extip/32 6711 -l
    /sbin/ipchains -A input -j DENY -i $extint -s 192.168.0.0/16 -d 0.0.0.0/0 -l
    /sbin/ipchains -A input -j ACCEPT -i $extint -s 0.0.0.0/0 -d $extip/32
    /sbin/ipchains -A input -j ACCEPT -i lo -s 0.0.0.0/0 -d 0.0.0.0/0
    /sbin/ipchains -A input -j DENY -s 0.0.0.0/0 -d 0.0.0.0/0 -l

    /sbin/ipchains -F output
    /sbin/ipchains -P output DENY
    /sbin/ipchains -A output -j ACCEPT -i eth0 -s 0.0.0.0/0 -d 192.168.0.0/16
    /sbin/ipchains -A output -j DENY -i $extint -s 192.168.0.0/16 -d 0.0.0.0/0 -l
    /sbin/ipchains -A output -j ACCEPT -i $extint -s $extip/32 -d 0.0.0.0/0
    /sbin/ipchains -A output -j ACCEPT -i lo -s 0.0.0.0/0 -d 0.0.0.0/0
    /sbin/ipchains -A output -j DENY -s 0.0.0.0/0 -d 0.0.0.0/0

    /sbin/ipchains -F forward
    /sbin/ipchains -P forward DENY
    /sbin/ipchains -M -S 120 120 120
    /sbin/ipchains -A forward -j MASQ -s 192.168.1.0/24 
    /sbin/ipchains -A forward -j DENY -s 0.0.0.0/0 -d 0.0.0.0/0
