#!/bin/sh

# Quick and dirty IP Masquerade script

export PATH="$PATH:/usr/sbin:/sbin"

# Local interface (where your friend's laptop is connected)
# IP address: 192.168.42.1, netmask: 255.255.255.0
# Tell your friend to pick an IP address on that network,
# and use your IP address as default gateway.

LAN=eth1

# Interface on which you're connected to the Internet
INTERNET=wlan0


case "$1" in
  start|reload|force-reload|restart)

    echo -n "Installing qdnat"
    
    ifconfig $LAN 192.168.42.1
    ifconfig $LAN up

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

    iptables --flush
    iptables --delete-chain

    #
    # input chain
    #

    iptables -F INPUT
    iptables -P INPUT DROP

    iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -p icmp -j ACCEPT
    iptables -A INPUT -j DROP

    #
    # output chain
    #

    iptables -F OUTPUT
    iptables -P OUTPUT ACCEPT

    #
    # forward chain
    #

    iptables -F FORWARD
    iptables -P FORWARD DROP

    iptables -A FORWARD -s 192.168.1.0/24 -d 0.0.0.0/0 -j ACCEPT
    iptables -A FORWARD -d 192.168.1.0/24 -s 0.0.0.0/0 -j ACCEPT

    iptables -A FORWARD -j DROP

    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

    echo 1 > /proc/sys/net/ipv4/ip_forward

    echo "."
    ;;

  stop)
    echo 0 > /proc/sys/net/ipv4/ip_forward
    iptables -F INPUT
    iptables -P INPUT ACCEPT
    iptables -F OUTPUT
    iptables -P OUTPUT ACCEPT

    iptables -F FORWARD
    iptables -P FORWARD DROP

    ifconfig $LAN down
    ;;

  *) 
    echo "Usage: $0 {start|stop|reload|force-reload|restart}"
    exit 1

esac

exit 0
