Direcionar host para gateway especifico [RESOLVIDO]

25. Re: Direcionar host para gateway especifico [RESOLVIDO]

Douglas Menger
DouglasMenger

(usa XUbuntu)

Enviado em 06/12/2013 - 13:18h

Buckminster

Estou usando seu script ele resolveu a situação da saída referente o ip 189.100.0.100 no gateway tpa 10.0.0.1 fiz ate um teste retirando o cabo da GVT para confirmar se a saída estava correta e tudo funcionou. Porem fiz um teste usando uma estação com o ip 189.100.0.102 inicialmente funcionou também porem se retiro o cabo da TPA a conexão não responde mais, ela esta saindo no gateway errado, o correto e o gateway da gvt.

Dei uma revisada nas configurações e notei que o servidor linux que após aplicar o script o gateway padrão ficou 10.0.0.1

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth2
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
189.100.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

Imagino que seja por isso que funcionou para o ip 0.100 e não funcionou para o ip 0.102

Pelo que entendi no seu script a ideia era que ficasse o gateway padrão 192.168.0.200 correto?


  


26. Re: Direcionar host para gateway especifico [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 06/12/2013 - 13:26h

Sim, essa linha

# Rota principal
ip route add default via 192.168.0.200

Veja o meu comentário 24, acrescentei algumas coisas nele.


27. Re: Direcionar host para gateway especifico [RESOLVIDO]

Douglas Menger
DouglasMenger

(usa XUbuntu)

Enviado em 06/12/2013 - 13:46h

Esse servidor linux serve apenas como firewall não tenho DHCP nele.

Fiz a configuração nas interfaces tirando os dns-nameservers e adicionei os gateways de cada operadora.

Quando você diz:
Caso você não queira balanceamento pode comentar a linha acima nas regras.

Quais seriam as regras? Eu não entendi.

Mesmo fazendo as alterações não deu certo inclusive reiniciei o servidor e apliquei o script novamente, percebi que fiquei com 2 gateways padrão.

root@fw:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth2
0.0.0.0 192.168.0.200 0.0.0.0 UG 100 0 0 eth1
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
189.100.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1


Eu vou começar tudo do zero ler todos os artigos novamente, porque eu não acredito que seja tão difícil assim fazer funcionar, ja estou a 7 dias em cima disso e não consigo resultado.

Mas fico muito agradecido por você ter me ajudado.

Sucesso!


28. Funcionando!

Douglas Menger
DouglasMenger

(usa XUbuntu)

Enviado em 06/12/2013 - 18:39h

Buckminster,

Cara consegui fazer funcionar dei uma revisada troquei a sequencia das regras e deu certo, ainda não entendi o porque mais deu certo hehe, agora só preciso estudar pra entender o que eu estava fazendo errado, mas a configuração final ficou assim:

#-------------------------------------------------------------------------
ip route add 192.168.0.0/24 dev eth1 src 192.168.0.30 table gvt
ip route add default via 192.168.0.200 table gvt

ip route add 10.0.0.0/24 dev eth2 src 10.0.0.100 table tpa
ip route add default via 10.0.0.1 table tpa

ip rule add from 192.168.0.30 table gvt
ip rule add from 10.0.0.100 table tpa

ip route add default scope global nexthop via 192.168.0.200 dev eth1 weight 1 nexthop via 10.0.0.1 dev eth2 weight 1

ip rule add fwmark 1 table gvt
ip rule add fwmark 2 table tpa
ip route flush cache

iptables -F
iptables -t nat -F
iptables -t mangle -F

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE


iptables -t nat -t mangle -A PREROUTING -s 189.100.0.100 -j MARK --set-mark 1
iptables -t nat -t mangle -A PREROUTING -s 189.100.0.102 -j MARK --set-mark 2

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -j LOG --log-prefix "iptables : "
iptables -A OUTPUT -j LOG --log-prefix "iptables : "
iptables -A FORWARD -j LOG --log-prefix "iptables : "
#-----------------------------------------------------------------------------

Muito obrigado pela ajuda!


29. Re: Direcionar host para gateway especifico [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 06/12/2013 - 19:26h

De nada.

É que antes nessa regra abaixo você tinha nela o IP 10.0.0.1:
ip rule add from 10.0.0.100 table tpa

E você descomentou essa regra que eu tinha esquecido comentada:
ip rule add fwmark 1 table gvt

Isso fez marcar os pacotes para as duas tables. Ficou melhor organizado.

Agora dê uma monitorada durante uns dois dias. Se nesse período ficar tudo ok, não precisa mais se preocupar.

E no Iptables a ordem em que são colocadas as regras importa muito.
E eu tinha cometido um erro básico antes. As rotas devem ser definidas antes de qualquer coisa no script.
E a marcação de pacotes deve vir depois do mascaramento/compartilhamento.
E você acertou a ordem.

E como ficou teu arquivo interfaces?


30. Re: Direcionar host para gateway especifico [RESOLVIDO]

Douglas Menger
DouglasMenger

(usa XUbuntu)

Enviado em 06/12/2013 - 19:56h

Nas interfaces ficou assim:

# Rede Local
auto eth0
iface eth0 inet static
address 189.100.0.200
netmask 255.255.255.0

# GVT
auto eth1
iface eth1 inet static
address 192.168.0.30
netmask 255.255.255.0
dns-nameservers 192.168.0.200

# TPA
auto eth2
iface eth2 inet static
address 10.0.0.100
netmask 255.255.255.0
dns-nameservers 10.0.0.100


Eu fiz varias testes puxei o cabo de rede fiquei dando ping pra ter certeza que a conexão sairia no gateway correto. Fiquei feliz com o resultado.

Valeu qualquer cosia da um toque.


31. Re: Direcionar host para gateway especifico [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 06/12/2013 - 20:03h

Beleza. Precisando estamos aí.



01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts