#!/bin/sh
EXTIF=192.168.0.7
INTIF=10.0.0.1
CLIENT=10.0.0.2

echo "setting up network..."
ifconfig lo 127.0.0.1
ifconfig eth0 $EXTIF txqueuelen 1000
ifconfig eth1 $INTIF txqueuelen 1000

echo "0" > /proc/sys/net/ipv4/tcp_timestamps
echo "0" > /proc/sys/net/ipv4/tcp_sack
echo "1" > /proc/sys/net/ipv4/tcp_vegas_cong_avoid
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_rmem
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_wmem
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_mem
echo "262143" > /proc/sys/net/core/rmem_max
echo "262143" > /proc/sys/net/core/wmem_max
echo "262143" > /proc/sys/net/core/rmem_default
echo "262143" > /proc/sys/net/core/wmem_default
echo "262143" > /proc/sys/net/core/optmem_max
echo "100000" > /proc/sys/net/core/netdev_max_backlog

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

echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max

echo "waiting for netserver..."
netcat -c -l -p 8000

echo "setting up iptables..."
IPTABLES=/sbin/iptables
EXTIF=eth0
INTIF=eth1

$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F

$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -A FORWARD -j LOG

$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

echo "informing client..."
sleep 5
echo "server ready" | netcat -c $CLIENT 8000

echo "starting bash..."
exec /bin/bash
