all the python scripts are for python2, and fedora31 requires to be specific
[vsys-scripts.git] / root-context / exec / if_port_forward
1 #!/usr/bin/perl
2
3 $|=1;
4 $slice=$ARGV[0];
5 $slice_ip=`cat /etc/vservers/$slice/interfaces/0/ip`;
6 $src_port = <STDIN>;
7 $dst_port = <STDIN>;
8
9 chomp($slice_ip);
10 chomp($src_port);
11 chomp($dst_port);
12
13 die ("Src and dst ports need to be numbers") if (($src_port=~/[^0-9]/) || ($src_port=~/[^0-9]/));
14
15 $IPTABLES_CMD_1="/sbin/iptables -t nat -D PREROUTING -m tcp -p tcp -d $slice_ip --dport $src_port -j DNAT --to-destination $slice_ip:$dst_port";
16
17 $IPTABLES_CMD_2="/sbin/iptables -t nat -A PREROUTING -m tcp -p tcp -d $slice_ip --dport $src_port -j DNAT --to-destination $slice_ip:$dst_port";
18
19 print "Removing any previous instances of this rule: $IPTABLES_CMD_1\n";
20 system($IPTABLES_CMD_1);
21
22 print "Adding forwarding rule: $IPTABLES_CMD_2\n";
23 system($IPTABLES_CMD_2);
24
25 print "Done.\n";