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