Pacotes necessários

Agora que já falei o que é internet balanceada iremos começar com a instalação. Para isso iniciaremos recompilando o Kernel e instalando o path de correção das tabelas de roteamento.

Vou falar o motivo de instalar o path de correção e por que ele é tão essencial assim. No nosso proxy, toda a vez que vamos fazer um acesso a uma página ou fazer um download, o Kernel juntamente com as tabelas de roteamento redirecionam o trafego no proxy usando informações importantes como, o ip de origem, ip de destino, qual a internet de saída. É aqui que o path entra, caso o script do balanceamento esteja rodando, pela tabela de roteamento atual no Linux a comunicação é perdida, e simplesmente downloads grandes, sites ou programas que necessitam estar sempre enviando arquivos para a internet são desconectados, causando queda e a necessidade de recomeçar o envio novamente. Não seria bom perder aquele download que já estava em 90% 😀

Para usarmos o patch iremos instalar os seguintes pacotes, recomendo entrar como root, lembrando que se você precisar balancear duas conexões de internet com certeza já é um usuário experiente no sistema. Também não vou entrar em muitos detalhes aqui na recompilação do Kernel, no final do tutorial irei postar os links para os mais interessados.

# apt-get update
# apt-get install kernel-package gcc libncurses5-dev
# apt-get install linux-source-2.6.xx

… substituindo “xx” pela versão atual do seu Kernel. Se você não souber qual é a versão atual, você pode consultar com o comando, ‘uname –r’ e o comando ‘apt-cache search linux-source’

# apt-get install linux-headers-$(uname -r)

Feito isto, vá até a pasta onde está o ‘source’:

# cd /usr/src

E descompacte-o com o comando a seguir:

# tar -vxjpf linux-source-2.6.xx.tar.bz2 -C /usr/src

Aqui vamos baixar e começar a instalar o path de correção das tabelas de roteamento.

Entre no site: http://www.ssi.bg/~ja/

Obs.: O patch foi escrito por Julian Anastasov, a quem devo todos os agradecimentos pelas correções, sem elas ficaria inviável o balanceamento.
  • Aqui dentro você encontra o link com o patch para atualização do Kernel.
  • Dentro do site, procure por: Linux kernel patches e logo abaixo você encontra Older routes-2.6.* versions
  • E baixe o patch correspondente ao seu Kernel

Exemplo:

Lembre-se de está na pasta /usr/src/

Rodei o comando “# uname –r” e descobri que meu Kernel é o “2.6.32-5-686”

Então eu vou baixar o patch:

# wget -c http://www.ssi.bg/~ja/routes-2.6.32-16.diff

Acesse o diretório linux-source-2.6.xx que foi criado. Todos os comandos a seguir são executados dentro dele.

# cd /usr/src/linux-source-2.6 [pressione TAB]
# patch -p1 < ../ routes-2.6 [pressione TAB]

Tome muito cuidado aqui, verifique se deu algum erro, caso dê, repita todos os passos acima, veja abaixo o que deve aparecer:

patching file include/linux/rtnetlink.h
patching file include/net/flow.h
patching file include/net/ip_fib.h
patching file include/net/netfilter/nf_nat.h
patching file include/net/route.h
patching file net/bridge/br_netfilter.c
patching file net/ipv4/fib_frontend.c
Hunk #5 succeeded at 274 (offset 2 lines).
Hunk #6 succeeded at 925 (offset 2 lines).
Hunk #7 succeeded at 961 (offset 2 lines).
patching file net/ipv4/fib_hash.c
patching file net/ipv4/fib_lookup.h
patching file net/ipv4/fib_rules.c
patching file net/ipv4/fib_semantics.c
patching file net/ipv4/fib_trie.c
patching file net/ipv4/netfilter/ipt_MASQUERADE.c
patching file net/ipv4/netfilter/nf_nat_core.c
Hunk #1 succeeded at 710 (offset -1 lines).
patching file net/ipv4/netfilter/nf_nat_standalone.c
patching file net/ipv4/route.c
Hunk #1 succeeded at 696 (offset 1 line).
Hunk #2 succeeded at 1427 (offset 1 line).
Hunk #3 succeeded at 1876 (offset 1 line).
Hunk #4 succeeded at 1887 (offset 1 line).
Hunk #5 succeeded at 1952 (offset 1 line).
Hunk #6 succeeded at 1986 (offset 1 line).
Hunk #7 succeeded at 2020 (offset 1 line).
Hunk #8 succeeded at 2028 (offset 1 line).
Hunk #9 succeeded at 2049 (offset 1 line).
Hunk #10 succeeded at 2086 (offset 1 line).
Hunk #11 succeeded at 2134 (offset 1 line).
Hunk #12 succeeded at 2149 (offset 1 line).
Hunk #13 succeeded at 2175 (offset 1 line).
Hunk #14 succeeded at 2185 (offset 1 line).
Hunk #15 succeeded at 2228 (offset 1 line).
Hunk #16 succeeded at 2279 (offset 1 line).
Hunk #17 succeeded at 2302 (offset 1 line).
Hunk #18 succeeded at 2351 (offset 1 line).
Hunk #19 succeeded at 2435 (offset 1 line).
Hunk #20 succeeded at 2517 (offset 1 line).
Hunk #21 succeeded at 2629 (offset 1 line).
Hunk #22 succeeded at 2637 (offset 1 line).
Hunk #23 succeeded at 2677 (offset 1 line).
Hunk #24 succeeded at 2685 (offset 1 line).
Hunk #25 succeeded at 2731 (offset 1 line).
Hunk #26 succeeded at 3513 (offset 6 lines).

Copiando as configurações do seu Kernel atual para o novo Kernel que está prestes a compilar, faça o seguinte:

# cp /boot/config-2 [pressione TAB] .config
# make oldconfig
# make-kpkg --append-to-version "-nome-personalizado" --initrd kernel_image

No meu caso eu troquei o “-nome-personalizado” por “-balanc”.  Isso demora cerca de 25 minutos, dependendo da velocidade do seu computador.

Obs: caso dê o erro abaixo (isso aconteceu sempre comigo no Debian Lenny e Squezee):
lguest.c:37:18: error: zlib.h: Arquivo ou diretório não encontrado

instale o:

 # apt-get install zlib1g-dev

faça novamente:

# make-kpkg --append-to-version "-nome-personalizado" --initrd kernel_image

Não se preocupe, ele não irá recomeçar do zero, apenas irá continuar da onde parou.

Ao terminar, saia do diretório atual:

# cd ..

E instale seu Kernel:

# dpkg -i linux-image-2 [pressione TAB]

 

Debian Lenny:

Agora iremos reconfigurar o grub para que ele possa iniciar com o novo Kernel.

# nano /boot/grub/menu.lst

Recorte e cole toda a referência do seu novo Kernel para acima das versões anteriores e salve.

Debian Squezee:

No Squezee é diferente a modificação no grub, já que ele possui o grub2.

# nano /etc/default/grub

Modifique a linha GRUB_DEFAULT colocando o número em que seu Kernel modificado aparece na lista.

Exemplo:

GRUB_DEFAULT=2

Reinicie o computador e veja se o Kernel foi instalado, rode o comando “# uname –r” e olhe o novo nome do Kernel.

Veja acima que o Kernel recompilado aparece em meu sistema: 2.6.32-balanc

Se tudo ocorreu bem, vamos passar para a parte de criar as regras.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X