All pastes #291948 Raw Edit

Miscellany

public text v1 · immutable
#291948 ·published 2006-12-25 23:18 UTC
rendered paste body
# by TRex
# IPTABLES path
# The number below depends on your system configuration
#IPT=`whereis iptables | awk ' {print ½½ $2}'`
IPT="iptables"
echo "script underway..."

#---------------------------------------
PORT="16185"
EXT_IP="85.94.105.249"
BATTLE_HOST="192.168.0.8"
#---------------------------------------

usage()
   {
   echo "Usage: $0 {start|stop}"
   }
   case "$1" in

start)

echo "received START"
     PORT_II=$PORT

for HOST in $BATTLE_HOST; do
   PORT_I=$PORT_II
   $IPT -t nat -A PREROUTING -p udp -d $EXT_IP --dport $PORT_II -j DNAT --to-destination $HOST:$PORT_II
   $IPT -t nat -A POSTROUTING -p udp -s $HOST --sport $PORT_II -j SNAT --to-source $EXT_IP:$PORT_II
   PORT_II=$[PORT_I + 1]
   done

$IPT -L -v -t nat |grep "udp spt:16"
     $IPT -L -v -t nat |grep "udp dpt:16"

echo "Battle - START - OK"
     ;;

stop)

PORT_II=$PORT

for HOST in $BATTLE_HOST; do
   PORT_I=$PORT_II
   $IPT -t nat -D PREROUTING -p udp -d $EXT_IP --dport $PORT_II -j DNAT --to-destination $HOST:$PORT_II
   $IPT -t nat -D POSTROUTING -p udp -s $HOST --sport $PORT_II -j SNAT --to-source $EXT_IP:$PORT_II
   PORT_II=$[PORT_I + 1]
   done

$IPT -L -v -t nat |grep "udp spt:16"
$IPT -L -v -t nat |grep "udp dpt:16"

echo "Battle - STOP - OK"
;;
*)
     usage
;;
esac