Platon Technologies
neprihlásený Prihlásiť Registrácia
SlovakEnglish
open source software development oslavujeme 10 rokov vývoja otvoreného softvéru! Piatok, 29. marec 2024

Rozdiely pre scripts/shell/firewall/fw-universal.sh medzi verziami 2.3 a 2.7

verzia 2.3, 2004/12/30 23:16:20 verzia 2.7, 2005/01/02 13:31:46
Riadok 9 
Riadok 9 
 # 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.2 2004/12/12 18:00:11 rajo Exp $  # $Platon: scripts/shell/firewall/fw-universal.sh,v 2.6 2005/01/02 02:37:12 rajo Exp $
 #  #
 # Changelog:  # Changelog:
 # 2004-11-14 - created  # 2004-11-14 - created
Riadok 116  antispoof_on()
Riadok 116  antispoof_on()
 # clear status of iptable chains  # clear status of iptable chains
 remove_chains()  remove_chains()
 { # {{{  { # {{{
         $IPTABLES -F # clear all chains  
         $IPTABLES -X # remove all chains          for table in filter nat mangle; do
                   $IPTABLES -t $table -F # clear all chains
                   $IPTABLES -t $table -X # remove all chains
           done
   
 } # }}}  } # }}}
   
 # all packets on loopback are accpted  # all packets on loopback are accpted
Riadok 272  mangle_output()
Riadok 276  mangle_output()
 masquerade()  masquerade()
 { # {{{  { # {{{
         if [ ! -z "$NAT_LAN_IFACE" ]; then          if [ ! -z "$NAT_LAN_IFACE" ]; then
                 echo -en "Masquerading local subnet: $NAT_SUBNET_IFACE --> $NAT_LAN_IFACE"                  echo -en "NAT: Masquerading local subnet: $NAT_SUBNET_IFACE --> $NAT_LAN_IFACE"
   
                 ip="IP_$NAT_SUBNET_IFACE";                  ip="IP_$NAT_SUBNET_IFACE";
                 netmask="Mask_$NAT_SUBNET_IFACE"                  netmask="Mask_$NAT_SUBNET_IFACE"
                 localnet="${!ip}/${!netmask}"                  localnet="${!ip}/${!netmask}"
   
                   lan_ip="IP_$NAT_LAN_IFACE"
   
                 # alow packets from private subnet                  # alow packets from private subnet
                 $IPTABLES -A FORWARD -s ! $localnet -i $NAT_SUBNET_IFACE -j DROP                  $IPTABLES -A FORWARD -s ! $localnet -i $NAT_SUBNET_IFACE -j DROP
                 $IPTABLES -A INPUT   -i $NAT_SUBNET_IFACE -j ACCEPT  
                 $IPTABLES -A FORWARD -i $NAT_SUBNET_IFACE -j ACCEPT                  for redirect in $NAT_TCP_PORT_REDIRECT; do
                           eval `echo $redirect | awk -v FS=: '{ printf "remote_port=%s; local_port=%s;", $1, $2; }'`
                           echo -en " $remote_port:$local_port"
                           $IPTABLES -t nat -A PREROUTING -p TCP \
                                   -i ! $NAT_LAN_IFACE -d ! ${!lan_ip} \
                                   --dport $remote_port -j REDIRECT --to-port $local_port
                   done
   
                 $IPTABLES -t nat -A POSTROUTING -s $localnet -o $NAT_LAN_IFACE -j MASQUERADE                  $IPTABLES -t nat -A POSTROUTING -s $localnet -o $NAT_LAN_IFACE -j MASQUERADE
   
                   echo " done."
   
                 # Keep state of connections from private subnets                  # don't forward Miscrosoft protocols - NOT RFC compliant packets
                 iptables -A OUTPUT  -m state --state NEW -o $NAT_LAN_IFACE -j ACCEPT                  if [ ! -z "$NAT_FORWARD_MICROSOFT" ]; then
                 iptables -A FORWARD -m state --state NEW -o $NAT_LAN_IFACE -j ACCEPT                          if [ "x$NAT_FORWARD_MICROSOFT" = "xno" ]; then
                 iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT                                  $IPTABLES -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP
   
                                   for port in 69 135 445 1434 6667; do
                                           $IPTABLES -A FORWARD -p TCP --dport $port -j DROP
                                           $IPTABLES -A FORWARD -p UDP --dport $port -j DROP
                                   done
                           fi
                   fi
   
                   if [ ! -z "$NAT_FORWARD_TCP_PORTS" ]; then
                           echo -en "\tAccepting FORWARD TCP ports:"
                           for port in $NAT_FORWARD_TCP_PORTS; do
                                   echo -en " $port"
                                   $IPTABLES -A FORWARD -p TCP --dport $port -m state --state NEW -j ACCEPT
                           done
                           echo " done."
                   fi
   
                   if [ ! -z "$NAT_FORWARD_UDP_PORTS" ]; then
                           echo -en "\tAccepting FORWARD UDP ports:"
                           for port in $NAT_FORWARD_UDP_PORTS; do
                                   echo -en " $port"
                                   $IPTABLES -A FORWARD -p UDP --dport $port -m state --state NEW -j ACCEPT
                           done
                           echo " done."
                   fi
   
                   echo -en "\tAccepting ICMP packets:"
                   for type in $ACCEPT_ICMP_PACKETS; do
                           echo -en " $type"
                           $IPTABLES -A FORWARD -p ICMP --icmp-type $type -j ACCEPT
                   done
                 echo " done."                  echo " done."
   
                   # Keep state of connections from private subnets
                   $IPTABLES -A OUTPUT  -m state --state NEW -o $NAT_LAN_IFACE -j ACCEPT
                   #$IPTABLES -A FORWARD -m state --state NEW -o $NAT_LAN_IFACE -j ACCEPT
                   $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
   
           fi
   } # }}}
   
   log_new_connections()
   { # {{{
           if [ ! -z "$NAT_LOG_NEW_CONNECTIONS" ]; then
                   if [ "x$NAT_LOG_NEW_CONNECTIONS" = "xyes" ]; then
                           echo -en "Logging new connections:"
                           $IPTABLES -A INPUT   -m state --state NEW -j LOG --log-prefix "IN  connection: "
                           $IPTABLES -A OUTPUT  -m state --state NEW -j LOG --log-prefix "OUT connection: "
                           $IPTABLES -A FORWARD -m state --state NEW -j LOG --log-prefix "FWD connection: "
                           echo " done."
                   fi
         fi          fi
 } # }}}  } # }}}
   
Riadok 407  allow_icmp()
Riadok 470  allow_icmp()
         $IPTABLES -A INPUT -p TCP --dport 113 -j REJECT --reject-with tcp-reset #AUTH server          $IPTABLES -A INPUT -p TCP --dport 113 -j REJECT --reject-with tcp-reset #AUTH server
   
         # accept only allowed ICMP packets          # accept only allowed ICMP packets
         for type in echo-reply destination-unreachable echo-request time-exceeded; do          for type in $ACCEPT_ICMP_PACKETS; do
                 echo -en " $type"                  echo -en " $type"
                 for iface in $INTERFACES; do                  for iface in $INTERFACES; do
                         ip="IP_$iface";                          ip="IP_$iface";
Riadok 542  case "$1" in
Riadok 605  case "$1" in
                 syn_flood                  syn_flood
                 mangle_prerouting                  mangle_prerouting
                 mangle_output                  mangle_output
                   log_new_connections
                 drop_output                  drop_output
                 allow_input                  allow_input
                 allow_output                  allow_output

Legend:
Odstranené z verzie2.3  
zmenené riadky
  Pridané vo verzii2.7

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