#!/usr/bin/perl # $c command add/del/list # $lip open ip # $lp open port # $rip connect ip # $rp connect port $c = $ARGV[0]; $lip = $ARGV[1]; $lp = $ARGV[2]; $rip = $ARGV[3]; $rp = $ARGV[4]; if ($c eq "add") { system ("iptables -t nat -A PREROUTING -d $lip -p tcp --dport $lp -j DNAT --to-destination $rip:$rp"); # system ("iptables -t nat -A POSTROUTING -p tcp --dport $rp -d $rip -j SNAT --to-source $lip:$lp"); } if ($c eq "del") { system ("iptables -t nat -D PREROUTING --dst $lip -p tcp --dport $lp -j DNAT --to-destination $rip:$rp"); # system ("iptables -t nat -D POSTROUTING -p tcp --dport $rp -d $rip -j SNAT --to-source $lip:$lp"); # system ("iptables -t nat -D PREROUTING --dst $lip -p tcp --dport $lp -j DNAT --to-destination $rip:$rp"); # system ("iptables -t nat -D POSTROUTING -p tcp --dport $rp -d $rip -j SNAT --to-source $lip:$lp"); } if ($c eq "list") { system ("iptables -L -n -t nat -v | grep \"tcp dpt\""); }