ronylsxd
(usa Ubuntu)
Enviado em 07/06/2013 - 14:34h
O linux tem que fazer todo o trabalho de roteamento e redirecionamento.
e os outros dois servers são Win 2003 cada um com um sistema acadêmico.
Esse e o meu firewall base que costumo usar precisão adaptar ele para o senário que descrevi
duas redes 1.0 e 4.0 as duas se comunicando
uma wan gvt35 mb para as duas redes
um link gvt dedicado redirecionando cada ip quente para seu respectivo, entrando e saindo pelo mesmo link.
####Firewall Linux Debian R5 "INFORTEC SERVIÇOS EM INFORMATICA"####
####Data de auteração: 03/02/2011
# Variaveis
INT_LAN=em1
INT_LAN2=em2
INT_WAN=p1p2
INT_DED=p1p3
IP_LAN=`ifconfig $INT_LAN | grep addr: | awk '{ print $2 }' | cut -d: -f 2`
IP_LAN2=`ifconfig $INT_LAN2 | grep addr: | awk '{ print $2 }' | cut -d: -f 2`
IP_WAN=`ifconfig $INT_WAN | grep addr: | awk '{ print $2 }' | cut -d: -f 2`
IP_DED=`ifconfig $INT_DED | grep addr: | awk '{ print $2 }' | cut -d: -f 2`
REDE_LAN=192.168.1.0/24
REDE_LAN2=192.168.4.0/24
HOST_FW=192.168.1.1
PORTA_PROXY=8080
case "$1" in
stop)
# Limpa a tabela do firewall
echo -n "Finalizando o firewall"
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
echo " [OK]"
;;
status)
echo $"Tabela: padrao"
iptables --list
echo $"Tabela: nat"
iptables -t nat --list
;;
restart|reload)
$0 stop
$0 start
;;
start)
# Limpa a tabela do firewall
echo -n "Excluindo regras de firewal existentes"
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
echo " [OK]"
# Carregando modulos basicos
echo -n "Carregando modulos necessarios"
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_state
/sbin/modprobe ipt_MASQUERADE
echo " [OK]"
# Politica padrao do firewall.
# Nega entrada e encaminhamento e aceita saida.
echo -n "Definindo politica padrao do firewall"
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
echo " [OK]"
# Regras que se aplicam ao firewall
echo -n "Liberando navegacao para o firewall"
iptables -A INPUT -i lo -j ACCEPT
#iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
echo " [OK]"
# Bloqueio de MSN GERAL
#echo -n "Bloqueando MSN"
#iptables -t filter -A FORWARD -s 192.168.1.0/24 -p tcp --dport 1863 -j DROP
#echo " [OK]"
# DesBloqueio de MSN por IP
#echo -n "DesBloqueando MSN Por IP"
#iptables -t filter -I FORWARD -s 192.168.1.19 -p tcp --dport 1863 -j ACCEPT
#echo " [OK]"
# Regras que se aplicam a rede
echo -n "Liberando navegacao para a rede local ($REDE_LAN)"
iptables -A FORWARD -i $INT_LAN -s $REDE_LAN -j ACCEPT
iptables -A FORWARD -i $INT_LAN2 -s $REDE_LAN2 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o $INT_WAN -j MASQUERADE
iptables -t nat -A POSTROUTING -o $INT_DED -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
echo " [OK]"
# Regras que se aplicam a servicos em execucao no firewall
# Servico de SSH
echo -n "Liberando conexao via SSH - Publico"
iptables -A INPUT -p tcp --dport 1607 -j LOG --log-prefix "Acesso via SSH "
iptables -A INPUT -p tcp --dport 1607 -j ACCEPT
echo " [OK]"
# Servidor DNS
echo -n "Liberando acesso ao DNS - Rede Local"
iptables -A INPUT -i $INT_LAN -s $REDE_LAN -p udp --dport 53 -j ACCEPT
echo " [OK]"
# Bloqueio P2P
echo -n "Bloqueando protocolo P2P"
iptables -A FORWARD -d 0/0 -p tcp --dport 1214 -j REJECT
iptables -A FORWARD -d 0/0 -p udp --dport 1214 -j REJECT
iptables -A FORWARD -d 200.176.49.107 -p tcp --dport 1503 -j REJECT
iptables -A FORWARD -d 213.248.112.0/24 -j REJECT
iptables -A FORWARD -d 64.245.58.0/24 -j REJECT
iptables -A FORWARD -d 64.245.59.0/24 -j REJECT
iptables -A FORWARD -d 64.245.58.0/23 -j REJECT
iptables -A FORWARD -d 64.124.41.0/24 -j REJECT
iptables -A FORWARD -d 216.35.208.0/24 -j REJECT
iptables -A FORWARD -p tcp --dport 6346 -j REJECT
iptables -A FORWARD -d 209.61.186.0/24 -j REJECT
iptables -A FORWARD -d 64.49.201.0/24 -j REJECT
iptables -A FORWARD -d 209.25.178.0/24 -j REJECT
echo " [OK]
# Proxy
echo -n "Liberando acesso ao proxy"
iptables -A INPUT -i $INT_LAN -s $REDE_LAN -p tcp --dport $PORTA_PROXY -j ACCEPT
echo " [OK]"
# Proxy transparente
echo -n "Ativando proxy transparente"
iptables -t nat -A PREROUTING -s 192.168.0.0/16 -p tcp -d ! 200.201.0.0/16 --dport 80 -j REDIRECT --to-port 8080
echo " [OK]"
# Servidor de Correio
#echo -n "Liberando acesso ao servico de correio - SMTP/POP3"
#iptables -A INPUT -p tcp --dport 25 -j ACCEPT
#iptables -A INPUT -p tcp --dport 110 -j ACCEPT
#echo " [OK]"
# Servidor DHCP
echo -n "Liberando acesso ao DHCP - Rede Local"
iptables -A INPUT -i $INT_LAN -p udp --dport 67 -j ACCEPT
iptables -A INPUT -i $INT_LAN -p udp --dport 68 -j ACCEPT
echo " [OK]"
# Servidor WEB
echo -n "Liberando acesso ao servidor web - Rede Local"
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
echo " [OK]"
# Webmin
echo -n "Liberando acesso ao Webmin - Rede Local"
iptables -A INPUT -i $INT_LAN -s $REDE_LAN -p tcp --dport 10000 -j ACCEPT
echo " [OK]"
# Regas que se aplicam a redirecionamento de servico
# Servidor PPTP
echo -n "Redirecionando servico PPTP para o host $HOST_FW"
iptables -A FORWARD -p tcp --dport 1723 -j ACCEPT
iptables -A FORWARD -p 47 -j ACCEPT
iptables -t nat -A PREROUTING -i $INT_WAN -p tcp --dport 1723:1723 -j DNAT --to 192.168.1.1
iptables -t nat -A PREROUTING -i $INT_WAN -p 47 -j DNAT --to 192.168.1.1
echo " [OK]"
#Open VPN
#echo -n "Liberando trafego para OpenVpn"
#iptables -A INPUT -p udp --dport 5000 -j ACCEPT
#iptables -A INPUT -i tun+ -j ACCEPT
#iptables -A FORWARD -i tun+ -j ACCEPT
#echo " [OK]"
# Terminal Server
echo -n "Redirecionando Terminal service para o host $HOST_FW"
iptables -A FORWARD -p tcp --dport 3389 -j ACCEPT
iptables -t nat -A PREROUTING -i $INT_WAN -p tcp --dport 3389:3389 -j DNAT --to 192.168.1.1
echo " [OK]"
# RM
echo -n "Redirecionando RM"
iptables -t nat -A PREROUTING -p tcp -d 177.43.103.202 --dport 80 -j DNAT --to 192.168.1.254:80
echo " [OK]"
# Biblio
echo -n "Redirecionando Biblio"
iptables -t nat -A PREROUTING -p tcp -d 177.43.103.203 --dport 80 -j DNAT --to 192.168.1.1:80
echo " [OK]"
# Servico de Ftp
echo -n "Redirecionando Servico FTP para o host INFSRV001 -Infortec"
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#iptables -t nat -A PREROUTING -i $INT_WAN -p tcp --dport 21:21 -j DNAT --to 192.168.1.1
echo " [OK]"
# Servico de Ftp
echo -n "Redirecionando Servico FTP para o host INFSRV001 -Infortec"
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -t nat -A PREROUTING -i $INT_WAN -p tcp --dport 20:20 -j DNAT --to 192.168.1.1
echo " [OK]"
;;
*)
echo "Sintaxe: firewall (start|stop|restart|status)"
exit 1
esac
exit 0