Redes de computadores UNIMEP
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

1 - Firewall

Ir para baixo

1 - Firewall Empty 1 - Firewall

Mensagem por bhsoares Ter maio 04, 2010 7:10 pm

Firewall


"Firewall" Básico

Somete para fazer roteamento e direcionamentos de portas

Configurar os ips eth0 - eth1 (centOS /etc/sysconfig/network-scripts)
# vi ifcfg-eth0
# vi ifcfg-eth1

crie o arquivo do firewall
# cd /etc/init.d/
# touch rc.firewall
# chmod +x rc.firewall

copie todo o conteúdo do código abaixo para o arquivo rc.firewall
*alterar no código abaixo o ip eth1 para o ip interno da sua rede
se você for usar sem Proxy comente a linha
# Direciona para o Proxy
# iptables -t nat -A PREROUTING -i $INT -p tcp --dport 80 -j REDIRECT --to-port 3128
# vi rc.firewall


Código:
 
#! /bin/sh
# description: Inicializacao do Iptables
#
# chkconfig: 2345 80 30
# processname: iptables
# pidfile: /var/run/iptables.pid

# Origem das bibliotecas
#. /etc/rc.d/init.d/functions

# Checando se a rede esta ok
#. /etc/sysconfig/network

EXT="eth0"
INT="eth1"
#configure o ip da sua rede interna
IPINT="192.168.0.0/24"

#if [ ${NETWORKING} = "no" ]
#then
# exit 0
#fi
 case "$1" in
start)
echo  "Starting services:" "Firewall"


echo "1" > /proc/sys/net/ipv4/ip_forward
 
# Carregando os Módulos

 /sbin/depmod -a
 /sbin/modprobe ip_tables
 /sbin/modprobe ip_nat_ftp
 /sbin/modprobe ip_conntrack_ftp
 /sbin/modprobe iptable_nat
#lendo o modulo GRE
 modprobe ip_gre

# Regras de INPUT
# Restringe o acesso INPUT
# iptables -t filter -P INPUT DROP

# Libera todo o acesso a interface loopback

 iptables -t filter -A INPUT -j ACCEPT -i lo

# Mantem as conexoes estabelecidades e relatadas

 iptables -t filter -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED


###### Liberando portas
#exemplos neste script nao tem bloqueios de todas as portas
#todas ja estao liberadas

# Liberando TS
# iptables -A INPUT -p tcp --destination-port 3389 -j ACCEPT
# iptables -A INPUT -p udp --destination-port 3389 -j ACCEPT

# Liberando VNC
# iptables -A INPUT -p tcp --destination-port 59000:59255 -j ACCEPT
# iptables -A INPUT -p udp --destination-port 59000:59255 -j ACCEPT

# Libera o acesso a porta 20 de ftp-data para a rede interna
# iptables -t filter -A INPUT -j ACCEPT -i $INT -p tcp --dport 20
# iptables -t filter -A OUTPUT -j ACCEPT -s $IPINT -p tcp --dport 20

# Libera o acesso a porta 21 de ftp para a rede interna
# iptables -t filter -A INPUT -j ACCEPT -i $INT -p tcp --dport 21
# iptables -t filter -A OUTPUT -j ACCEPT -s $IPINT -p tcp --dport 21

# Libera o acesso ao SSH para uma conexao remota
# iptables -t filter -A INPUT -i $EXT -j ACCEPT -p tcp --dport 22
# iptables -t filter -A INPUT -i $INT -j ACCEPT -p tcp --dport 22

# Libera o acesso a porta 25 para a rede interna
# iptables -t filter -A INPUT -j ACCEPT -i $INT -p tcp --dport 25
# iptables -t filter -A OUTPUT -j ACCEPT -s $IPINT -p tcp --dport 25

# Libera o acesso a porta 80 no servidor WEB
# iptables -t filter -A INPUT -j ACCEPT -s $IPINT -p tcp --dport 80

# Libera o acesso a porta 110 para a rede interna
# iptables -t filter -A INPUT -j ACCEPT -i $INT -p tcp --dport 110
# iptables -t filter -A OUTPUT -j ACCEPT -s $IPINT -p tcp --dport 110

###########################################################################

############################## Direcionando a portas

# 3389 servidor TS
# iptables -A PREROUTING -t nat -p tcp -d 192.168.0.3 --dport 3389 -j DNAT --to-dest 192.168.0.3:3389

# direciona VNC
# iptables -A PREROUTING -t nat -p tcp -d 192.168.0.3 --dport 5900 -j DNAT --to-dest 192.168.0.3:5900

# ip nao passar pelo proxy
# iptables -t nat -A PREROUTING -i eth1 -s 192.168.0.3  -p tcp --dport 80 -j ACCEPT

########################################################

# Regras de OUTPUT
# iptables -P OUTPUT ACCEPT

# Libera o acesso para navegacao por proxy (descriminar todos os ips)
 iptables -t filter -A INPUT -j ACCEPT -s $IPINT -p tcp --dport 3128

# Direciona para o Proxy
  iptables -t nat -A PREROUTING -i $INT -p tcp --dport 80 -j REDIRECT --to-port 3128
 
# Mantem as conexoes estabelecidas e relatadas
 iptables -t filter -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED

# Libera o acesso irrestrito para a rede interna
 iptables -t filter -A FORWARD -j ACCEPT -s $IPINT

# NAT para rede interna
 iptables -t nat -A POSTROUTING -o $EXT -j MASQUERADE
 iptables -A FORWARD -i $INT -j ACCEPT
 
echo

;;
stop)
echo "Stopping services: " "Firewall"
 iptables -F
 iptables -F -t nat
 iptables -P INPUT ACCEPT
 iptables -P OUTPUT ACCEPT
 echo
 ;;
status)
 iptables -L
 echo
 ;;
restart)
$0 stop
$0 start
 echo
 ;;
*)
echo  "Usage: %s (start|stop|status|restart)" firewall
 exit 1
 echo
 ;;
 
esac
exit 0                                           


Executar o Script para teste

# service rc.firewall start

Vamos configurar para inicio no boot

# vi /etc/rc.local

Adicionar linha no final do script
Código:
 /etc/init.d/rc.firewall start 

Pronto !!!


firewall configurado so com esse script a sua internet ja esta sendo compartilhada
so lembrando de comentar a linha do direcionamento para o proxy


Próxima config > Squid
bhsoares
bhsoares

Mensagens : 8
Data de inscrição : 21/04/2010
Idade : 35
Localização : Piracicaba

Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos