Redirecionamentos usando 2 links, por favor me ajudem !! [RESOLVIDO]

25. Re: Redirecionamentos usando 2 links, por favor me ajudem !! [RESOLVIDO]

Luiz Antonio
hardmaster2009

(usa Ubuntu)

Enviado em 14/12/2011 - 19:15h

Fiz uma brincadeira com o ping...

de uma maquina externa executei o ping pra minha ppp0 189.111.111.111, que esta funcionando atualmente, claro que recebeu e respondeu certinho...

depois "pinguei" na minha eth1 que quero rodar, é claro que não houve resposta, pois ele chega, mas tenta retornar a resposta no default gateway listado com o comando "ip route"

então fiz uma marcação na tabela mangle cadeia output (depois de tentar as outras)

iptables -t mangle -A OUTPUT -p icmp -j MARK --set-mark 3

E num é que funciona !!, so que parou o ping na ppp0 (claro!!)
dando um iptables -t mangle -F, volta o que era antes !!

Assim eu tive certeza que a tabela desvio que criei e o rule table desvio esta funcionando !!
Tambem ja fiz o inverso as configs das interfaces !!

Meu problema é fazer a diferenciação, como o ex. do ping
e as conexoes que passam pelo firewall, como o server ts e o WEB

Cade os feraa em firewall ??!!!


  


26. Re: Redirecionamentos usando 2 links, por favor me ajudem !! [RESOLVIDO]

Luiz Antonio
hardmaster2009

(usa Ubuntu)

Enviado em 15/12/2011 - 08:39h

Testando a dica do colega Leonardo:
iptables -t mangle -I PREROUTING -i eth2 -j CONNMARK --set-mark 123456
iptables -t mangle -I PREROUTING -m connmark --mark 123456 -j MARK --set-mark 3

Exatamente como esta, percebo que ele marca os pacotes sim, as 2 regras (iptables -t mangle -nvL)
Mas se especificar ainda mais a 2º regra assim:
iptables -t mangle -I PREROUTING -i eth0 -m connmark --mark 123456 -j MARK --set-mark 3,, percebo que ela não marca mais os pacotes, pois a marcaçao connmark na volta foi perdida !! A interface eth0 é que sai e retorna as conexões da rede interna!

Então, pergunto, existe outra maneira de marcar os pacotes para que na volta essa marcação não desapareça ??

Agradeço qq ideia !!




27. Re: Redirecionamentos usando 2 links, por favor me ajudem !! [RESOLVIDO]

Luiz Antonio
hardmaster2009

(usa Ubuntu)

Enviado em 15/12/2011 - 15:06h

lejoso escreveu:

Tenta o seguinte

iptables -t mangle -I PREROUTING -i eth2 -p tcp --dport 3389 -j CONNMARK --set-mark 123456
iptables -t mangle -I PREROUTING -m connmark --mark 123456 -p tcp --sport 3389 -j MARK --set-mark 3

Pelo que vi você utilizou o alvo MARK para marcar os pacotes que entram pela eth2 com destino a porta 3389. Porém ao utiliar o mesmmo, quando o pacote sai do firewall em direção ao servidor, ao retornar esta marcação não é mais válida.
Neste caso, devemos utilizar o alvo CONNMARK. A diferença dele pro MARK é que enquanto o MARK marca apenas pacotes, o CONNMARK marca conexões, sendo assim os pacotes que retornam ao firewall enxergarão essa marcação.
Nas regras acima, na primeira ele marca a conexão que entra pela eth2 com destino a porta 3389.
Na segunda, ele pega essa conexão marcada e marca o pacote com o valor 3, o que fará com que ele consulte a tabela de roteamento com essa marcação.

Se funcionar, você até pode criar uma regra geral para marcar qualquér conexão que entra pela eth2 (CONNMARK) e depois marcar a volta pela mesma interface.
Ficaria assim:


iptables -t mangle -I PREROUTING -i eth2 -j CONNMARK --set-mark 123456
iptables -t mangle -I PREROUTING -m connmark --mark 123456 -j MARK --set-mark 3


Espero poder ter ajudado!


Acabei de criaar uma nova comunidade no VOL ( Conntrack ). Caso seja de seu interesse, torne - se membro da mesma para debater um tópico muito legal e interessante.



Att,

Leonardo Souza




Graças ao colega Leonardo que deu essa ideia, esse cara deve ser feraaaaa !!!
Estou eufórico, depois de meses de tentativas, estudando, testando, trocando até de distribuição linux etc etc !! acabo de conseguir que 2 links de internet sirvam para conexão externa do ts e consequentemente tambem sirva pro WEB simultaneamente !! espero que seja de muita ajuda !!
simplesmente adicionei uma regrinha que nunca usei e num entendo ainda a -m state

ficou assim:

iptables -t mangle -A PREROUTING -m state --state ESTABLISHED, INVALID -i eth1 -p tcp --dport 3389 -j CONNMARK --set-mark 1
iptables -t mangle -A PREROUTING -i eth0 -m connmark --mark 1 -j MARK --set-mark 1

onde eth1 é meu link de net nova
e a eth0 é minha interface de in-out pra LAN

Agora quero entender melhor oque a -m state faz com os pacotes realmente.
Obrigado Leonardo, se não foce pela sua dica estaria patinando ainda !!!


28. Re: Redirecionamentos usando 2 links, por favor me ajudem !! [RESOLVIDO]

Natanael Henrique
n4t4n

(usa Arch Linux)

Enviado em 15/12/2011 - 15:42h

hardmaster2009 escreveu:

n4t4n escreveu:

Parece que você fez tudo certo, mas esqueceu disso

iptables -t nat -I POSTROUTING -s 192.168.0.2 -p tcp --dport 3389 -o eth2 -j MASQUERADE
iptables -t nat -I POSTROUTING -s 192.168.0.2 -p tcp --dport 8080 -o eth2 -j MASQUERADE


Lembre-se de adicionar essa regra antes das já existentes na tabela nat


Ola, obrigado pela atenção,mas eu ja possuo uma regra de mascaramento na saida eth2 (link novo) (-o eth2 -j MASQUERADE) assim como a eth1 (link antigo).

Tambem acho que a sua regra não funcionaria, entendo que o pedido de conexão sempre chega com uma porta escolhida aleatoriamente para a porta de destino que o servidor esta escutando ( ex 4412 > 3389) e na volta (3389 > 4412) se foce --sport 3389 e --dport 3389 ai sim !! concorda ?

Me corrija se eu tiver errado !!
Mas muito obrigado pela atenção !!
E o probleminha num resolvi ainda !!


Sim, tem razão, foi displicência minha.

hardmaster2009 escreveu:

Graças ao colega Leonardo que deu essa ideia, esse cara deve ser feraaaaa !!!
Estou eufórico, depois de meses de tentativas, estudando, testando, trocando até de distribuição linux etc etc !! acabo de conseguir que 2 links de internet sirvam para conexão externa do ts e consequentemente tambem sirva pro WEB simultaneamente !! espero que seja de muita ajuda !!
simplesmente adicionei uma regrinha que nunca usei e num entendo ainda a -m state

ficou assim:

iptables -t mangle -A PREROUTING -m state --state ESTABLISHED, INVALID -i eth1 -p tcp --dport 3389 -j CONNMARK --set-mark 1
iptables -t mangle -A PREROUTING -i eth0 -m connmark --mark 1 -j MARK --set-mark 1

onde eth1 é meu link de net nova
e a eth0 é minha interface de in-out pra LAN

Agora quero entender melhor oque a -m state faz com os pacotes realmente.
Obrigado Leonardo, se não foce pela sua dica estaria patinando ainda !!!


Que bom que conseguiu resolver.

Para aprender mais sobre firewall indico o guia foca:

http://www.guiafoca.org/cgs/guia/avancado/ch-fw-iptables.html

O módulo state está na seção 10.6.1

Abraço.


29. Re: Redirecionamentos usando 2 links, por favor me ajudem !! [RESOLVIDO]

leonardo Souza
lejoso

(usa Debian)

Enviado em 20/12/2011 - 09:53h

Por nada hardmaster2009! Obrigado pelas palavras.

Porém acho que esqueci um parâmetro que fez que não funcionasse de imediato.
Te passei o seguinte:

iptables -t mangle -I PREROUTING -i eth2 -j CONNMARK --set-mark 123456
iptables -t mangle -I PREROUTING -m connmark --mark 123456 -j MARK --set-mark 3


A primaira linha está certa.
Porém na segunda esqueci de passar o parâmetro -i eth0, que ficaria assim

iptables -t mangle -I PREROUTING -i eth0 -m connmark --mark 123456 -j MARK --set-mark 3

Ou poderia colocar a entrada pela eth2 como excessão.

iptables -t mangle -I PREROUTING ! -i eth2 -m connmark --mark 123456 -j MARK --set-mark 3


Se quiser tentar essas alternativas acredito que funcione também.


Abraços.


30. Re: Redirecionamentos usando 2 links, por favor me ajudem !! [RESOLVIDO]

Luiz Antonio
hardmaster2009

(usa Ubuntu)

Enviado em 20/12/2011 - 16:33h

Ola colega, tudo blz ?? mais uma vez obrigado, ta tudo redondinho aqui, rsrsr, agora to brincando com vpn !!!

A dica que vc passou, se eu não colocar o parametro -m state --state ESTABLISHED, eu percebia que os pacotes que voltavam pra maquina não recebia a segunda marcaçao !!! colocando o parametro -i eth0 !!
Se eu tirasse o parametro -i eth0, dai sim marcava os pacotes, mas não os que voltavam para o servidor via eth0, entendeu ??
Ai que ta, num entendi bem oque esse parametro -m state --state ESTABLISHED, faz !!

Aproveitando, sobre vpn, o que esta sendo utilizado hj é o openvpn ??, andei dando uma pesquizada, ele é melhor que o ipsec ?


Obrigado
Luiz


31. Re: Redirecionamentos usando 2 links, por favor me ajudem !! [RESOLVIDO]

leonardo Souza
lejoso

(usa Debian)

Enviado em 22/12/2011 - 19:50h

Na verdade, ao utilizar o parâmetro "-m state --state ESTABLISHED, faz", ele está colocando como condição o estado da conexão ser estabebecido.
Existem 4 tipos de estado de conexâo:

New, Established, Related e Invalid. Através do conntrack é possível definir em qual estado aquela conexão se encontra. A definição do estado varia de acordo com o protocolo também.

Um exemplo:

Pacote icmp -> Echo request é definido como NEW.
Echo reply é definido como ESTABLISHED

Mensagens de erro icmp ( ex: tempo excedido em transito, port unreacheable, host unreacheable) são definidos como RELATED.


No TCP, a flag Syn é definida como NEW, as outras são ESTABLISHED ( basicamente ).


INVALID -> pacotes que não se encaixam em nenhum dos outros Estados.


Dá uma pesquisada nesse tema que é muito importante.

Plablo Neyra Ayuso -> esse cara é Fera na parte de Conntrack.



Em relação a vpn, não conheço muito sobre o assunto. O que sei é que a openvpn é utilizada para ganhar acesso a rede local através da nuvem.
A Ipsec geralmente é utilizada para ligar duas unidades( ponto a ponto ).
Tecnicamente não sei muito te informar sobre VPN, pois sei o básico. Mas tem muito cara bom ai de VPN que poderá lhe ajudar.


Att,


Leonardo Souza











32. Re: Redirecionamentos usando 2 links, por favor me ajudem !! [RESOLVIDO]

Josimar Pedro
forgottenn

(usa Debian)

Enviado em 09/05/2014 - 17:00h

Sei que o post é antigo mas me salvou, estava quase desistindo de conseguir fazer acesso externo TS usando 2 link diferente mas seguindo as dicas posta aqui consegui.
Obrigado Hardmaster2009 e lejoso.

Fiz a marcação usando a dica de vcs e deu certo.
iptables -t mangle -I PREROUTING -i eth2 -j CONNMARK --set-mark 123456
iptables -t mangle -I PREROUTING -i eth1 -m connmark --mark 123456 -j MARK --set-mark 2

iptables -t mangle -I PREROUTING -i eth0 -j CONNMARK --set-mark 123457
iptables -t mangle -I PREROUTING -i eth1 -m connmark --mark 123457 -j MARK --set-mark 1



01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts