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.125 a 2.126

verzia 2.125, 2026/02/26 18:34:33 verzia 2.126, 2026/08/31 23:19:35
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.124 2026/01/06 16:41:45 nepto Exp $  # $Platon: scripts/shell/firewall/fw-universal.sh,v 2.125 2026/02/26 18:34:33 nepto Exp $
 #  #
 # Changelog:  # Changelog:
 # 2003-10-24 - created  # 2003-10-24 - created
Riadok 118  IPTABLES_RESTORE="${IPTABLES_RESTORE:=$D
Riadok 118  IPTABLES_RESTORE="${IPTABLES_RESTORE:=$D
   
 IPTABLES_TABLES="${IPTABLES_TABLES:=filter nat mangle}"  IPTABLES_TABLES="${IPTABLES_TABLES:=filter nat mangle}"
   
   DOCKER_MODE="${DOCKER_MODE:=off}"
   if [ "X$DOCKER_MODE" = "Xon" -a -z "${DOCKER_IFACE_ACCEPT_ALL+x}" ]; then
           DOCKER_IFACE_ACCEPT_ALL="docker+ br-+"
   fi
   
   
 if [ "x$LOGGING" = "xoff" ]; then  if [ "x$LOGGING" = "xoff" ]; then
         IPTABLES_LOG=": log turned off"          IPTABLES_LOG=": log turned off"
Riadok 310  load_modules()
Riadok 315  load_modules()
         fi          fi
 } # }}}  } # }}}
   
   docker_mode_on()
   { # {{{
           [ "X$DOCKER_MODE" = "Xon" ]
   } # }}}
   
   forward_chain_managed()
   { # {{{
           [ "X$XEN_MODE" != "Xon" -a "X$DOCKER_MODE" != "Xon" ]
   } # }}}
   
   iptables_rule_once()
   { # {{{
           $IPTABLES -C "$@" 2>/dev/null || $IPTABLES -A "$@"
   } # }}}
   
 load_cache()  load_cache()
 { # {{{  { # {{{
   
           if docker_mode_on; then
                   print_info "DOCKER_MODE enabled: skipping rules cache restore"
                   return;
           fi
   
         if [ ! -d "$DEFAULT_CACHE_DIR" ]; then          if [ ! -d "$DEFAULT_CACHE_DIR" ]; then
                 mkdir -p "$DEFAULT_CACHE_DIR";                  mkdir -p "$DEFAULT_CACHE_DIR";
Riadok 412  antispoof_on()
Riadok 437  antispoof_on()
 # Turn on IP packets forwarding  # Turn on IP packets forwarding
 forward_on()  forward_on()
 { # {{{  { # {{{
         # NAT requires turn on IP forwarding          # NAT and Docker bridge networks require turn on IP forwarding
         if [ ! -z "$NAT_LAN_IFACE" ]; then          if [ ! -z "$NAT_LAN_IFACE" -o "X$DOCKER_MODE" = "Xon" ]; then
                 print_info -en "NAT: Enabling packet forwarding..."                  print_info -en "NAT: Enabling packet forwarding..."
                 echo 1 > /proc/sys/net/ipv4/ip_forward                  echo 1 > /proc/sys/net/ipv4/ip_forward
                 print_info " done."                  print_info " done."
Riadok 422  forward_on()
Riadok 447  forward_on()
   
 forward_off()  forward_off()
 { # {{{  { # {{{
           if docker_mode_on; then
                   print_info "DOCKER_MODE enabled: keeping packet forwarding enabled"
                   return;
           fi
   
         print_info -en "NAT: Disabling packet forwarding..."          print_info -en "NAT: Disabling packet forwarding..."
         echo 0 > /proc/sys/net/ipv4/ip_forward          echo 0 > /proc/sys/net/ipv4/ip_forward
         print_info " done."          print_info " done."
Riadok 431  forward_off()
Riadok 461  forward_off()
 remove_chains()  remove_chains()
 { # {{{  { # {{{
   
         if [ "X$XEN_MODE" = "Xon" ]; then          if docker_mode_on; then
                 print_info "XEN_MODE enabled: not clearing FORWARD chain";                  print_info "DOCKER_MODE enabled: preserving FORWARD and nat chains";
                   $IPTABLES --flush INPUT
                   $IPTABLES --flush OUTPUT
                   $IPTABLES --flush spoof 2>/dev/null
                   $IPTABLES -t mangle -F
                   $IPTABLES -t mangle -X
                   $IPTABLES -t mangle -Z
                   return;
           fi
   
           if ! forward_chain_managed; then
                   print_info "FORWARD chain preservation enabled: not clearing FORWARD chain";
                 $IPTABLES --flush INPUT                  $IPTABLES --flush INPUT
                 $IPTABLES --flush OUTPUT                  $IPTABLES --flush OUTPUT
                 $IPTABLES --flush spoof                  $IPTABLES --flush spoof
Riadok 454  nmap_scan_filter()
Riadok 495  nmap_scan_filter()
         print_info -en "Turning on nmap scan filter "          print_info -en "Turning on nmap scan filter "
   
         for chain in INPUT FORWARD; do          for chain in INPUT FORWARD; do
                 if [ "X$XEN_MODE" = "Xon" -a "$chain" = "FORWARD" ]; then                  if ! forward_chain_managed && [ "$chain" = "FORWARD" ]; then
                         print_info -ne " XEN_MODE ";                          print_info -ne " FORWARD_PRESERVE ";
                         continue;                          continue;
                 fi                  fi
   
Riadok 496  invalid_packet_filter()
Riadok 537  invalid_packet_filter()
         print_info -en "Turning on INVALID packet filter "          print_info -en "Turning on INVALID packet filter "
   
         for chain in INPUT OUTPUT FORWARD; do          for chain in INPUT OUTPUT FORWARD; do
                 if [ "X$XEN_MODE" = "Xon" -a "$chain" = "FORWARD" ]; then                  if ! forward_chain_managed && [ "$chain" = "FORWARD" ]; then
                         print_info -ne " XEN_MODE ";                          print_info -ne " FORWARD_PRESERVE ";
                         continue;                          continue;
                 fi                  fi
                 $IPTABLES_LOG   -A $chain -m conntrack --ctstate INVALID $LOG_LIMIT "INVALID $chain: "                  $IPTABLES_LOG   -A $chain -m conntrack --ctstate INVALID $LOG_LIMIT "INVALID $chain: "
Riadok 557  anti_spoof_filter()
Riadok 598  anti_spoof_filter()
                 for iface in $ANTISPOOF_IFACE; do                  for iface in $ANTISPOOF_IFACE; do
                         print_info -en " $iface"                          print_info -en " $iface"
   
                         if [ "X$XEN_MODE" = "Xon" ]; then                          if ! forward_chain_managed; then
                                 print_info -ne " XEN_MODE ";                                  print_info -ne " FORWARD_PRESERVE ";
                         else                          else
                                 $IPTABLES -A FORWARD -i $iface -j spoof                                  $IPTABLES -A FORWARD -i $iface -j spoof
                         fi                          fi
Riadok 845  drop_output()
Riadok 886  drop_output()
                                 normalize_portspec_var port || exit 1;                                  normalize_portspec_var port || exit 1;
                                 print_info -en " $port"                                  print_info -en " $port"
   
                                 if [ "X$XEN_MODE" = "Xon" ]; then                                  if ! forward_chain_managed; then
                                         print_info -ne " XEN_MODE ";                                          print_info -ne " FORWARD_PRESERVE ";
                                 else                                  else
                                         $IPTABLES -A FORWARD -p TCP --sport $port -o $riface -j DROP                                          $IPTABLES -A FORWARD -p TCP --sport $port -o $riface -j DROP
                                 fi                                  fi
Riadok 861  drop_output()
Riadok 902  drop_output()
                                 normalize_portspec_var port || exit 1;                                  normalize_portspec_var port || exit 1;
                                 print_info -en " $port"                                  print_info -en " $port"
   
                                 if [ "X$XEN_MODE" = "Xon" ]; then                                  if ! forward_chain_managed; then
                                         print_info -ne " XEN_MODE ";                                          print_info -ne " FORWARD_PRESERVE ";
                                 else                                  else
                                         $IPTABLES -A FORWARD -p UDP --sport $port -o $riface -j DROP                                          $IPTABLES -A FORWARD -p UDP --sport $port -o $riface -j DROP
                                 fi                                  fi
Riadok 934  allow_accept_all()
Riadok 975  allow_accept_all()
                         print_info -en " $iface"                          print_info -en " $iface"
                         $IPTABLES -A INPUT   -i $iface -j ACCEPT                          $IPTABLES -A INPUT   -i $iface -j ACCEPT
                         $IPTABLES -A OUTPUT  -o $iface -j ACCEPT                          $IPTABLES -A OUTPUT  -o $iface -j ACCEPT
                         if [ "X$XEN_MODE" = "Xon" ]; then                          if ! forward_chain_managed; then
                                 print_info -ne " XEN_MODE ";                                  print_info -ne " FORWARD_PRESERVE ";
                         else                          else
                                 $IPTABLES -A FORWARD -i $iface -j ACCEPT                                  $IPTABLES -A FORWARD -i $iface -j ACCEPT
                         fi                          fi
Riadok 944  allow_accept_all()
Riadok 985  allow_accept_all()
         fi          fi
 } # }}}  } # }}}
   
   allow_docker_accept_all()
   { # {{{
           if docker_mode_on && [ ! -z "$DOCKER_IFACE_ACCEPT_ALL" ]; then
                   print_info -en "DOCKER_MODE: Accepting ALL packets on Docker interfaces:"
                   for iface in $DOCKER_IFACE_ACCEPT_ALL; do
                           print_info -en " $iface"
                           iptables_rule_once INPUT   -i $iface -j ACCEPT
                           iptables_rule_once OUTPUT  -o $iface -j ACCEPT
                           iptables_rule_once FORWARD -i $iface -j ACCEPT
                           iptables_rule_once FORWARD -o $iface -j ACCEPT
                   done
                   print_info " done."
           fi
   } # }}}
   
 allow_accept_vrrp()  allow_accept_vrrp()
 { # {{{  { # {{{
         if [ ! -z "$IFACE_ACCEPT_VRRP" ]; then          if [ ! -z "$IFACE_ACCEPT_VRRP" ]; then
Riadok 1460  allow_input()
Riadok 1516  allow_input()
                 ip="`get_first_ip_addr IP_$ANTISPOOF_IFACE`";                  ip="`get_first_ip_addr IP_$ANTISPOOF_IFACE`";
                 print_info -en "Accepting traceroute:"                  print_info -en "Accepting traceroute:"
   
                 if [ "X$XEN_MODE" = "Xon" ]; then                  if ! forward_chain_managed; then
                         print_info -ne " XEN_MODE ";                          print_info -ne " FORWARD_PRESERVE ";
                 else                  else
                         traceroute_src_ports="$(normalize_portspec "$TRACEROUTE_SRC_PORTS")" || exit 1                          traceroute_src_ports="$(normalize_portspec "$TRACEROUTE_SRC_PORTS")" || exit 1
                         traceroute_dest_ports="$(normalize_portspec "$TRACEROUTE_DEST_PORTS")" || exit 1                          traceroute_dest_ports="$(normalize_portspec "$TRACEROUTE_DEST_PORTS")" || exit 1
Riadok 1674  log_forward_drop()
Riadok 1730  log_forward_drop()
 { # {{{  { # {{{
   
         if [ ! "x$LOGGING" = "xoff" ]; then          if [ ! "x$LOGGING" = "xoff" ]; then
                   if ! forward_chain_managed; then
                           print_info "FORWARD chain preservation enabled: forward drop logging skipped"
                           return;
                   fi
                 prefix="forward drop: "                  prefix="forward drop: "
                 print_info "Forward drop is logged with prefix '$prefix'"                  print_info "Forward drop is logged with prefix '$prefix'"
                 $IPTABLES_LOG -A FORWARD $LOG_LIMIT "$prefix"                  $IPTABLES_LOG -A FORWARD $LOG_LIMIT "$prefix"
Riadok 1743  do_ip_accounting()
Riadok 1803  do_ip_accounting()
                         $IPTABLES -I INPUT  -i $NAT_LAN_IFACE -j $IPACCT_IN_NAME                          $IPTABLES -I INPUT  -i $NAT_LAN_IFACE -j $IPACCT_IN_NAME
                         $IPTABLES -I OUTPUT -o $NAT_LAN_IFACE -j $IPACCT_OUT_NAME                          $IPTABLES -I OUTPUT -o $NAT_LAN_IFACE -j $IPACCT_OUT_NAME
   
                         if [ "X$XEN_MODE" = "Xon" ]; then                          if ! forward_chain_managed; then
                                 print_info -ne " XEN_MODE ";                                  print_info -ne " FORWARD_PRESERVE ";
                         else                          else
                                 $IPTABLES -I FORWARD -s $localnet -o $NAT_LAN_IFACE -j $IPACCT_NAME                                  $IPTABLES -I FORWARD -s $localnet -o $NAT_LAN_IFACE -j $IPACCT_NAME
                                 $IPTABLES -I FORWARD -d $localnet -i $NAT_LAN_IFACE -j $IPACCT_NAME                                  $IPTABLES -I FORWARD -d $localnet -i $NAT_LAN_IFACE -j $IPACCT_NAME
Riadok 2170  case "$1" in
Riadok 2230  case "$1" in
                 # (un)commnet next lines as needed                  # (un)commnet next lines as needed
                 #                  #
                 allow_accept_all                  allow_accept_all
                   allow_docker_accept_all
                 allow_accept_vrrp                  allow_accept_vrrp
                 nmap_scan_filter                  nmap_scan_filter
                 invalid_packet_filter                  invalid_packet_filter
Riadok 2198  case "$1" in
Riadok 2259  case "$1" in
                 configure_special_rules                  configure_special_rules
                 custom_rules                  custom_rules
                 bann_ip_adresses                  bann_ip_adresses
                 $IPTABLES_SAVE -c > $CACHE_FILE                  if docker_mode_on; then
                           print_info "DOCKER_MODE enabled: skipping rules cache save"
                   else
                           $IPTABLES_SAVE -c > $CACHE_FILE
                   fi
                 ;;                  ;;
   
         stop)          stop)

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

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