From f84b87d7eb56f0134955d3da242619894fa74433 Mon Sep 17 00:00:00 2001 From: Avery Pennarun Date: Sat, 1 May 2010 17:15:18 -0400 Subject: [PATCH] ipt: example script for how to set up an iptables transproxy. --- ipt | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 ipt diff --git a/ipt b/ipt new file mode 100755 index 0000000..04bb599 --- /dev/null +++ b/ipt @@ -0,0 +1,28 @@ +#!/bin/bash -x +PORT="$1" +shift + +if [ -z "$PORT" ] || ! [ "$PORT" -gt 0 ]; then + echo "'$PORT' is not a valid port number" + exit 1 +fi + +# basic cleanup/setup +C=sshuttle-$PORT +iptables -t nat -D OUTPUT -j $C +iptables -t nat -F $C +iptables -t nat -X $C + +if [ -z "$*" ]; then + # just delete existing rules + exit 0 +fi +iptables -t nat -N $C +iptables -t nat -I OUTPUT 1 -j $C +iptables -t nat -D $C -j REDIRECT -p tcp --to-ports $PORT + +# create new subnet entries +for subnet in "$@"; do + iptables -t nat -A $C -j REDIRECT --dest "$subnet" -p tcp \ + --to-ports "$PORT" +done