| #!/bin/sh |
| EXTIF=192.168.0.2 |
| 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 "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 |