nivaldopaulo19
(usa Debian)
Enviado em 19/05/2015 - 12:04h
Bom dia pessoal.
Venho solicitar ajuda do pessoal do vol pois sou iniciante, então estou montando um proxy squid + iptables e pra me ajudar pessoal contratou mais um link se tornando minha tarefa mais complicada. Já lí alguns tópicos peço até desculpas pela postagem por ser novato não consegui chegar a conclusão de como implantar no meu proxy o load balance mais squid peço ajuda se alguem puder por favor puder me dar uma ajuda pois sou iniciante mesmo no mundo pinguim to tendo muita dificuldade.
Segue o problema que tenho que resolver:
Não consigo fazer com que o link da eth1 pinga externamente ex: ping
www.google.com.br -I eth1 se parar o squid ai consigo pingar.
Não sei como fazer a troca dos links automaticamente caso tenha queda de um dos dois.
A finalidade desse load é somente se um cair o outro manter a internet, não preciso unir os dois.
Segue a dinâmica da rede.
Interfaces:
# Primeira placa de rede (eth0) Master Cabo
auto eth0
iface eth0 inet static
address 192.168.254.253
netmask 255.255.255.0
network 192.168.254.0
broadcast 192.168.255.255
gateway 192.168.254.254
# Segunda Placa de rede (eth1) Viaceu
auto eth1
iface eth1 inet static
address 10.10.10.253
netmask 255.255.255.0
network 10.10.10.0
broadcast 10.10.255.255
gateway 10.10.10.254
# Terceira placa de rede (eth2) Rede local
auto eth2
iface eth2 inet static
address 192.168.0.253
netmask 255.255.255.0
rt_tables
255 local
254 main
253 default
0 unspec
24 master
25 viaceu
#
# local
#
#1 inr.ruhep
Script balance
## Variaveis de Comandos
RULE="/sbin/ip rule"
ROUTE="/sbin/ip route"
## Rede Local
IF_PADRAO="eth2"
RD_PADRAO="192.168.0.0/255.255.255.0"
## viaceu
IF_viaceu="eth1"
IP_viaceu="192.168.2.2"
GW_viaceu="192.168.2.1"
RD_viaceu="192.168.2.0/255.255.255.0"
## master
IF_master="eth0"
IP_master="192.168.254.253"
GW_master="192.168.254.254"
RD_master="192.168.254.0/255.255.255.0"
case $1 in
add)
echo "Adicionando Regras e Tabelas..."
## Configuracoes para o master
$ROUTE $1 $RD_master dev $IF_master src $IP_master table master
$ROUTE $1 default via $GW_master table master
$RULE $1 from $IP_master table master
$ROUTE $1 127.0.0.0/8 dev lo table master
$ROUTE $1 $RD_PADRAO dev $IF_PADRAO table master
$RULE $1 fwmark 1 table master
#
## Configuracoes para o viaceu
$ROUTE $1 $RD_viaceu dev $IF_viaceu src $IP_viaceu table viaceu
$ROUTE $1 default via $GW_viaceu table viaceu
$RULE $1 from $IP_viaceu table viaceu
$ROUTE $1 127.0.0.0/8 dev lo table viaceu
$ROUTE $1 $RD_PADRAO dev $IF_PADRAO table viaceu
$RULE $1 fwmark 2 table viaceu
#
$ROUTE flush cache
echo "[OK]"
;;
del)
echo "Removendo Regras e Tabelas.."
## Limpando Tabelas
$ROUTE flush table master
$ROUTE flush table viaceu
## Limpando Regras
$RULE $1 from $IP_master table master
$RULE $1 from $IP_viaceu table viaceu
# Limpando Marcacoes
$RULE $1 fwmark 1 table master
$RULE $1 fwmark 2 table viaceu
echo "[OK]"
;;
*)
echo "Use add ou del"
;;
esac
Script Iptables
#Compartilha internet
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
# Proxy transparente
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j REDIRECT --to-port 3128
# Ativa roteamento no kernell
echo 1 > /proc/sys/net/ipv4/ip_forward
Script squid.conf
# acls bloqueio
acl rede src 192.168.0.0/24
acl site url_regex -i "/home/arquivos/bloqueados.txt"
# bloquenado extensoes de downloads
# acl extensoes urlpatch_regex -i "/home/arquivos/extensoes.txt"
# controle do cache
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistred ports
acl Safe_ports port 280 # http-mqmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
# acao das acls
acl manager proto cache_obeject
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow localhost
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
# libera bloqueia redes
http_access allow rede !site
http_access deny all
# erros proxy
error_directory /usr/share/squid3/errors/pt-br
# Proxy transparente
http_port 192.168.0.253:3128 transparent
hierarchy_stoplist cgi_bin ?
access_log /var/log/squid3/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
coredump_dir /var/spool/squid3
Desde já agradeço a todos que puder me ajudar.