Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/11/2015, 16:25
Avatar de lauser
lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 10 meses
Puntos: 401
Respuesta: Mucho trafico de rusia a mi página

Script...
Código BASH:
Ver original
  1. ISO="ru"
  2.  
  3. ### Set PATH ###
  4. IPT=/sbin/iptables
  5. WGET=/usr/bin/wget
  6. EGREP=/bin/egrep
  7.  
  8. ### No editing below ###
  9. SPAMLIST="countrydrop"
  10. ZONEROOT="/root/iptables"
  11. DLROOT="http://www.ipdeny.com/ipblocks/data/countries"
  12.  
  13. cleanOldRules(){
  14. $IPT -F
  15. $IPT -X
  16. $IPT -t nat -F
  17. $IPT -t nat -X
  18. $IPT -t mangle -F
  19. $IPT -t mangle -X
  20. $IPT -P INPUT ACCEPT
  21. $IPT -P OUTPUT ACCEPT
  22. $IPT -P FORWARD ACCEPT
  23. }
  24.  
  25. # create a dir
  26. [ ! -d $ZONEROOT ] && /bin/mkdir -p $ZONEROOT
  27.  
  28. # clean old rules
  29. cleanOldRules
  30.  
  31. # create a new iptables list
  32. $IPT -N $SPAMLIST
  33.  
  34. for c  in $ISO
  35. do
  36.      # local zone file
  37.      tDB=$ZONEROOT/$c.zone
  38.  
  39.      # get fresh zone file
  40.      $WGET -O $tDB $DLROOT/$c.zone
  41.  
  42.      # country specific log message
  43.      SPAMDROPMSG="$c Country Drop"
  44.  
  45.      # get
  46.      BADIPS=$(egrep -v "^#|^$" $tDB)
  47.      for ipblock in $BADIPS
  48.      do
  49.         $IPT -A $SPAMLIST -s $ipblock -j LOG --log-prefix "$SPAMDROPMSG"
  50.         $IPT -A $SPAMLIST -s $ipblock -j DROP
  51.      done
  52. done
  53.  
  54. # Drop everything
  55. $IPT -I INPUT -j $SPAMLIST
  56. $IPT -I OUTPUT -j $SPAMLIST
  57. $IPT -I FORWARD -j $SPAMLIST
  58.  
  59. # call your other iptable script
  60. # /path/to/other/iptables.sh
  61.  
  62. exit 0
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-