Configurando squid-iptables-iproute [RESOLVIDO]

13. Configurando squid-iptables-iproute

José Sergio Sousa de Oliveira
sergio_sousa

(usa Ubuntu)

Enviado em 13/02/2014 - 12:26h

Tenho as tabelas criadas no rt_tables

255 local
254 main
253 default
0 unspec
200 ppp0
20 VELOX
30 DEDICADO

e o roteamento foi o seguinte

#!/bin/bash

#variaveis/constantes

#OI VELOX
VELOX_IPA="10.10.10.1"
VELOX_NET="10.10.10.0/255.255.255.0"
VELOX_GAT="10.10.10.254"
VELOX_NIC="eth0"

#OI DEDICADO
DEDICADO_IPA="10.16.7.200"
DEDICADO_NET="10.16.7.0/255.255.255.0"
DEDICADO_GAT="10.16.7.254"
DEDICADO_NIC="eth1"

#LIMPANDO TABELAS
ip route flush table VELOX
ip route flush table DEDICADO
#ip route flush table BALANCEAMENTO

#LIMPANDO REGRAS
ip rule del from 10.16.7.0 table DEDICADO
ip rule del from 10.10.10.0 table VELOX
#ip rule del fwmark 0x2 table BALANCEAMENTO
ip rule del fwmark 0x1 table DEDICADO
ip route del default

#CONFIGURANDO TABELA VELOX
ip route add $VELOX_NET dev $VELOX_NIC src $VELOX_IPA table VELOX
ip route add default via $VELOX_GAT table VELOX

#CONFIGURANDO TABELA DEDICADO
ip route add $DEDICADO_NET dev $DEDICADO_NIC src $DEDICADO_IPA table DEDICADO
ip route add default via $DEDICADO_GAT table DEDICADO

#REGRAS DE ROTEAMENTO
ip rule add from $VELOX_IPA table VELOX
ip rule add from $DEDICADO_IPA table DEDICADO
#ip rule add fwmark 2 table BALANCEAMENTO
ip rule add fwmark 1 table DEDICADO

#BALANCEAMENTO
#ip route add default scope global table BALANCEAMENTO nexthop via 10.10.10.254 dev eth0 weight 2 nexthop via 10.16.7.254 dev eth1 weight 1

#CONFIGURACAO ROTA PADRAO
#ip route add default via 10.16.7.254
ip route add default via 10.10.10.254

#LIMPANDO CACHE DE TABELAS
ip route flush cache


  


14. Configurando squid-iptables-iproute

José Sergio Sousa de Oliveira
sergio_sousa

(usa Ubuntu)

Enviado em 13/02/2014 - 12:30h

Na verdade nesse arquivo de roteamento pode ser descartado o balanceamento de carga pois não vou utilizar por que um dos links não tem internet só acessa o sistema.


15. Configurando squid-iptables-iproute

José Sergio Sousa de Oliveira
sergio_sousa

(usa Ubuntu)

Enviado em 13/02/2014 - 12:33h

Olha só, de uma estação de trabalho na minha rede eu pingo no gateway do velox passa blz, pingo no gateway do dedicado passa blz, mais quando pingo no ip para acessar o sistema ai não rola.


16. Re: Configurando squid-iptables-iproute [RESOLVIDO]

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 14/02/2014 - 09:25h

veja bem, Exemplo!






Se você quer que uma estação saia pela internet usando o link1 e a mesma estação use o programa no link2, você precisa criar uma tabela de rotas com os 2 caminhos, e com o ip rule forçar a saída da estação em questão.


# ip route show table ambos
200.150.10.0/24 dev eth1 proto kernel scope link src 200.150.10.99
10.2.0.0/24 dev eth2 proto kernel scope link src 10.2.0.254
10.1.0.0/24 dev eth0 proto kernel scope link src 10.1.0.254
192.168.0.0/22 dev eth0 proto kernel scope link src 192.168.0.254
default
nexthop via 200.150.10.1 dev eth1 weight 6
nexthop via 10.2.0.253 dev eth2 weight 4







17. Configurando squid-iptables-iproute

José Sergio Sousa de Oliveira
sergio_sousa

(usa Ubuntu)

Enviado em 14/02/2014 - 11:59h

Blz, mais como faço isso? Lembrando que sou iniciante nesse assunto.


18. Re: Configurando squid-iptables-iproute [RESOLVIDO]

Josue de Jesus Santos
JJSantos

(usa Gentoo)

Enviado em 16/02/2014 - 01:50h

O tutorial do Guto funcionou, aqui em teste.


19. Re: Configurando squid-iptables-iproute [RESOLVIDO]

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 19/02/2014 - 13:09h



Veja no link abaixo um exemplo do firewall básico para os 2 links, sugiro que você crie uma cenário simples para você pode entender como funcionar o ip rule e o ip route, ainda acho que você deviria padronizar eth0=Lan, eth1=Link1, eth2=Link2, fica mais fácil de ler os scripts principalmente quando eles estiverem maiores.

http://www.vivaolinux.com.br/topico/Cluster-1/Compartilhar-2-lins-de-Internet-com-debian-squeeze

Estou sempre no Skype, pela manhã, se precisar é só chamar.




Veja você tem 3 tabelas

### Criando tabela link1 ###
ip route add table link1 200.150.10.0/24 dev eth1 proto kernel scope link src 200.150.10.99
ip route add table link1 10.1.0.0/24 dev eth0 proto kernel scope link src 10.1.0.254
ip route add table link1 192.168.0.0/22 dev eth0 proto kernel scope link src 192.168.0.254

### Criando tabela link2 ###
ip route add table link2 10.2.0.0/24 dev eth2 proto kernel scope link src 10.2.0.254
ip route add table link2 10.1.0.0/24 dev eth0 proto kernel scope link src 10.1.0.254
ip route add table link2 192.168.0.0/22 dev eth0 proto kernel scope link src 192.168.0.254

### Criando tabela link1+link2=ambos ###
ip route add table ambos 200.150.10.0/24 dev eth1 proto kernel scope link src 200.150.10.99
ip route add table ambos 10.2.0.0/24 dev eth2 proto kernel scope link src 10.2.0.254
ip route add table ambos 10.1.0.0/24 dev eth0 proto kernel scope link src 10.1.0.254
ip route add table ambos 192.168.0.0/22 dev eth0 proto kernel scope link src 192.168.0.254

Porém a tabela ambos tem o caminho dos 2 links

Imaginando que o ip estação de teste seja 192.168.0.1

#ip rule add from 192.168.0.1 lookup ambos

Para isto funcionar seu firewall precisa contemplar regras tanto para o link1 como para o link2, como falei no post anterior



20. Re: Configurando squid-iptables-iproute [RESOLVIDO]

André Santos
andfeh

(usa Debian)

Enviado em 20/02/2014 - 21:08h

Boa noite, amigo ta uma salada geral essas respostas ... Você tem que pensar que o primeiro passo é colocar o dois links pra funcionar, isso olhando da internet para o seu servidor de internet, depois você tem que pensar que o squid não funciona com balanceamento, pelo menos não de modo dinâmico, eu por exemplo não gosto de usar squid no mesmo servidor onde tem o balanceamento, isso porque se você usar o iptables para dividir o trânsito vindo de sua rede interna, você vai ter que fazer isso na tabela mangle -> prerouting, só que o redirecionamento via DNAT ou REDIRECT para o squid acontece depois de ter marcado os pacotes, ai quando chegar no squid, o squid vai usar a rota default para sair, e o squid não obedece as marcações de pacotes feitas pelo netfilter. Então se quiser usar squid, adeus balanço na porta TCP/80, claro, se isso for feito tudo no mesmo computador. Adiante, você precisa criar as tabelas e algumas regras de ip para funcionar, fica mais ou menos como citado abaixo. Vou pensar que vocẽ usa os links de modo roteador para o seu servidor, se usar pppoe muda tudo. Veja que precisamos criar 3 tabelas de roteamento, uma para colocar todas as redes conhecidas pelo nosso servidor e mais duas, umas para cada link, nas tabelas do links colocamos somente a rota default de cada link, só isso nada mais. Desse modo nosso servidor fica acessivel através de qualquer uma dos dois links! Faça isso e diga como foi e se entendeu isso, caso tenha interesse continuamos as regras, mas com essas ja vai ter acesso ao seu server em ambos os links. Lembre de colocar a rota default nas configurações de uma das interface, claro, a rota default correspondente a interface, mas somente em uma delas.

P.S.: Escrevi agora isso, pode conter erros de programação... mas a lógica é essa.

### regras de ip ###

# Tabela local
LOCAL_TB=interna
NET=192.168.0.0/24
DEVICE=eth0
while ip rule del pref 5 &> /dev/null; do echo &> /dev/null ; done
ip rule add pref 5 table $LOCAL_TB
ip route add $NET dev $DEVICE table $LOCAL_TB

# Tabela link1
LINK1_TB=link1
IP1=200.200.200.2
NET1=200.200.200.0/30
GW1=200.200.200.1
DEVICE=eth1
ip route flush table $LINK1_TB
ip route add $NET1 dev $DEVICE table $LOCAL_TB
while ip rule del pref 15 &> /dev/null; do echo &> /dev/null ; done
ip rule add pref 15 from $IP1 table $LINK1_TB
ip route add default via $GW1 table $LINK1_TB

# Tabela link2
LINK2_TB=link2
IP2=100.100.100.2
NET2=100.100.100.0/30
GW2=100.100.100.1
DEVICE=eth2
ip route flush table $LINK2_TB
ip route add $NET2 dev $DEVICE table $LOCAL_TB
while ip rule del pref 20 &> /dev/null; do echo &> /dev/null ; done
ip rule add pref 20 from $IP2 table $LINK2_TB
ip route add default via $GW2 table $LINK2_TB

ip route flush cache



21. squid-iptables-iproute

José Sergio Sousa de Oliveira
sergio_sousa

(usa Ubuntu)

Enviado em 21/02/2014 - 13:06h

Obrigado a todos pelas respostas, mais ontem consegui resolver o problema está tudo resolvido. Mas foi basicamente o que o andfeh falou, não precisa fazer o balanceamento pois não tenho internet nos 2 links só apenas em um, roteamento básico resolveu.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts