Usar firewall e squid para dividir dois link de internet [RESOLVIDO]

1. Usar firewall e squid para dividir dois link de internet [RESOLVIDO]

Renan Casini
renancasini

(usa Outra)

Enviado em 18/04/2013 - 14:01h

Olá Boa tarde!

Minha duvida é a seguinte:



hoje tenho dois links de internet (GVT) e (NET) ligados em dois roteadores diferentes o quadro fica assim:

192.168.0.1 (Porta WAN) 192.168.1.1 (GATEWAY com NET ligado neste)e ele esta com o DHCP ligado.
192.168.25.1 (Porta WAN)192.168.1.2 (GATEWAY com GVT ligado neste)esta com o dhcp desligado.


com base nisso tenho 15 pc´s na rede... metade deles estão buscando o gateway 192.168.1.1 e a outra metade 192.168.1.2.

Ou seja dentro da minha rede todos os pc´s tem acesso um aos outros e ao servidor AD pela faixa de IP 192.168.1.x e alguns usam internet da NET outros usam da GVT...


Motivo disso: sistema rp online e nem uma nem a outra operadora disponibiliza velocidade necessária para atender todos os pc´s.. ( a solução foi colocar dois links e dividilos entre os departamentos)

A questão é a segunte:


Estou colocando um squid pra rodar nessa rede... ou seja vou substituir esses dois roteadores por um pc com duas placas de rede para entrada e duas para saida??? é isso ???

um outro porem preciso rodar o Sarg nesse linux tbm...

segue as config padrao que tenho usado:

INTERFACES:



# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

# The secondary network interface
allow-hotplug eth1
iface eth1 inet static
address 192.168.0.253
netmask 255.255.255.0





Firewall:




#!/bin/sh
modprobe iptable_nat
iptables -F
iptables -t nat -F
iptables -X
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j REDIRECT --to 3128
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


# Abre para uma faixa de endereçs da rede local
iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT

# Abre uma porta (inclusive para a Internet)
iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3389 -j ACCEPT

# Regra para bloquear o acesso ao MSN para a rede local
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 1863 -j REJECT

# Ignora pings
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

# Protege contra synflood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies

# Desabilita o suporte a source routed packets
# Esta recurso funciona como um NAT ao contráio, que em certas circunstancias pode permitir que alguem de fora envie pacotes para micros dentro da rede local.
echo "0" > /proc/sys/net/ipv4/conf/eth0/accept_source_route
echo "0" > /proc/sys/net/ipv4/conf/eth1/accept_source_route
# echo "0" > /proc/sys/net/ipv4/conf/ppp0/accept_source_route

# Proteço contra ICMP Broadcasting
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Bloqueia traceroute
iptables -A INPUT -p udp --dport 33435:33525 -j DROP

# Proteçes diversas contra portscanners, ping of death, ataques DoS, etc.
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
#iptables -A FORWARD -m unclean -j DROP
iptables -A INPUT -m state --state INVALID -j DROP
iptables -N VALID_CHECK
iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL ALL -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL NONE -j DROP


# Abre para a interface de loopback.
# Esta regra éessencial para o KDE e outros programas gráicos funcionarem adequadamente.
iptables -A INPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT


# Fecha as portas udp de 1 a 1024, abre para o localhost
iptables -A INPUT -p udp -s 127.0.0.1/255.0.0.0 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.0.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -p udp --dport 1:1024 -j DROP

# Redireciona uma faixa de portas para um micro da rede local
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8000:8000 -j DNAT --to-dest 192.168.0.252
iptables -A FORWARD -p tcp -i eth0 --dport 8000:8000 -d 192.168.0.252 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8200:8200 -j DNAT --to-dest 192.168.0.252
iptables -A FORWARD -p tcp -i eth0 --dport 8200:8200 -d 192.168.0.252 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3389:3389 -j DNAT --to-dest 192.168.0.254
iptables -A FORWARD -p tcp -i eth0 --dport 3389:3389 -d 192.168.0.254 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1723:1723 -j DNAT --to-dest 192.168.0.254
iptables -A FORWARD -p tcp -i ppp0 --dport 1723:1723 -d 192.168.0.254 -j ACCEPT


# Esta regra éo coraço do firewall do Kurumin,in,
# ela bloqueia qualquer conexã que nã tenha sido permitida acima, justamente por isso ela éa útima da cadeia.
iptables -A INPUT -p tcp --syn -j DROP

# /etc/skel-fix/firewall-msg


firewall_stop(){
iptables -F
iptables -X
iptables -F -t nat
iptables -X -t nat
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
}






SQUID:










# Configuracoes gerais
http_port 3128 transparent
visible_hostname LINUX
hierarchy_stoplist cgi-bin?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 350 MB
maximum_object_size_in_memory 100 KB
maximum_object_size 15360 KB
minimum_object_size 0 KB
ipcache_size 1024
ipcache_low 90
ipcache_high 95
cache_replacement_policy lru
memory_replacement_policy lru
logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
access_log /var/log/squid/access.log squid
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 3000 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_swap_log /var/spool/squid/swap.log
cache_mgr [email protected]
error_directory /usr/share/squid/errors/Portuguese
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

# Definicao das ACLs
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563 # snews
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 407 # msn
acl Safe_ports port 25 # smtp
acl Safe_ports port 110 # pop
acl purge method PURGE
acl CONNECT method CONNECT

# Downloads Bloqueados/Liberados e Palavras Bloqueadas
acl DownloadsLiberados url_regex -i "/etc/squid/downloads.allow"
acl DownloadsBloqueados url_regex -i "/etc/squid/downloads.deny"
acl PalavrasBloqueadas url_regex -i "/etc/squid/palavras.deny"

# Sites Bloqueados/Liberados
acl SitesLiberados url_regex -i "/etc/squid/sites.allow"
acl SitesBloqueados url_regex -i "/etc/squid/sites.deny"

# Grupos de Acesso
acl Diretoria src "/etc/squid/ip.diretoria"
acl Gerencia src "/etc/squid/ip.gerencia"
acl Funcionarios src "/etc/squid/ip.funcionarios"

# Ativando as ACLs Padrao
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny to_localhost

# Ativando as ACLs Personalizadas
http_access allow Diretoria
http_access allow SitesLiberados
http_access allow DownloadsLiberados
http_access deny DownloadsBloqueados
http_access allow Gerencia !SitesBloqueados
http_access deny PalavrasBloqueadas
http_access deny SitesBloqueados
http_access allow Funcionarios
http_access deny all








Resumindo:


Preciso que entre dois links no linux ou some a velocidade desses e distribua em um Gateway ou saia em dois gateway tbm... e que eu consiga relatorio pelo sarg tanto de um como do outro link....



Isso é possivel ???? alguem consegue descrever essa situação ?










  


2. Solução

Higor Frederico
higuin

(usa Debian)

Enviado em 18/04/2013 - 14:39h

Procure algo do tipo balanceamento de carga
isso vairesolver su problema.
Quanto ao sarg voce precisa dele pra ver os relatorios




3. Solução

Higor Frederico
higuin

(usa Debian)

Enviado em 18/04/2013 - 14:42h

da uma olhada nesse link

http://www.hardware.com.br/dicas/dual-wan-routers.html


4. Re: Usar firewall e squid para dividir dois link de internet [RESOLVIDO]

Rodrigo Namba Dake
shundake

(usa Arch Linux)

Enviado em 18/04/2013 - 14:58h

Boa tarde!
Como o nosso amigo disse, dê uma olhada em balanceamento. Encontrei isso aqui -> http://wiki.debian.org/Bonding espero que possa ajudar.



5. Re: Usar firewall e squid para dividir dois link de internet [RESOLVIDO]

Renan Casini
renancasini

(usa Outra)

Enviado em 18/04/2013 - 15:45h

Exato preciso do squid para bloquear os sites e do sarg para supervisionar os sites. porem o relatorio precisa pegar os dois links..


6. contato

Higor Frederico
higuin

(usa Debian)

Enviado em 18/04/2013 - 17:15h

qualquer coisa add skype:
higor05


7. Outra interface

André Romero Alves de Souza
arasouza

(usa Debian)

Enviado em 20/04/2013 - 11:36h

Olha só conforme dito load balance pois até se cair um dos link's não vai derrubar a net. o outro assume para as duas, melhor saida, outra saida seria uma eth1:2 com o link externo, fazendo uma vlan.. nao sei seria mais complicado.. fico com o load balance..