2 links de internet separados em um único server

1. 2 links de internet separados em um único server

Miguel Miranda Gomes
Dolode

(usa Ubuntu)

Enviado em 05/05/2014 - 11:24h

Olá amigos primeiramente gostaria de dizer que sou grato a comunidade Viva o Linux por esse conteúdo rico disponível a todos!

Não sou experiente em linux iptables e afins por isso venho humildemente pedir a ajuda de vocês para o seguinte:
Tenho 2 links de internet:

Oi-> 10Mb
GVT-> 35Mb

Só que eu não gostaria de fazer o balanceamento dos 2 links pela diferença de qualidade e devido a um servidor http cujo redirecionamento do ip da GVT é feito pra ele. Então as interfaces ficariam assim:

eth0 -> Oi
eth1 -> GVT
eth2 -> 192.168.1.2 (saída oi)
eth3 -> 192.168.1.101 (saída gvt)

Esse esquema funciona atualmente com 2 PC's distintos na rede, daí eu queria fazer esse procedimento com um PC novo com 4 placas de rede.

Segue abaixo o script que eu uso:

#!/bin/bash

ifconfig eth0 192.168.1.101 netmask 255.255.255.0 up


# Carrega os módulos

modprobe iptable_nat

# Compartilha a conexão
modprobe iptable_nat

# Esse comando não especifica a interface de rede para compartilhar a conexão

iptables -v -t nat -A POSTROUTING -j MASQUERADE -s 192.168.0.0/16
echo 1 > /proc/sys/net/ipv4/ip_forward

# Abre algumas portas
iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 25 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1021 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 8080 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 2427 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 2257 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 2300 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 2400 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 2600 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 2900 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 2950 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3391 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3392 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3393 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3389 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 8081 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 5900 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 5484 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 5932 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3128 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.14 --dport 80 -j ACCEPT
iptables -v -t nat -I PREROUTING -s 192.168.1.14 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.24 --dport 80 -j ACCEPT
iptables -v -t nat -I PREROUTING -s 192.168.1.24 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.4 --dport 80 -j ACCEPT
iptables -v -t nat -I PREROUTING -s 192.168.1.4 -p tcp --dport 80 -j ACCEPT

# Fecha o resto
iptables -A INPUT -p tcp --syn -j ACCEPT
# Abre para a rede local
iptables -A INPUT -p tcp --syn -s 192.168.1.0/255.255.255.0 -j ACCEPT
#Redirecionamento para proxy sem especificar a interface:
iptables -t nat -v -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 3128 -s 192.168.0.0/16

# Outros redirecionamentos
iptables -v -t nat -A PREROUTING -d xxx.dyndns.org -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.3:8080
iptables -v -t nat -A PREROUTING -d xxx.dyndns.org -p tcp --dport 7357 -j DNAT --to-destination 192.168.1.90:8080
iptables -v -t nat -A PREROUTING -d xxx.dyndns.org -p tcp --dport 7367 -j DNAT --to-destination 192.168.1.91:8080
iptables -v -t nat -A PREROUTING -d xxx.dyndns.org -p tcp --dport 7377 -j DNAT --to-destination 192.168.1.92:8080
iptables -v -t nat -A PREROUTING -d xxx.dyndns.org -p tcp --dport 8181 -j DNAT --to-destination 192.168.1.15:80
iptables -v -t nat -A PREROUTING -d xxx.dyndns.org -p tcp --dport 8282 -j DNAT --to-destination 192.168.1.1:8282
iptables -v -t nat -A PREROUTING -d xxx.dyndns.org -p tcp --dport 8383 -j DNAT --to-destination 192.168.1.105:82
iptables -v -t nat -A PREROUTING -d xxx.dyndns.org -p tcp --dport 3391 -j DNAT --to-destination 192.168.1.1:3389
iptables -v -t nat -A PREROUTING -d xxx.dyndns.org -p tcp --dport 8484 -j DNAT --to-destination 192.168.1.1:8484
iptables -v -t nat -A PREROUTING -d xxx.dyndns.org -p tcp --dport 5991 -j DNAT --to-destination 192.168.1.1:5900
iptables -v -t nat -A PREROUTING -d xxx.dyndns.org -p tcp --dport 1111 -j DNAT --to-destination 192.168.1.42:3389
iptables -v -t nat -A PREROUTING -d xxx.dyndns.org -p tcp --dport 3393 -j DNAT --to-destination 192.168.1.3:3389
iptables -v -t nat -A PREROUTING -d xxx.dyndns.org -p tcp --dport 5993 -j DNAT --to-destination 192.168.1.3:5900
iptables -v -t nat -A PREROUTING -d xxx.dyndns.org -p tcp --dport 5996 -j DNAT --to-destination 192.168.1.6:5900
iptables -v -t nat -A PREROUTING -d xxx.dyndns.org -p tcp --dport 5915 -j DNAT --to-destination 192.168.1.15:5900
iptables -v -t nat -A PREROUTING -d xxx.dyndns.org -p tcp --dport 3394 -j DNAT --to-destination 192.168.1.20:3389


Gostaria de saber se isso é possível ou se tem uma solução melhor para esse cenário.

Desde já agradeço a todos!




  


2. Re: 2 links de internet separados em um único server

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 05/05/2014 - 13:48h

Boa tarde.

Cara seguinte, não vou questionar nada agora referente ao teu script, se tá bom ou ruim ou o que pode melhorar. Vamos focar na questão dos links de internet, vc disse que não quer balanceamento OK, a possibilidade é de fazer um failover, quer dizer vc pode deixar o link da GVT como link primário e caso o link caia ele assume o segundo link OI.


Seria uma solução viável para o teu cenário...





3. Re: 2 links de internet separados em um único server

Miguel Miranda Gomes
Dolode

(usa Ubuntu)

Enviado em 07/05/2014 - 10:18h

souzacarlos Sua solução é ótima contudo, aqui na escola onde trabalho eu uso a internet da Oi (mais lenta) para o wi-fi e outros onde os professores usam youtube e uso o da GVT mais para a área administrativa, isso é meio que um controle de banda manual que eu faço aqui. Se for muito complicado, posso até tentar fazer uma máquina virtual, pois meu objetivo aqui mesmo é reduzir o número de computadores ligados.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts