[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Servidor Debian - Montar



On 17 mar, 11:40, Julio <cbju...@gmail.com> wrote:
> On 17 mar, 10:40, Professor Quesada <professorques...@gmail.com>
> wrote:
>
>
>
> > Bom dia caro
>
> > Servidor o que ??
> > Web??
> > De arquivos??
> > De email??
> > Voce cita Firewall
> > Ficou meio amplo isso.
> > Especifique melhor pois assim fica mais facil pras pessoas ajudarem.
>
> > Abraços
>
> > 2009/3/17 Julio <cbju...@gmail.com>
>
> > > Olá pessoal.
> > > Estou com uma tarefa difícil de montar um servidor um pouco complexo,
> > > e gostaria de saber se alguém está disposto a me ajudar, por 150,00.
> > > Não é muito, mas....Não é pra montar o servidor completo, mas apenas
> > > me ajudar em alguns scripts que criei como Firewall, Load Balance,
> > > Traffic Controll, e outras coisas mais simples. Acredito que pra
> > > montar completo um desses não sairia por menos de 1.500,00.
> > > Alguém disponível?
>
> > > --
> > > To UNSUBSCRIBE, email to debian-user-portuguese-REQU...@lists.debian.org
> > > with a subject of "unsubscribe". Trouble? Contact
> > > listmas...@lists.debian.org
>
> Bom dia Professor.
> O servidor já está montado com os seguintes serviços funcionando
> perfeitamente:
> Samba, Squid, DHCP (dhcp3-server), interfaces configuradas, Kernel
> enxuto compilado, e outras coisas mais simples prontas.
>
> Porém está com alguns serviços de internet sem funcionamento
> adequado.Tenho um balanceamento de carga com iproute2 rodando, com 2
> interfaces (ppp0 e ppp1) com ADSL que não está funcionando
> adquadamente (perda de conexão, etc). Um firewall montado com funções
> básicas, mas que é necessário implementação mais detalhada (liberar
> sites do Governot - Receitanet, cmt.caixa.gov.br, etc). Tenho um
> servidor Bind que deverá atender as requisições de DNS da rede interna
> (e externa - pra uma página hospedada), que falta dar uma enxugada. E
> um controle de banda (usando TC) que já está montado, mas falta alguns
> ajustes pra funcionar. Quem entende vai tirar isso de letra.
> Estou fazendo isso pois me deparei com situações meio complexas e sei
> que demorarei muito tempo pra aprender como resolver. Então propus pra
> lista, se tiver alguém disponível, posso mandar os scrips, e as
> especificações exatas que preciso.
> Abraços.
>
> --
> To UNSUBSCRIBE, email to debian-user-portuguese-REQU...@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Olá grupo...
Depois de receber vários e-mails falando pra eu sanar minhas dúvidas
aqui mesmo, no grupo, resolvi postar minhas dificuldades.
Será melhor pra esclarecer as dúvidas de outros também.
Então vamos por partes. Como disse, já tenho serviços configurados e
funcionando perfeitamente.
Porém, a maior dificuldade é um balanceamento de carga, usando
iproute2.
Sempre quando inicio um download, o mesmo para e não finaliza.
Gostaria de solucionar esse problema. Tenho 2 interfaces (ppp0 e
ppp1).
Aqui vai a parte do meu script com balanceamento de carga. Alguém pode
ajudar? Gostaria de, em primeiro lugar, resolver esse problema. E
depois, dar um enxugada também no script. Mas não sei o que fazer...



#Aqui marco alguns pacotes que quero em determinada interface:

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

echo -n "Set mark to LAN's............................."
#$IPTABLES -t mangle -A POSTROUTING -o $LAN_ETH0 -j MARK --set-mark 1
#$IPTABLES -t mangle -A POSTROUTING -o $LAN_ETH1 -j MARK --set-mark 1
#$IPTABLES -t mangle -A POSTROUTING -o $LAN_ETH2 -j MARK --set-mark 2

#MSN
$IPTABLES -t mangle -A POSTROUTING -p tcp --dport $P_MSN -j MARK --set-
mark 1
$IPTABLES -t mangle -A POSTROUTING -p tcp --dport $P_SSL -j MARK --set-
mark 1
$IPTABLES -t mangle -A PREROUTING -p tcp --dport $P_MSN -j MARK --set-
mark 1
$IPTABLES -t mangle -A PREROUTING -p tcp --dport $P_SSL -j MARK --set-
mark 1

echo "OK!"

echo -n "Set voip params..............................."
$IPTABLES -t mangle -A PREROUTING -i $IF_ETH0 -s $IP_VOIP0 -m tos --
tos Minimize-Delay -j MARK --set-mark 1
$IPTABLES -t mangle -A PREROUTING -i $IF_ETH1 -s $IP_VOIP1 -m tos --
tos Minimize-Delay -j MARK --set-mark 1
$IPTABLES -t mangle -A PREROUTING -i $IF_ETH1 -s $IP_VOIP2 -m tos --
tos Minimize-Delay -j MARK --set-mark 1

$IPTABLES -A INPUT -s $IP_VOIP0 -j ACCEPT
$IPTABLES -A FORWARD -s $IP_VOIP0 -j ACCEPT
$IPTABLES -A FORWARD -d $IP_VOIP0 -j ACCEPT
$IPTABLES -A INPUT -s $IP_VOIP1 -j ACCEPT
$IPTABLES -A FORWARD -s $IP_VOIP1 -j ACCEPT
$IPTABLES -A INPUT -s $IP_VOIP2 -j ACCEPT
echo "OK!"


echo -n "Set mark to squid............................."
$IPTABLES -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark 3
echo "OK!"

echo -n "Set mark to sites............................."
$IPTABLES -t mangle -A POSTROUTING -p tcp -d rapidshare.com -j MARK --
set-mark 1
$IPTABLES -t mangle -A POSTROUTING -p tcp -d cmt.caixa.gov.br -j MARK
--set-mark 1
$IPTABLES -t mangle -A POSTROUTING -p tcp -d megaupload.com -j MARK --
set-mark 1
echo "OK!"



echo "Executing routing script........................."
echo
sh /etc/system/routing.sh
echo
echo "OK!"






#Aqui executo outro script para o balanceamento propriamente dito.


#!/bin/bash
############Routing rules - Created by Julio - 09/17/2008

IF_PPP0=ppp0
IF_PPP1=ppp1
IF_ETH0=eth0
IF_ETH1=eth1
IF_ETH2=eth2
IF_ETH3=et3
IF_ETH4=eth4

T_PPP0=PPP0
T_PPP1=PPP1
T_ROUTE0=ROUTE0

GW_PPP0=201.24.160.254
GW_PPP1=201.24.160.254

IP_PPP1=189.74.148.247

LAN_ETH0=192.168.0.0/24
LAN_ETH1=192.168.1.0/24
LAN_ETH2=192.168.2.0/24

echo
echo ".....................Loading Load Balance"

echo -n "Reseting tables........................"
ip route flush table $T_PPP0
ip route flush table $T_PPP1
ip route flush table $T_ROUTE0
echo "OK!"

echo -n "Creating table PPP0...................."
ip route show table main | grep -v ^default | while read ROUTE ; do
ip route add table $T_PPP0 $ROUTE
done
ip route add via $GW_PPP0 table $T_PPP0
ip route add default via $GW_PPP0 table $T_PPP0
echo "OK!"

echo -n "Creating table PPP1...................."
ip route show table main | grep -v ^default | while read ROUTE ; do
ip route add table $T_PPP1 $ROUTE
done
ip route add $IP_PPP1 via $GW_PPP1 table $T_PPP1
ip route add default via $GW_PPP1 table $T_PPP1
echo "OK!"

echo -n "Creating table ROUTE0.................."
ip route show table main | grep -v ^default | while read ROUTE ; do
ip route add table $T_ROUTE0 $ROUTE
done
ip route add default table $T_ROUTE0 nexthop dev $IF_PPP0 via $GW_PPP0
weight 2 nexthop dev $IF_PPP1 via $GW_PPP1 weight 1
echo "OK!"


echo -n "Apply rules............................"

#fwmark 1 pertence aos VOIPs, e fwmark 2 ao squid
ip rule add fwmark 1 table $T_PPP0 prio 1
ip rule add fwmark 2 table $T_PPP1 prio 2
ip rule add fwmark 3 table $T_ROUTE0 prio 3

#ip rule add from $LAN_ETH0 table $T_PPP0 prio 2
#ip rule add from 127.0.0.1 table $T_PPP0 prio 2
#ip rule add from $LAN_ETH1 table $T_PPP1 prio 3
#ip rule add from $LAN_ETH2 table $T_PPP0 prio 4

echo "OK!"

echo -n "Flushig cache.........................."
ip route flush cache
echo "OK!"


Reply to: