#!/bin/sh INADDR=$1 INPORT=$2 OUTADDR=$3 OUTPORT=$4 usage() { echo "Usage: $0 INADDR INPORT OUTADDR OUTPORT" echo "" echo "NAT policies can be seen with" echo " iptables -t nat -n -L" echo "... and remember to allow port forwarding!" echo " echo 1 > /proc/sys/net/ipv4/ip_forward" exit } if [ "$1 " = " " ]; then usage fi echo "Stopping firewall and allowing everyone..." iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT echo "Incoming TCP connection for ${INADDR}:${INPORT} " echo "will be redirected to ${OUTADDR}:${OUTPORT}" echo "it's ok [y/n] ? " read DATAIN if [ ${DATAIN} = "y" ]; then iptables -t nat -A PREROUTING -p tcp -m tcp -d ${INADDR} --dport ${INPORT} -j DNAT --to-destination ${OUTADDR}:${OUTPORT} iptables -t nat -A POSTROUTING -p tcp -d ${OUTADDR} --dport ${OUTPORT} -j MASQUERADE echo iptables -t nat -A PREROUTING -p tcp -m tcp -d ${INADDR} --dport ${INPORT} -j DNAT --to-destination ${OUTADDR}:${OUTPORT} echo iptables -t nat -A POSTROUTING -p tcp -d ${OUTADDR} --dport ${OUTPORT} -j MASQUERADE else echo "nothing done" fi