dois links e mais de 50 máquinas / dividir faixa de ip por cada link

1. dois links e mais de 50 máquinas / dividir faixa de ip por cada link

Vinícius Pedra
viniciuspedra

(usa Debian)

Enviado em 04/02/2011 - 16:08h

prezados boa tarde!
tenho a seguinte situação:
- dois links da brt de 4mb cada.
- servidor linux debian 5
- +/- 50 maquinas utilizando apenas um único link
- ip da rede interna na faixa do 192.168.0.1 ao 192.168.0.50

o que eu gostaria de fazer:

fazer com que as máquinas dos ips 192.168.0.1 ao 192.168.0.25 utilizassem o link A
e o restante das máquinas dos ips 192.168.0.26 ao 192.168.0.50 utilizassem o link B

Quando um link caisse, o outro assumiria.
Estou adoidado procurando artigos sobre isso mas não acho.

Alguém tem uma luz?

Abs



  


2. Re: dois links e mais de 50 máquinas / dividir faixa de ip por cada link

Fabio Soares Schmidt
fs.schmidt

(usa CentOS)

Enviado em 04/02/2011 - 23:21h

Olá amigo, já tive um ambiente parecido com esse, a melhor solução foi separar por serviços. Por exemplo, navegação passava por um link e smtp/pop por outro link...

Veja esse script que utilizei (obs.: Criado em um tutorial que encontrei aqui no VOL):
Está como te falei, 25 (SMTP) e 110 (POP) e 80b UDP (DOWNLOAD) saem pelo LINK2 e o restante pelo LINK1 mesmo...só não tem a redundancia que voce precisa.

#!/bin/sh

# Interface da Intranet
IF_LAN='eth0'

# Interfaces ADSL
IF_ADSL1='eth1'
IF_ADSL2='eth2'

# Gateways dos ADSL (IPs dos roteadores)
GW_ADSL1=192.168.10.254
GW_ADSL2=192.168.20.254

# Mascarar saídas para os dois ADSL
------------------------------------------------------------
iptables -t nat -A POSTROUTING -o $IF_ADSL1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o $IF_ADSL2 -j MASQUERADE

# Marca com "2" os pacotes que saem pelas portas 25 (SMTP) e 110 (POP) e 80b UDP (DOWNLOAD)
------------------------------------------------------------
iptables -t mangle -A PREROUTING -i $IF_LAN -p tcp --dport 25 -j MARK --set-mark 2
iptables -t mangle -A PREROUTING -i $IF_LAN -p udp --dport 80 -j MARK --set-mark 2
iptables -t mangle -A PREROUTING -i $IF_LAN -p tcp --dport 110 -j MARK --set-mark 2
iptables -t mangle -A OUTPUT -p tcp --dport 25 -j MARK --set-mark 2
iptables -t mangle -A OUTPUT -p udp --dport 80 -j MARK --set-mark 2
iptables -t mangle -A OUTPUT -p tcp --dport 110 -j MARK --set-mark 2

# Joga pacotes marcados com 2 para o ADSL2
------------------------------------------------------------
ip rule add fwmark 2 table 20 prio 20
ip route add default via $GW_ADSL2 dev $IF_ADSL2 table 20

# Atualiza tabela de roteamento
# ------------------------------------------------------------
ip route flush cache


3. Re: dois links e mais de 50 máquinas / dividir faixa de ip por cada link

Vinícius Pedra
viniciuspedra

(usa Debian)

Enviado em 05/02/2011 - 18:44h

agradeço a sua ajuda e achei interessante o seu script porem como 90% dos dados são http aqui não terei como dividir por protocolo...
p2p são bloqueados e smtp e pop existe apenas em minha máquina...


4. Re: dois links e mais de 50 máquinas / dividir faixa de ip por cada link

Thales Eduardo
thaleseduardo

(usa Debian)

Enviado em 15/02/2011 - 15:15h

Vinicius,

Tenta assim e ver se dar certo.

# Clientes para o link1
iptables -t mangle -A PREROUTING -s 192.168.0.2 -i $LAN -j MARK --set-mark 1
iptables -t mangle -A PREROUTING -s 192.168.0.3 -i $LAN -j MARK --set-mark 1

# Clientes para o link2
iptables -t mangle -A PREROUTING -s 192.168.0.4 -i $LAN -j MARK --set-mark 2
iptables -t mangle -A PREROUTING -s 192.168.0.5 -i $LAN -j MARK --set-mark 2




5. Re: dois links e mais de 50 máquinas / dividir faixa de ip por cada link

Rafael Umbelino
tlaloc

(usa Gentoo)

Enviado em 15/02/2011 - 15:18h

Pesquise por load balancing. =)

O que você precisa é balanceamento de cargas. Só isso.
Aí vão estar ambos os links sempre a 50%, a menos que um dos links caia.
Melhor do que separar por protocolo ou por faixa de IP.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts