Guest User

rc.firewall

a guest
Jun 18th, 2011
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.49 KB | None | 0 0
  1. #/bin/bash
  2. start(){
  3. #carrecando modulo no kernel
  4. #modprobe iptable_nat
  5. #Libera a interface de loopback (própria máquina)
  6. iptables -A INPUT -i lo -j ACCEPT
  7.  
  8. #compartilhando conexão
  9. echo 1 > /proc/sys/net/ipv4/ip_forward
  10. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  11. echo "compartilhamento da rede ativo"
  12.  
  13. #proxy transparente
  14. iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
  15. iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 443 -j REDIRECT --to-port 3128
  16. echo "proxy transparente ativo"
  17.  
  18. #libera acesso porta 443
  19. iptables -A OUTPUT -p tcp -m tcp -m state  --state NEW -j ACCEPT --dport 443
  20.  
  21. #Protege contra synflood
  22. echo "1" > /proc/sys/net/ipv4/tcp_syncookies
  23.  
  24. #Proteção contra ICMP Broadcasting
  25. echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
  26.  
  27. #Protege pacotes mal formados protegendo contra ataques diversos
  28. iptables -A INPUT -m state --state INVALID -j DROP
  29.  
  30. #Esta regra a + importante! Bloqueia tudo que não tenha sido liberado acima
  31. #iptables -A INPUT -p tcp --syn -j DROP
  32.  
  33. echo "#######################################################"
  34. echo "Compartilhamento de Internet e Firewall carregados"
  35. echo "Firewall ativo e verificando!"
  36. }
  37. stop(){
  38. iptables -F
  39. iptables -t nat -F
  40. iptables -P INPUT ACCEPT
  41. iptables -P OUTPUT ACCEPT
  42. echo 0 > /proc/sys/net/ipv4/ip_forward
  43. echo "Stop Firewall..."
  44. }
  45. case "$1" in
  46. "start") start ;;
  47. "stop") stop ;;
  48. "restart") stop; start ;;
  49. *)
  50. echo "Use os parametros: start|stop|restart"
  51. esac
Advertisement
Add Comment
Please, Sign In to add comment