Platon Technologies
neprihlásený Prihlásiť Registrácia
SlovakEnglish
open source software development oslavujeme 10 rokov vývoja otvoreného softvéru! Nedeľa, 25. október 2026

Rozdiely pre scripts/shell/firewall/fw-universal.sh medzi verziami 2.124 a 2.125

verzia 2.124, 2026/01/06 16:41:45 verzia 2.125, 2026/02/26 18:34:33
Riadok 22 
Riadok 22 
 # 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.123 2023/11/08 22:29:04 nepto Exp $  # $Platon: scripts/shell/firewall/fw-universal.sh,v 2.124 2026/01/06 16:41:45 nepto Exp $
 #  #
 # Changelog:  # Changelog:
 # 2003-10-24 - created  # 2003-10-24 - created
Riadok 187  get_first_ip_addr()
Riadok 187  get_first_ip_addr()
         print_first `echo ${!varname} | sort -g`          print_first `echo ${!varname} | sort -g`
 } # }}}  } # }}}
   
   normalize_portspec()
   { # {{{
           local spec="$1"
           local out=""
           local part=""
           local old_ifs="$IFS"
           local start=""
           local end=""
   
           if [ -z "$spec" ]; then
                   echo "ERROR: empty port specification" >&2
                   return 1
           fi
   
           if [ "x$spec" = "xALL" ]; then
                   echo "$spec"
                   return 0
           fi
   
           IFS=','
           for part in $spec; do
                   if [ -z "$part" ]; then
                           IFS="$old_ifs"
                           echo "ERROR: invalid port specification '$spec' (empty list element)" >&2
                           return 1
                   fi
   
                   if [[ "$part" =~ ^([0-9]+)-([0-9]+)$ ]]; then
                           start="${BASH_REMATCH[1]}"
                           end="${BASH_REMATCH[2]}"
                           if [ "$start" -gt "$end" ]; then
                                   IFS="$old_ifs"
                                   echo "ERROR: invalid port range '$part' in '$spec' (start > end)" >&2
                                   return 1
                           fi
                           if [ "$start" -gt 65535 ] || [ "$end" -gt 65535 ]; then
                                   IFS="$old_ifs"
                                   echo "ERROR: invalid port range '$part' in '$spec' (port > 65535)" >&2
                                   return 1
                           fi
                           part="$start:$end"
                   elif [[ "$part" =~ ^([0-9]+):([0-9]+)$ ]]; then
                           start="${BASH_REMATCH[1]}"
                           end="${BASH_REMATCH[2]}"
                           if [ "$start" -gt "$end" ]; then
                                   IFS="$old_ifs"
                                   echo "ERROR: invalid port range '$part' in '$spec' (start > end)" >&2
                                   return 1
                           fi
                           if [ "$start" -gt 65535 ] || [ "$end" -gt 65535 ]; then
                                   IFS="$old_ifs"
                                   echo "ERROR: invalid port range '$part' in '$spec' (port > 65535)" >&2
                                   return 1
                           fi
                   elif [[ "$part" =~ ^[0-9]+$ ]]; then
                           if [ "$part" -gt 65535 ]; then
                                   IFS="$old_ifs"
                                   echo "ERROR: invalid port '$part' in '$spec' (port > 65535)" >&2
                                   return 1
                           fi
                   fi
   
                   if [ -z "$out" ]; then
                           out="$part"
                   else
                           out="$out,$part"
                   fi
           done
           IFS="$old_ifs"
   
           echo "$out"
   } # }}}
   
   normalize_portspec_var()
   { # {{{
           local varname="$1"
           local normalized=""
   
           normalized="$(normalize_portspec "${!varname}")" || return 1
           printf -v "$varname" '%s' "$normalized"
   } # }}}
   
   validate_legacy_peer_port_token()
   { # {{{
           local token="$1"
           local peer="$2"
           local port="$3"
           local colons=""
   
           case "$token" in
                   *:* )
                           colons="${token//[^:]/}"
                           if [ "${#colons}" -ne 1 ] || [ -z "$peer" ] || [ -z "$port" ]; then
                                   echo "ERROR: invalid legacy peer:port token '$token' (use 'peer:port' or range with dash, e.g. peer:2000-2010)" >&2
                                   return 1
                           fi
                           if [[ "$token" =~ ^[0-9]+:[0-9]+$ ]]; then
                                   echo "ERROR: ambiguous token '$token' in peer:port rule (use range with dash, e.g. ${peer}-${port}, or specify a real host/IP)" >&2
                                   return 1
                           fi
                           ;;
           esac
   
           return 0
   } # }}}
   
 read_config_ips()  read_config_ips()
 { # {{{  { # {{{
         PARSE_CONFIG=$1 $PERL -ne 'if (m/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/(\d+)$/g) { print; } elsif ($_ !~ m/^\s*#/ && $_ !~ m/^\s*$/ ) { print STDERR "ERROR: $ENV{PARSE_CONFIG}:$.: ignored string $_\n"; }' $1          PARSE_CONFIG=$1 $PERL -ne 'if (m/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/(\d+)$/g) { print; } elsif ($_ !~ m/^\s*#/ && $_ !~ m/^\s*$/ ) { print STDERR "ERROR: $ENV{PARSE_CONFIG}:$.: ignored string $_\n"; }' $1
Riadok 541  masquerade()
Riadok 647  masquerade()
                                                         (NF == 3) { remote_ip = $2;        remote_port = $1; local_port = $3; } \                                                          (NF == 3) { remote_ip = $2;        remote_port = $1; local_port = $3; } \
                                                         END { printf "remote_ip=%s; remote_port=%s; local_port=%s;", remote_ip, remote_port, local_port; }'`                                                          END { printf "remote_ip=%s; remote_port=%s; local_port=%s;", remote_ip, remote_port, local_port; }'`
                 print_info -en " $remote_port>>$remote_ip:$local_port(tcp)"                  print_info -en " $remote_port>>$remote_ip:$local_port(tcp)"
                   remote_port_match="$(normalize_portspec "$remote_port")" || exit 1
                 $IPTABLES -t nat -A PREROUTING -p TCP \                  $IPTABLES -t nat -A PREROUTING -p TCP \
                         -i $NAT_SUBNET_IFACE \                          -i $NAT_SUBNET_IFACE \
                         --dport $remote_port -j REDIRECT --to-port $local_port                          --dport $remote_port_match -j REDIRECT --to-port $local_port
         done          done
         for redirect in $NAT_UDP_PORT_REDIRECT; do          for redirect in $NAT_UDP_PORT_REDIRECT; do
                 #eval `echo $redirect | $AWK -v FS=: '{ printf "remote_port=%s; local_port=%s;", $1, $2; }'`                  #eval `echo $redirect | $AWK -v FS=: '{ printf "remote_port=%s; local_port=%s;", $1, $2; }'`
Riadok 552  masquerade()
Riadok 659  masquerade()
                                                         (NF == 3) { dnat = "yes" ; remote_ip = $2;  remote_port = $1; local_port = $3; } \                                                          (NF == 3) { dnat = "yes" ; remote_ip = $2;  remote_port = $1; local_port = $3; } \
                                                         END { printf "dnat=%s; remote_ip=%s; remote_port=%s; local_port=%s;", dnat, remote_ip, remote_port, local_port; }'`                                                          END { printf "dnat=%s; remote_ip=%s; remote_port=%s; local_port=%s;", dnat, remote_ip, remote_port, local_port; }'`
                 print_info -en " $remote_port>>$remote_ip:$local_port(udp)"                  print_info -en " $remote_port>>$remote_ip:$local_port(udp)"
                   remote_port_match="$(normalize_portspec "$remote_port")" || exit 1
                   local_port_match="$(normalize_portspec "$local_port")" || exit 1
                 if [ "x$dnat" = "xyes" ]; then                  if [ "x$dnat" = "xyes" ]; then
                         $IPTABLES -t nat -A PREROUTING -p UDP -i $NAT_SUBNET_IFACE -d ! $ip \                          $IPTABLES -t nat -A PREROUTING -p UDP -i $NAT_SUBNET_IFACE -d ! $ip \
                         --dport $local_port -j DNAT --to $remote_ip:$remote_port                          --dport $local_port_match -j DNAT --to $remote_ip:$remote_port
                         $IPTABLES -A FORWARD -p UDP -i $NAT_SUBNET_IFACE -d ! $ip --dport $local_port -j ACCEPT                          $IPTABLES -A FORWARD -p UDP -i $NAT_SUBNET_IFACE -d ! $ip --dport $local_port_match -j ACCEPT
                 else                  else
                         $IPTABLES -t nat -A PREROUTING -p UDP \                          $IPTABLES -t nat -A PREROUTING -p UDP \
                                 -i ! $NAT_LAN_IFACE -d ! $lan_ip \                                  -i ! $NAT_LAN_IFACE -d ! $lan_ip \
                                 --dport $remote_port -j REDIRECT --to-port $local_port                                  --dport $remote_port_match -j REDIRECT --to-port $local_port
                 fi                  fi
         done          done
   
Riadok 585  masquerade()
Riadok 694  masquerade()
         if [ ! -z "$NAT_FORWARD_TCP_PORTS" ]; then          if [ ! -z "$NAT_FORWARD_TCP_PORTS" ]; then
                 print_info -en "\tAccepting FORWARD TCP ports:"                  print_info -en "\tAccepting FORWARD TCP ports:"
                 for port in $NAT_FORWARD_TCP_PORTS; do                  for port in $NAT_FORWARD_TCP_PORTS; do
                           normalize_portspec_var port || exit 1;
                         print_info -en " $port"                          print_info -en " $port"
                         $IPTABLES -A FORWARD -p TCP --dport $port -m conntrack --ctstate NEW -j ACCEPT                          $IPTABLES -A FORWARD -p TCP --dport $port -m conntrack --ctstate NEW -j ACCEPT
                 done                  done
Riadok 594  masquerade()
Riadok 704  masquerade()
         if [ ! -z "$NAT_FORWARD_UDP_PORTS" ]; then          if [ ! -z "$NAT_FORWARD_UDP_PORTS" ]; then
                 print_info -en "\tAccepting FORWARD UDP ports:"                  print_info -en "\tAccepting FORWARD UDP ports:"
                 for port in $NAT_FORWARD_UDP_PORTS; do                  for port in $NAT_FORWARD_UDP_PORTS; do
                           normalize_portspec_var port || exit 1;
                         print_info -en " $port"                          print_info -en " $port"
                         $IPTABLES -A FORWARD -p UDP --dport $port -m conntrack --ctstate NEW -j ACCEPT                          $IPTABLES -A FORWARD -p UDP --dport $port -m conntrack --ctstate NEW -j ACCEPT
                 done                  done
Riadok 662  masquerade()
Riadok 773  masquerade()
                                                                 (NF == 4) { src_ip = $1 ; src_port = $2; local_machine = $3; dest_port = $4; } \                                                                  (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; }'`                                                                  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"                          print_info -en " $src_ip:$src_port -> $local_machine:$dest_port"
                           src_port_match="$(normalize_portspec "$src_port")" || exit 1
                           dest_port_match="$(normalize_portspec "$dest_port")" || exit 1
                         $IPTABLES -t nat -A PREROUTING -p TCP -i $NAT_LAN_IFACE -d $src_ip \                          $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_match -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_match -j ACCEPT
                 done                  done
                 print_info " done."                  print_info " done."
         fi          fi
Riadok 677  masquerade()
Riadok 790  masquerade()
                                                                 (NF == 4) { src_ip = $1 ; src_port = $2; local_machine = $3; dest_port = $4; } \                                                                  (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; }'`                                                                  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"
                           src_port_match="$(normalize_portspec "$src_port")" || exit 1
                           dest_port_match="$(normalize_portspec "$dest_port")" || exit 1
                         $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_match -j DNAT --to $local_machine:$dest_port
                         $IPTABLES -A FORWARD -p UDP -i $NAT_LAN_IFACE -d $local_machine --dport $dest_port -j ACCEPT                          $IPTABLES -A FORWARD -p UDP -i $NAT_LAN_IFACE -d $local_machine --dport $dest_port_match -j ACCEPT
                 done                  done
                 print_info " done."                  print_info " done."
         fi          fi
Riadok 727  drop_output()
Riadok 842  drop_output()
                 if [ ! -z "$DROP_OUTPUT_TCP" ]; then                  if [ ! -z "$DROP_OUTPUT_TCP" ]; then
                         print_info -en "$riface: Dropping outgoing packets from ports:"                          print_info -en "$riface: Dropping outgoing packets from ports:"
                         for port in $DROP_OUTPUT_TCP; do                          for port in $DROP_OUTPUT_TCP; do
                                   normalize_portspec_var port || exit 1;
                                 print_info -en " $port"                                  print_info -en " $port"
   
                                 if [ "X$XEN_MODE" = "Xon" ]; then                                  if [ "X$XEN_MODE" = "Xon" ]; then
Riadok 742  drop_output()
Riadok 858  drop_output()
                 if [ ! -z "$DROP_OUTPUT_UDP" ]; then                  if [ ! -z "$DROP_OUTPUT_UDP" ]; then
                         print_info -en "$riface: Dropping outgoing packets from ports:"                          print_info -en "$riface: Dropping outgoing packets from ports:"
                         for port in $DROP_OUTPUT_UDP; do                          for port in $DROP_OUTPUT_UDP; do
                                   normalize_portspec_var port || exit 1;
                                 print_info -en " $port"                                  print_info -en " $port"
   
                                 if [ "X$XEN_MODE" = "Xon" ]; then                                  if [ "X$XEN_MODE" = "Xon" ]; then
Riadok 851  drop_input()
Riadok 968  drop_input()
         if [ ! -z "$ALL_DROP_INPUT_TCP" ]; then          if [ ! -z "$ALL_DROP_INPUT_TCP" ]; then
                 print_info -en "Drop ALL INPUT TCP connections on ports:"                  print_info -en "Drop ALL INPUT TCP connections on ports:"
                 for port in $ALL_DROP_INPUT_TCP; do                  for port in $ALL_DROP_INPUT_TCP; do
                           normalize_portspec_var port || exit 1;
                         echo $port | grep -q ,                          echo $port | grep -q ,
                         multiport="$?";                          multiport="$?";
                         if [ "$multiport" -eq 0 ]; then                          if [ "$multiport" -eq 0 ]; then
Riadok 868  drop_input()
Riadok 986  drop_input()
         if [ ! -z "$ALL_DROP_INPUT_UDP" ]; then          if [ ! -z "$ALL_DROP_INPUT_UDP" ]; then
                 print_info -en "Drop ALL INPUT UDP connections on ports:"                  print_info -en "Drop ALL INPUT UDP connections on ports:"
                 for port in $ALL_DROP_INPUT_UDP; do                  for port in $ALL_DROP_INPUT_UDP; do
                           normalize_portspec_var port || exit 1;
                         echo $port | grep -q ,                          echo $port | grep -q ,
                         multiport="$?";                          multiport="$?";
                         if [ "$multiport" -eq 0 ]; then                          if [ "$multiport" -eq 0 ]; then
Riadok 885  drop_input()
Riadok 1004  drop_input()
         if [ ! -z "$REAL_DROP_INPUT_TCP" ]; then          if [ ! -z "$REAL_DROP_INPUT_TCP" ]; then
                 print_info -en "Drop REAL all INPUT TCP connections for ALL interfaces on ports:"                  print_info -en "Drop REAL all INPUT TCP connections for ALL interfaces on ports:"
                 for port in $REAL_DROP_INPUT_TCP; do                  for port in $REAL_DROP_INPUT_TCP; do
                           normalize_portspec_var port || exit 1;
                         echo $port | grep -q ,                          echo $port | grep -q ,
                         multiport="$?";                          multiport="$?";
                         if [ "$multiport" -eq 0 ]; then                          if [ "$multiport" -eq 0 ]; then
Riadok 900  drop_input()
Riadok 1020  drop_input()
         if [ ! -z "$REAL_DROP_INPUT_UDP" ]; then          if [ ! -z "$REAL_DROP_INPUT_UDP" ]; then
                 print_info -en "Drop REAL all INPUT UDP connections for ALL interfaces on ports:"                  print_info -en "Drop REAL all INPUT UDP connections for ALL interfaces on ports:"
                 for port in $REAL_DROP_INPUT_UDP; do                  for port in $REAL_DROP_INPUT_UDP; do
                           normalize_portspec_var port || exit 1;
                         echo $port | grep -q ,                          echo $port | grep -q ,
                         multiport="$?";                          multiport="$?";
                         if [ "$multiport" -eq 0 ]; then                          if [ "$multiport" -eq 0 ]; then
Riadok 919  reject_input()
Riadok 1040  reject_input()
         if [ ! -z "$ALL_REJECT_INPUT_TCP" ]; then          if [ ! -z "$ALL_REJECT_INPUT_TCP" ]; then
                 print_info -en "Reject ALL INPUT TCP connections on ports:"                  print_info -en "Reject ALL INPUT TCP connections on ports:"
                 for port in $ALL_REJECT_INPUT_TCP; do                  for port in $ALL_REJECT_INPUT_TCP; do
                           normalize_portspec_var port || exit 1;
                         echo $port | grep -q ,                          echo $port | grep -q ,
                         multiport="$?";                          multiport="$?";
                         if [ "$multiport" -eq 0 ]; then                          if [ "$multiport" -eq 0 ]; then
Riadok 936  reject_input()
Riadok 1058  reject_input()
         if [ ! -z "$ALL_REJECT_INPUT_UDP" ]; then          if [ ! -z "$ALL_REJECT_INPUT_UDP" ]; then
                 print_info -en "Reject ALL INPUT UDP connections on ports:"                  print_info -en "Reject ALL INPUT UDP connections on ports:"
                 for port in $ALL_REJECT_INPUT_UDP; do                  for port in $ALL_REJECT_INPUT_UDP; do
                           normalize_portspec_var port || exit 1;
                         echo $port | grep -q ,                          echo $port | grep -q ,
                         multiport="$?";                          multiport="$?";
                         if [ "$multiport" -eq 0 ]; then                          if [ "$multiport" -eq 0 ]; then
Riadok 953  reject_input()
Riadok 1076  reject_input()
         if [ ! -z "$REAL_REJECT_INPUT_TCP" ]; then          if [ ! -z "$REAL_REJECT_INPUT_TCP" ]; then
                 print_info -en "Reject REAL all INPUT TCP connections for ALL interfaces on ports:"                  print_info -en "Reject REAL all INPUT TCP connections for ALL interfaces on ports:"
                 for port in $REAL_REJECT_INPUT_TCP; do                  for port in $REAL_REJECT_INPUT_TCP; do
                           normalize_portspec_var port || exit 1;
                         echo $port | grep -q ,                          echo $port | grep -q ,
                         multiport="$?";                          multiport="$?";
                         if [ "$multiport" -eq 0 ]; then                          if [ "$multiport" -eq 0 ]; then
Riadok 968  reject_input()
Riadok 1092  reject_input()
         if [ ! -z "$REAL_REJECT_INPUT_UDP" ]; then          if [ ! -z "$REAL_REJECT_INPUT_UDP" ]; then
                 print_info -en "Reject REAL all INPUT UDP connections for ALL interfaces on ports:"                  print_info -en "Reject REAL all INPUT UDP connections for ALL interfaces on ports:"
                 for port in $REAL_REJECT_INPUT_UDP; do                  for port in $REAL_REJECT_INPUT_UDP; do
                           normalize_portspec_var port || exit 1;
                         echo $port | grep -q ,                          echo $port | grep -q ,
                         multiport="$?";                          multiport="$?";
                         if [ "$multiport" -eq 0 ]; then                          if [ "$multiport" -eq 0 ]; then
Riadok 990  allow_input()
Riadok 1115  allow_input()
                 print_info -e "Accepting ALL INPUT TCP connections on ports:"                  print_info -e "Accepting ALL INPUT TCP connections on ports:"
                 for port in $ALL_ACCEPT_INPUT_TCP; do                  for port in $ALL_ACCEPT_INPUT_TCP; do
                         src_ip=""                          src_ip=""
                           port_token="$port"
                         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; }'`
                           validate_legacy_peer_port_token "$port_token" "$src_ip" "$port" || exit 1
                           normalize_portspec_var port || exit 1;
                         echo $port | grep -q ,                          echo $port | grep -q ,
                         multiport="$?";                          multiport="$?";
                         if [ "$multiport" -eq 0 ]; then                          if [ "$multiport" -eq 0 ]; then
Riadok 1024  allow_input()
Riadok 1152  allow_input()
                 print_info -e "Accepting ALL INPUT UDP connections on ports:"                  print_info -e "Accepting ALL INPUT UDP connections on ports:"
                 for port in $ALL_ACCEPT_INPUT_UDP; do                  for port in $ALL_ACCEPT_INPUT_UDP; do
                         src_ip=""                          src_ip=""
                           port_token="$port"
                         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; }'`
                           validate_legacy_peer_port_token "$port_token" "$src_ip" "$port" || exit 1
                           normalize_portspec_var port || exit 1;
                         echo $port | grep -q ,                          echo $port | grep -q ,
                         multiport="$?";                          multiport="$?";
                         if [ "$multiport" -eq 0 ]; then                          if [ "$multiport" -eq 0 ]; then
Riadok 1064  allow_input()
Riadok 1195  allow_input()
                 last_port="";                  last_port="";
                 for port in $REAL_ACCEPT_INPUT_TCP; do                  for port in $REAL_ACCEPT_INPUT_TCP; do
                         src_ip=""                          src_ip=""
                           port_token="$port"
                         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; }'`
                           validate_legacy_peer_port_token "$port_token" "$src_ip" "$port" || exit 1
                         if [ -n "$last_port" -a "$last_port" != "$port" -a -n "$src_ip" ]; then                          if [ -n "$last_port" -a "$last_port" != "$port" -a -n "$src_ip" ]; then
                                 counter=0;                                  counter=0;
                                 print_info "";                                  print_info "";
Riadok 1072  allow_input()
Riadok 1205  allow_input()
                         print_info -en " $port(ALL)"`[ ! -z "$src_ip" ] && echo "[$src_ip]"`                          print_info -en " $port(ALL)"`[ ! -z "$src_ip" ] && echo "[$src_ip]"`
                         if [ $(( ++counter )) -ge 5 ]; then counter=0; print_info ""; fi;                          if [ $(( ++counter )) -ge 5 ]; then counter=0; print_info ""; fi;
                         last_port="$port";                          last_port="$port";
                           normalize_portspec_var port || exit 1;
                         echo $port | grep -q ,                          echo $port | grep -q ,
                         multiport="$?";                          multiport="$?";
                         if [ "$multiport" -eq 0 ]; then                          if [ "$multiport" -eq 0 ]; then
Riadok 1092  allow_input()
Riadok 1226  allow_input()
                 last_port="";                  last_port="";
                 for port in $REAL_ACCEPT_INPUT_UDP; do                  for port in $REAL_ACCEPT_INPUT_UDP; do
                         src_ip=""                          src_ip=""
                           port_token="$port"
                         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; }'`
                           validate_legacy_peer_port_token "$port_token" "$src_ip" "$port" || exit 1
                         if [ -n "$last_port" -a "$last_port" != "$port" -a -n "$src_ip" ]; then                          if [ -n "$last_port" -a "$last_port" != "$port" -a -n "$src_ip" ]; then
                                 counter=0;                                  counter=0;
                                 print_info "";                                  print_info "";
Riadok 1100  allow_input()
Riadok 1236  allow_input()
                         print_info -en " $port(ALL)"`[ ! -z "$src_ip" ] && echo "[$src_ip]"`                          print_info -en " $port(ALL)"`[ ! -z "$src_ip" ] && echo "[$src_ip]"`
                         if [ $(( ++counter )) -ge 5 ]; then counter=0; print_info ""; fi;                          if [ $(( ++counter )) -ge 5 ]; then counter=0; print_info ""; fi;
                         last_port="$port";                          last_port="$port";
                           normalize_portspec_var port || exit 1;
                         echo $port | grep -q ,                          echo $port | grep -q ,
                         multiport="$?";                          multiport="$?";
                         if [ "$multiport" -eq 0 ]; then                          if [ "$multiport" -eq 0 ]; then
Riadok 1148  allow_input()
Riadok 1285  allow_input()
                                                                         (NF == 3) { remote_ip = $1;          from_port = $2; to_port = $3; } \                                                                          (NF == 3) { remote_ip = $1;          from_port = $2; to_port = $3; } \
                                                                         END { printf "remote_ip=%s; from_port=%s; to_port=%s;", remote_ip, from_port, to_port; }'`                                                                          END { printf "remote_ip=%s; from_port=%s; to_port=%s;", remote_ip, from_port, to_port; }'`
                                 print_info -en " $remote_ip:$from_port->$to_port"                                  print_info -en " $remote_ip:$from_port->$to_port"
                                   from_port_match="$(normalize_portspec "$from_port")" || exit 1
                                 if [ "X$iface" = "Xlo" ]; then                                  if [ "X$iface" = "Xlo" ]; then
                                         $IPTABLES -t nat -A OUTPUT -p TCP -s $remote_ip -d $ip --dport $from_port -j REDIRECT --to-port $to_port                                          $IPTABLES -t nat -A OUTPUT -p TCP -s $remote_ip -d $ip --dport $from_port_match -j REDIRECT --to-port $to_port
                                 else                                  else
                                         $IPTABLES -t nat -A PREROUTING -p TCP -i ${!riface} -s $remote_ip -d $ip --dport $from_port -j REDIRECT --to-port $to_port                                          $IPTABLES -t nat -A PREROUTING -p TCP -i ${!riface} -s $remote_ip -d $ip --dport $from_port_match -j REDIRECT --to-port $to_port
                                 fi                                  fi
                         done                          done
                         print_info " done."                          print_info " done."
Riadok 1166  allow_input()
Riadok 1304  allow_input()
                                                                         (NF == 3) { remote_ip = $1;          from_port = $2; to_port = $3; } \                                                                          (NF == 3) { remote_ip = $1;          from_port = $2; to_port = $3; } \
                                                                         END { printf "remote_ip=%s; from_port=%s; to_port=%s;", remote_ip, from_port, to_port; }'`                                                                          END { printf "remote_ip=%s; from_port=%s; to_port=%s;", remote_ip, from_port, to_port; }'`
                                 print_info -en " $remote_ip:$from_port->$to_port"                                  print_info -en " $remote_ip:$from_port->$to_port"
                                   from_port_match="$(normalize_portspec "$from_port")" || exit 1
                                 if [ "X$iface" = "Xlo" ]; then                                  if [ "X$iface" = "Xlo" ]; then
                                         $IPTABLES -t nat -A OUTPUT -p UDP -s $remote_ip -d $ip --dport $from_port -j REDIRECT --to-port $to_port                                          $IPTABLES -t nat -A OUTPUT -p UDP -s $remote_ip -d $ip --dport $from_port_match -j REDIRECT --to-port $to_port
                                 else                                  else
                                         $IPTABLES -t nat -A PREROUTING -p UDP -i ${!riface} -s $remote_ip -d $ip --dport $from_port -j REDIRECT --to-port $to_port                                          $IPTABLES -t nat -A PREROUTING -p UDP -i ${!riface} -s $remote_ip -d $ip --dport $from_port_match -j REDIRECT --to-port $to_port
                                 fi                                  fi
                         done                          done
                         print_info " done."                          print_info " done."
Riadok 1180  allow_input()
Riadok 1319  allow_input()
                         print_info -en "$iface: Rejecting INPUT TCP connections on ports:"                          print_info -en "$iface: Rejecting INPUT TCP connections on ports:"
                         for port in $REJECT_INPUT_TCP; do                          for port in $REJECT_INPUT_TCP; do
                                 src_ip=""                                  src_ip=""
                                   port_token="$port"
                                 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; }'`
                                   validate_legacy_peer_port_token "$port_token" "$src_ip" "$port" || exit 1
                                 print_info -en " $port"`[ ! -z "$src_ip" ] && echo "[$src_ip]"`                                  print_info -en " $port"`[ ! -z "$src_ip" ] && echo "[$src_ip]"`
                                   normalize_portspec_var port || exit 1;
                                 echo $port | grep -q ,                                  echo $port | grep -q ,
                                 multiport="$?";                                  multiport="$?";
                                 if [ "$multiport" -eq 0 ]; then                                  if [ "$multiport" -eq 0 ]; then
Riadok 1204  allow_input()
Riadok 1346  allow_input()
                         print_info -en "$iface: Rejecting INPUT UDP connections on ports:"                          print_info -en "$iface: Rejecting INPUT UDP connections on ports:"
                         for port in $REJECT_INPUT_UDP; do                          for port in $REJECT_INPUT_UDP; do
                                 src_ip=""                                  src_ip=""
                                   port_token="$port"
                                 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; }'`
                                   validate_legacy_peer_port_token "$port_token" "$src_ip" "$port" || exit 1
                                 print_info -en " $port"`[ ! -z "$src_ip" ] && echo "[$src_ip]"`                                  print_info -en " $port"`[ ! -z "$src_ip" ] && echo "[$src_ip]"`
                                   normalize_portspec_var port || exit 1;
                                 echo $port | grep -q ,                                  echo $port | grep -q ,
                                 multiport="$?";                                  multiport="$?";
                                 if [ "$multiport" -eq 0 ]; then                                  if [ "$multiport" -eq 0 ]; then
Riadok 1232  allow_input()
Riadok 1377  allow_input()
                         last_port="";                          last_port="";
                         for port in $ACCEPT_INPUT_TCP; do                          for port in $ACCEPT_INPUT_TCP; do
                                 src_ip=""                                  src_ip=""
                                   port_token="$port"
                                 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; }'`
                                   validate_legacy_peer_port_token "$port_token" "$src_ip" "$port" || exit 1
                                 if [ -n "$src_ip" -a "$port" = "0" ]; then                                  if [ -n "$src_ip" -a "$port" = "0" ]; then
                                         port="ALL";                                          port="ALL";
                                 fi                                  fi
Riadok 1243  allow_input()
Riadok 1390  allow_input()
                                 print_info -en " $port"`[ ! -z "$src_ip" ] && echo "[$src_ip]"`                                  print_info -en " $port"`[ ! -z "$src_ip" ] && echo "[$src_ip]"`
                                 if [ $(( ++counter )) -ge 5 ]; then counter=0; print_info ""; fi;                                  if [ $(( ++counter )) -ge 5 ]; then counter=0; print_info ""; fi;
                                 last_port="$port";                                  last_port="$port";
                                   normalize_portspec_var port || exit 1;
                                 echo $port | grep -q ,                                  echo $port | grep -q ,
                                 multiport="$?";                                  multiport="$?";
                                 if [ "$multiport" -eq 0 ]; then                                  if [ "$multiport" -eq 0 ]; then
Riadok 1269  allow_input()
Riadok 1417  allow_input()
                         print_info -en "$iface: Accepting INPUT UDP connections on ports:"                          print_info -en "$iface: Accepting INPUT UDP connections on ports:"
                         for port in $ACCEPT_INPUT_UDP; do                          for port in $ACCEPT_INPUT_UDP; do
                                 src_ip=""                                  src_ip=""
                                   port_token="$port"
                                 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; }'`
                                   validate_legacy_peer_port_token "$port_token" "$src_ip" "$port" || exit 1
                                 if [ -n "$src_ip" -a "$port" = "0" ]; then                                  if [ -n "$src_ip" -a "$port" = "0" ]; then
                                         port="ALL";                                          port="ALL";
                                 fi                                  fi
                                   normalize_portspec_var port || exit 1;
                                 echo $port | grep -q ,                                  echo $port | grep -q ,
                                 multiport="$?";                                  multiport="$?";
                                 if [ "$multiport" -eq 0 ]; then                                  if [ "$multiport" -eq 0 ]; then
Riadok 1312  allow_input()
Riadok 1463  allow_input()
                 if [ "X$XEN_MODE" = "Xon" ]; then                  if [ "X$XEN_MODE" = "Xon" ]; then
                         print_info -ne " XEN_MODE ";                          print_info -ne " XEN_MODE ";
                 else                  else
                           traceroute_src_ports="$(normalize_portspec "$TRACEROUTE_SRC_PORTS")" || exit 1
                           traceroute_dest_ports="$(normalize_portspec "$TRACEROUTE_DEST_PORTS")" || exit 1
                         $IPTABLES -A OUTPUT -o $ANTISPOOF_IFACE -p UDP \                          $IPTABLES -A OUTPUT -o $ANTISPOOF_IFACE -p UDP \
                                 --sport $TRACEROUTE_SRC_PORTS --dport $TRACEROUTE_DEST_PORTS \                                  --sport $traceroute_src_ports --dport $traceroute_dest_ports \
                                 -s $ip -d $ANYWHERE -j ACCEPT                                  -s $ip -d $ANYWHERE -j ACCEPT
   
                         for iface in $TRACEROUTE_IFACE; do                          for iface in $TRACEROUTE_IFACE; do
   
                                 $IPTABLES -A FORWARD -p UDP -i $iface --sport $TRACEROUTE_SRC_PORTS \                                  $IPTABLES -A FORWARD -p UDP -i $iface --sport $traceroute_src_ports \
                                         --dport $TRACEROUTE_DEST_PORTS -j ACCEPT                                          --dport $traceroute_dest_ports -j ACCEPT
                         done                          done
                 fi                  fi
                 print_info " done."                  print_info " done."
Riadok 1360  allow_output()
Riadok 1513  allow_output()
                                 done                                  done
                         fi                          fi
                 else                  else
                         print_info -en "$iface: Accepting OUTPUT UDP connections to ports:"                          counter=0;
                           multiline_output_ports=0;
                           for _port_preview in $ACCEPT_OUTPUT_UDP; do
                                   if [ $(( ++counter )) -gt 5 ]; then
                                           multiline_output_ports=1;
                                           break;
                                   fi
                           done
                           counter=0;
                           if [ "$multiline_output_ports" -eq 1 ]; then
                                   print_info -e "$iface: Accepting OUTPUT UDP connections to ports:"
                           else
                                   print_info -en "$iface: Accepting OUTPUT UDP connections to ports:"
                           fi
                         for port in $ACCEPT_OUTPUT_UDP; do                          for port in $ACCEPT_OUTPUT_UDP; do
                                 dest_ip=""                                  dest_ip=""
                                   port_token="$port"
                                 eval `echo $port | awk -v FS=: '/:/ { printf "dest_ip=\"%s\"; port=\"%s\";", $1, $2; }'`                                  eval `echo $port | awk -v FS=: '/:/ { printf "dest_ip=\"%s\"; port=\"%s\";", $1, $2; }'`
                                   validate_legacy_peer_port_token "$port_token" "$dest_ip" "$port" || exit 1
                                 if [ -n "$dest_ip" -a "$port" = "0" ]; then                                  if [ -n "$dest_ip" -a "$port" = "0" ]; then
                                         port="ALL";                                          port="ALL";
                                 fi                                  fi
                                 print_info -en " $port"`[ ! -z "$dest_ip" ] && echo "[$dest_ip]"`                                  display_port="$port"
                                   normalize_portspec_var port || exit 1;
                                   print_info -en " $display_port"`[ ! -z "$dest_ip" ] && echo "[$dest_ip]"`
                                   if [ "$multiline_output_ports" -eq 1 ] && [ $(( ++counter )) -ge 5 ]; then counter=0; print_info ""; fi;
                                 if [ -z "$dest_ip" ]; then                                  if [ -z "$dest_ip" ]; then
                                         $IPTABLES -A OUTPUT -o ${!riface} -p UDP --dport $port -j ACCEPT                                          $IPTABLES -A OUTPUT -o ${!riface} -p UDP --dport $port -j ACCEPT
                                 else                                  else
Riadok 1378  allow_output()
Riadok 1549  allow_output()
                                         fi                                          fi
                                 fi                                  fi
                         done                          done
                           if [ "$multiline_output_ports" -eq 1 ] && [ $counter -gt 0 ]; then
                                   print_info "";
                           fi
                         print_info " done."                          print_info " done."
                 fi                  fi
   
Riadok 1390  allow_output()
Riadok 1564  allow_output()
                                 done                                  done
                         fi                          fi
                 else                  else
                         print_info -en "$iface: Accepting OUTPUT TCP connections to ports:"                          counter=0;
                           multiline_output_ports=0;
                           for _port_preview in $ACCEPT_OUTPUT_TCP; do
                                   if [ $(( ++counter )) -gt 5 ]; then
                                           multiline_output_ports=1;
                                           break;
                                   fi
                           done
                           counter=0;
                           if [ "$multiline_output_ports" -eq 1 ]; then
                                   print_info -e "$iface: Accepting OUTPUT TCP connections to ports:"
                           else
                                   print_info -en "$iface: Accepting OUTPUT TCP connections to ports:"
                           fi
                         for port in $ACCEPT_OUTPUT_TCP; do                          for port in $ACCEPT_OUTPUT_TCP; do
                                 dest_ip=""                                  dest_ip=""
                                   port_token="$port"
                                 eval `echo $port | awk -v FS=: '/:/ { printf "dest_ip=\"%s\"; port=\"%s\";", $1, $2; }'`                                  eval `echo $port | awk -v FS=: '/:/ { printf "dest_ip=\"%s\"; port=\"%s\";", $1, $2; }'`
                                   validate_legacy_peer_port_token "$port_token" "$dest_ip" "$port" || exit 1
                                 if [ -n "$dest_ip" -a "$port" = "0" ]; then                                  if [ -n "$dest_ip" -a "$port" = "0" ]; then
                                         port="ALL";                                          port="ALL";
                                 fi                                  fi
                                 print_info -en " $port"`[ ! -z "$dest_ip" ] && echo "[$dest_ip]"`                                  display_port="$port"
                                   normalize_portspec_var port || exit 1;
                                   print_info -en " $display_port"`[ ! -z "$dest_ip" ] && echo "[$dest_ip]"`
                                   if [ "$multiline_output_ports" -eq 1 ] && [ $(( ++counter )) -ge 5 ]; then counter=0; print_info ""; fi;
                                 if [ -z "$dest_ip" ]; then                                  if [ -z "$dest_ip" ]; then
                                         $IPTABLES -A OUTPUT -o ${!riface} -p TCP --dport $port -j ACCEPT                                          $IPTABLES -A OUTPUT -o ${!riface} -p TCP --dport $port -j ACCEPT
                                 else                                  else
Riadok 1408  allow_output()
Riadok 1600  allow_output()
                                         fi                                          fi
                                 fi                                  fi
                         done                          done
                           if [ "$multiline_output_ports" -eq 1 ] && [ $counter -gt 0 ]; then
                                   print_info "";
                           fi
                         print_info " done."                          print_info " done."
                 fi                  fi
   
Riadok 1563  do_ip_accounting()
Riadok 1758  do_ip_accounting()
                         if [ ! "x$DO_LOCAL_IP_ACCOUNTING" = "xno" ]; then                          if [ ! "x$DO_LOCAL_IP_ACCOUNTING" = "xno" ]; then
                                 accountig_ports=`echo "$NAT_TCP_PORT_REDIRECT " | $AWK -v RS=' ' -v FS=:  '{ print $2; }' | sort -u -r -g `                                  accountig_ports=`echo "$NAT_TCP_PORT_REDIRECT " | $AWK -v RS=' ' -v FS=:  '{ print $2; }' | sort -u -r -g `
                                 for port in $accountig_ports; do                                  for port in $accountig_ports; do
                                           normalize_portspec_var port || exit 1;
                                         $IPTABLES -I INPUT -i $NAT_SUBNET_IFACE -p TCP --dport $port -j $IPACCT_NAME                                          $IPTABLES -I INPUT -i $NAT_SUBNET_IFACE -p TCP --dport $port -j $IPACCT_NAME
                                         $IPTABLES -I INPUT -i $NAT_SUBNET_IFACE -p UDP --dport $port -j $IPACCT_NAME                                          $IPTABLES -I INPUT -i $NAT_SUBNET_IFACE -p UDP --dport $port -j $IPACCT_NAME
                                         $IPTABLES -I OUTPUT -o $NAT_SUBNET_IFACE -p TCP --sport $port -j $IPACCT_NAME                                          $IPTABLES -I OUTPUT -o $NAT_SUBNET_IFACE -p TCP --sport $port -j $IPACCT_NAME

Legend:
Odstranené z verzie2.124  
zmenené riadky
  Pridané vo verzii2.125

Platon Group <platon@platon.sk> http://platon.sk/
Copyright © 2002-2006 Platon Group
Stránka používa redakčný systém Metafox
Na začiatok