Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Thursday, March 28, 2024

Diff for scripts/shell/firewall/fw-universal.sh between version 2.64 and 2.71

version 2.64, 2009/02/06 00:38:56 version 2.71, 2009/11/06 23:14:36
Line 5 
Line 5 
 # Can be started by init or by hand.  # Can be started by init or by hand.
 #  #
 # Developed by Lubomir Host 'rajo' <rajo AT platon.sk>  # Developed by Lubomir Host 'rajo' <rajo AT platon.sk>
 # Copyright (c) 2003-2006 Platon SDG, http://platon.sk/  # Copyright (c) 2003-2009 Platon Group, http://platon.sk/
 # Licensed under terms of GNU General Public License.  # Licensed under terms of GNU General Public License.
 # All rights reserved.  # All rights reserved.
 #  #
 # $Platon: scripts/shell/firewall/fw-universal.sh,v 2.63 2009-01-17 01:37:08 rajo Exp $  # $Platon: scripts/shell/firewall/fw-universal.sh,v 2.70 2009-07-01 12:28:07 nepto Exp $
 #  #
 # Changelog:  # Changelog:
 # 2003-10-24 - created  # 2003-10-24 - created
Line 335  anti_spoof_filter()
Line 335  anti_spoof_filter()
                 $IPTABLES               -A spoof -s 172.16.0.0/12 -j DROP               # RFC1918                  $IPTABLES               -A spoof -s 172.16.0.0/12 -j DROP               # RFC1918
                 $IPTABLES_LOG   -A spoof -s 10.0.0.0/8  $LOG_LIMIT "RESERVED:10.0.0.0/8 src"                  $IPTABLES_LOG   -A spoof -s 10.0.0.0/8  $LOG_LIMIT "RESERVED:10.0.0.0/8 src"
                 $IPTABLES               -A spoof -s 10.0.0.0/8 -j DROP  # RFC1918 len pre sietovy interface do Internetu, kedze 10.0.0.0 je adresa LAN                  $IPTABLES               -A spoof -s 10.0.0.0/8 -j DROP  # RFC1918 len pre sietovy interface do Internetu, kedze 10.0.0.0 je adresa LAN
                 $IPTABLES_LOG   -A spoof -s 96.0.0.0/4 $LOG_LIMIT "RESERVED:96.0.0.0/4 src"  
                 $IPTABLES               -A spoof -s 96.0.0.0/4 -j DROP                          # IANA                  # 2009-02-11 - Not reserver anymore: http://www.iana.org/assignments/ipv4-address-space/
                   #              - it is a Comcast network now
                   #$IPTABLES_LOG  -A spoof -s 96.0.0.0/4 $LOG_LIMIT "RESERVED:96.0.0.0/4 src"
                   #$IPTABLES              -A spoof -s 96.0.0.0/4 -j DROP                          # IANA
   
                 for iface in $ANTISPOOF_IFACE; do                  for iface in $ANTISPOOF_IFACE; do
                         print_info -en " $iface"                          print_info -en " $iface"
Line 486  masquerade()
Line 489  masquerade()
                 if [ ! -z "$NAT_TCP_PORT_FORWARD" ]; then                  if [ ! -z "$NAT_TCP_PORT_FORWARD" ]; then
                         print_info -en "\tForwarding TCP ports to local machines:"                          print_info -en "\tForwarding TCP ports to local machines:"
                         for redirect in $NAT_TCP_PORT_FORWARD; do                          for redirect in $NAT_TCP_PORT_FORWARD; do
                                 eval `echo $redirect | $AWK -v FS=: '{ printf "src_port=%s; local_machine=%s; dest_port=%s;", $1, $2, $3; }'`                                  #eval `echo $redirect | $AWK -v FS=: '{ printf "src_port=%s; local_machine=%s; dest_port=%s;", $1, $2, $3; }'`
                                 print_info -en " $src_port -> $local_machine:$dest_port"                                  eval `echo $redirect | \
                                 $IPTABLES -t nat -A PREROUTING -p TCP -i $NAT_LAN_IFACE -d $lan_ip \                                          $AWK -v FS=: '  (NF == 3) { src_ip = "$lan_ip" ; src_port = $1; local_machine = $2; dest_port = $3; } \
                                                                           (NF == 4) { src_ip = $1 ; src_port = $2; local_machine = $3; dest_port = $4; } \
                                                                           END { printf "src_ip=%s; src_port=%s; local_machine=%s; dest_port=%s;", src_ip, src_port, local_machine, dest_port; }'`
                                   print_info -en " $src_ip:$src_port -> $local_machine:$dest_port"
                                   $IPTABLES -t nat -A PREROUTING -p TCP -i $NAT_LAN_IFACE -d $src_ip \
                                 --dport $src_port -j DNAT --to $local_machine:$dest_port                                  --dport $src_port -j DNAT --to $local_machine:$dest_port
                                 $IPTABLES -A FORWARD -p TCP -i $NAT_LAN_IFACE -d $local_machine --dport $dest_port -j ACCEPT                                  $IPTABLES -A FORWARD -p TCP -i $NAT_LAN_IFACE -d $local_machine --dport $dest_port -j ACCEPT
                         done                          done
Line 497  masquerade()
Line 504  masquerade()
                 if [ ! -z "$NAT_UDP_PORT_FORWARD" ]; then                  if [ ! -z "$NAT_UDP_PORT_FORWARD" ]; then
                         print_info -en "\tForwarding UDP ports to local machines:"                          print_info -en "\tForwarding UDP ports to local machines:"
                         for redirect in $NAT_UDP_PORT_FORWARD; do                          for redirect in $NAT_UDP_PORT_FORWARD; do
                                 eval `echo $redirect | $AWK -v FS=: '{ printf "src_port=%s; local_machine=%s; dest_port=%s;", $1, $2, $3; }'`                                  #eval `echo $redirect | $AWK -v FS=: '{ printf "src_port=%s; local_machine=%s; dest_port=%s;", $1, $2, $3; }'`
                                   eval `echo $redirect | \
                                           $AWK -v FS=: '  (NF == 3) { src_ip = "$lan_ip" ; src_port = $1; local_machine = $2; dest_port = $3; } \
                                                                           (NF == 4) { src_ip = $1 ; src_port = $2; local_machine = $3; dest_port = $4; } \
                                                                           END { printf "src_ip=%s; src_port=%s; local_machine=%s; dest_port=%s;", src_ip, src_port, local_machine, dest_port; }'`
                                 print_info -en " $src_port -> $local_machine:$dest_port"                                  print_info -en " $src_port -> $local_machine:$dest_port"
                                 $IPTABLES -t nat -A PREROUTING -p UDP -i $NAT_LAN_IFACE -d $lan_ip \                                  $IPTABLES -t nat -A PREROUTING -p UDP -i $NAT_LAN_IFACE -d $lan_ip \
                                 --dport $src_port -j DNAT --to $local_machine:$dest_port                                  --dport $src_port -j DNAT --to $local_machine:$dest_port
Line 641  drop_input()
Line 652  drop_input()
                 done                  done
                 print_info " done."                  print_info " done."
         fi          fi
           if [ ! -z "$REAL_DROP_INPUT_TCP" ]; then
                   print_info -en "Drop REAL all INPUT TCP connections for ALL interfaces on ports:"
                   for port in $REAL_DROP_INPUT_TCP; do
                           print_info -en " $port(ALL)"
                           $IPTABLES -A INPUT -p TCP --dport $port -j DROP
                   done
                   print_info " done."
           fi
           if [ ! -z "$REAL_DROP_INPUT_UDP" ]; then
                   print_info -en "Drop REAL all INPUT UDP connections for ALL interfaces on ports:"
                   for port in $REAL_DROP_INPUT_UDP; do
                           print_info -en " $port(ALL)"
                           $IPTABLES -A INPUT -p UDP --dport $port -j DROP
                   done
                   print_info " done."
           fi
 } # }}}  } # }}}
   
 reject_input()  reject_input()
Line 665  reject_input()
Line 692  reject_input()
                 done                  done
                 print_info " done."                  print_info " done."
         fi          fi
           if [ ! -z "$REAL_REJECT_INPUT_TCP" ]; then
                   print_info -en "Reject REAL all INPUT TCP connections for ALL interfaces on ports:"
                   for port in $REAL_REJECT_INPUT_TCP; do
                           print_info -en " $port(ALL)"
                           $IPTABLES -A INPUT -p TCP --dport $port -j REJECT --reject-with $REJECT_WITH
                   done
                   print_info " done."
           fi
           if [ ! -z "$REAL_REJECT_INPUT_UDP" ]; then
                   print_info -en "Reject REAL all INPUT UDP connections for ALL interfaces on ports:"
                   for port in $REAL_REJECT_INPUT_UDP; do
                           for riface in $REAL_INTERFACES; do
                                   print_info -en " $port(ALL)"
                                   $IPTABLES -A INPUT -p UDP --dport $port -j REJECT --reject-with $REJECT_WITH
                           done
                   done
                   print_info " done."
           fi
 } # }}}  } # }}}
   
 allow_input()  allow_input()
 { # {{{  { # {{{
   
         if [ ! -z "$ALL_ACCEPT_INPUT_TCP" ]; then          if [ ! -z "$ALL_ACCEPT_INPUT_TCP" ]; then
                 print_info -en "Accepting ALL INPUT TCP connections on ports:"                  print_info -en "Accepting ALL INPUT TCP connections on ports:"
                 for port in $ALL_ACCEPT_INPUT_TCP; do                  for port in $ALL_ACCEPT_INPUT_TCP; do
Line 711  allow_input()
Line 755  allow_input()
                 print_info " done."                  print_info " done."
         fi          fi
   
           if [ ! -z "$REAL_ACCEPT_INPUT_TCP" ]; then
                   print_info -en "Accepting REAL all INPUT TCP connections for ALL interfaces on ports:"
                   for port in $REAL_ACCEPT_INPUT_TCP; do
                           src_ip=""
                           eval `echo $port | awk -v FS=: '/:/ { printf "src_ip=\"%s\"; port=\"%s\";", $1, $2; }'`
                           print_info -en " $port(ALL)"`[ ! -z $src_ip ] && echo "[$src_ip]"`
                           if [ -z "$src_ip" ]; then
                                   $IPTABLES -A INPUT -p TCP --dport $port -j ACCEPT
                           else
                                   $IPTABLES -A INPUT -s $src_ip -p TCP --dport $port -j ACCEPT
                           fi
                   done
                   print_info " done."
           fi
           if [ ! -z "$REAL_ACCEPT_INPUT_UDP" ]; then
                   print_info -en "Accepting REAL all INPUT UDP connections for ALL interfaces on ports:"
                   for port in $REAL_ACCEPT_INPUT_UDP; do
                           src_ip=""
                           eval `echo $port | awk -v FS=: '/:/ { printf "src_ip=\"%s\"; port=\"%s\";", $1, $2; }'`
                           print_info -en " $port(ALL)"`[ ! -z $src_ip ] && echo "[$src_ip]"`
                           if [ -z "$src_ip" ]; then
                                   $IPTABLES -A INPUT -p UDP --dport $port -j ACCEPT
                           else
                                   $IPTABLES -A INPUT -s $src_ip -p UDP --dport $port -j ACCEPT
                           fi
                   done
                   print_info " done."
           fi
   
         for iface in $INTERFACES; do          for iface in $INTERFACES; do
                 riface="IFname_$iface";                  riface="IFname_$iface";
                 IPS="IP_$iface";                  IPS="IP_$iface";
Line 800  allow_input()
Line 873  allow_input()
                         for port in $ACCEPT_INPUT_TCP; do                          for port in $ACCEPT_INPUT_TCP; do
                                 src_ip=""                                  src_ip=""
                                 eval `echo $port | awk -v FS=: '/:/ { printf "src_ip=\"%s\"; port=\"%s\";", $1, $2; }'`                                  eval `echo $port | awk -v FS=: '/:/ { printf "src_ip=\"%s\"; port=\"%s\";", $1, $2; }'`
                                   if [ -n "$src_ip" -a "$port" = "0" ]; then
                                           port="ALL";
                                   fi
                                 print_info -en " $port"`[ ! -z $src_ip ] && echo "[$src_ip]"`                                  print_info -en " $port"`[ ! -z $src_ip ] && echo "[$src_ip]"`
                                 for ip in ${!IPS}; do                                  for ip in ${!IPS}; do
                                         if [ -z $src_ip ]; then                                          if [ -z $src_ip ]; then
                                                 $IPTABLES -A INPUT -i ${!riface} -d $ip -p TCP --dport $port -j ACCEPT                                                  $IPTABLES -A INPUT -i ${!riface} -d $ip -p TCP --dport $port -j ACCEPT
                                         else                                          else
                                                 $IPTABLES -A INPUT -i ${!riface} -s $src_ip -d $ip -p TCP --dport $port -j ACCEPT                                                  if [ "$port" = "ALL" ]; then
                                                           $IPTABLES -A INPUT -i ${!riface} -s $src_ip -d $ip -p TCP -j ACCEPT
                                                   else
                                                           $IPTABLES -A INPUT -i ${!riface} -s $src_ip -d $ip -p TCP --dport $port -j ACCEPT
                                                   fi
                                         fi                                          fi
                                 done                                  done
                         done                          done
Line 817  allow_input()
Line 897  allow_input()
                         for port in $ACCEPT_INPUT_UDP; do                          for port in $ACCEPT_INPUT_UDP; do
                                 src_ip=""                                  src_ip=""
                                 eval `echo $port | awk -v FS=: '/:/ { printf "src_ip=\"%s\"; port=\"%s\";", $1, $2; }'`                                  eval `echo $port | awk -v FS=: '/:/ { printf "src_ip=\"%s\"; port=\"%s\";", $1, $2; }'`
                                   if [ -n "$src_ip" -a "$port" = "0" ]; then
                                           port="ALL";
                                   fi
                                 print_info -en " $port"`[ ! -z $src_ip ] && echo "[$src_ip]"`                                  print_info -en " $port"`[ ! -z $src_ip ] && echo "[$src_ip]"`
                                 #$IPTABLES -A INPUT -i $iface -d ${!INET_IP} -p UDP --dport $port -j ACCEPT                                  #$IPTABLES -A INPUT -i $iface -d ${!INET_IP} -p UDP --dport $port -j ACCEPT
                                 #$IPTABLES -A INPUT -i $iface --source 192.168.1.0/16 -p UDP --dport $port -j ACCEPT                                  #$IPTABLES -A INPUT -i $iface --source 192.168.1.0/16 -p UDP --dport $port -j ACCEPT
Line 824  allow_input()
Line 907  allow_input()
                                         if [ -z $src_ip ]; then                                          if [ -z $src_ip ]; then
                                                 $IPTABLES -A INPUT -i ${!riface} -d $ip -p UDP --dport $port -j ACCEPT                                                  $IPTABLES -A INPUT -i ${!riface} -d $ip -p UDP --dport $port -j ACCEPT
                                         else                                          else
                                                 $IPTABLES -A INPUT -i ${!riface} -s $src_ip -d $ip -p UDP --dport $port -j ACCEPT                                                  if [ "$port" = "ALL" ]; then
                                                           $IPTABLES -A INPUT -i ${!riface} -s $src_ip -d $ip -p UDP -j ACCEPT
                                                   else
                                                           $IPTABLES -A INPUT -i ${!riface} -s $src_ip -d $ip -p UDP --dport $port -j ACCEPT
                                                   fi
                                         fi                                          fi
                                 done                                  done
                         done                          done
Line 1169  map { printf "Mask_%s=\"%s\";        export Ma
Line 1256  map { printf "Mask_%s=\"%s\";        export Ma
 map { printf "HWaddr_%s=\"%s\";         export HWaddr_%s;\n",   $_, $hwaddr{$_},        $_; } keys %hwaddr;  map { printf "HWaddr_%s=\"%s\";         export HWaddr_%s;\n",   $_, $hwaddr{$_},        $_; } keys %hwaddr;
 map { printf "IPcount_%s=\"%s\";        export IPcount_%s;\n",  $_, $ipcount{$_},       $_; } keys %ipcount;  map { printf "IPcount_%s=\"%s\";        export IPcount_%s;\n",  $_, $ipcount{$_},       $_; } keys %ipcount;
 map { printf "IFname_%s=\"%s\";         export IFname_%s;\n",   $_, $ifname{$_},        $_; } keys %ifname;  map { printf "IFname_%s=\"%s\";         export IFname_%s;\n",   $_, $ifname{$_},        $_; } keys %ifname;
 printf "interfaces=\"%s\";      export interfaces;\n", join(" ", keys %ip);  printf "interfaces=\"%s\";      export interfaces;\n", join(" ", sort keys %ip);
         '`          '`
         eval "$parsed_interfaces";          eval "$parsed_interfaces";
         echo "$parsed_interfaces";          #echo "$parsed_interfaces";
   
         parsed_routes=`$PERL -e '          parsed_routes=`$PERL -e '
         $\ = "\n";          $\ = "\n";

Legend:
Removed from v.2.64  
changed lines
  Added in v.2.71

Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top