Ajuda - Acesso Remoto com duas interfaces de internet [RESOLVIDO]

1. Ajuda - Acesso Remoto com duas interfaces de internet [RESOLVIDO]

silvano crivelli
scsrat

(usa Ubuntu)

Enviado em 23/02/2014 - 19:49h

Ola pessoal estou com um problema pra resolver aqui, tenho um servidor com duas interfaces de internet entrando e apenas uma interface de rede interna onde eu falo para o servidor quais são as maquinas que acessam elas em uma tabela, e quem não está nesta tabela acessa a rota default, até ai tudo funcionando perfeitamente só que (agora vem o problema) preciso colocar as duas interfaces de internet funcionando acesso externo na porta 3389 para o servidor interno e já na interface que esta como default $wan1 esta tudo ok, mas a $wan2 não passa de jeito nenhum e ate sei que é por que a $wan2 não e a rota default e o servidor esta respondendo pela default ($wan1), e ai mora o problema como fazer uma regra para obrigar o servidor pegar a solicitação da $wan2 na porta 3389 e manter a reposta também pela $wan2... ajudem-me....

(controle Http pelo squid)
Scrip do firewall simplificado (resumo só a parte que nos interessa).

#!/bin/bash
#####################

echo "### INICIANDO FIREWALL ###"
echo "!!!"

#echo "--CARREGANDO MODULOS DO IPTABLES--"

modprobe ip_tables
modprobe ipt_mark
modprobe ipt_MARK
modprobe iptable_filter
modprobe iptable_mangle
modprobe iptable_nat
modprobe ipt_string
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

echo "--ROTINA LIMPEZA E SETANDO REGRAS--"
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -F
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t nat -F POSTROUTING
iptables -t nat -F PREROUTING
iptables -t filter -F
iptables -t mangle -F
iptables -t mangle -X
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "... "


echo "--CARREGANDO INTERFACES--"
wan1=eth1
wan2=eth2
lan1=eth0
local=lo
rede1=192.168.104.0/255.255.255.0
gway1=10.0.1.1
gway2=192.168.1.1
echo "--INTERFACES OK..."

echo "--CRIANDO ROTAS--"
echo
ip route del
ip route add default via $gway1

for iplink1 in `cat /etc/squid/ips.link1 | egrep -v "^[#;]"`; do
ip rule add from $iplink1 table 20
done

for iplink2 in `cat /etc/squid/ips.link2 | egrep -v "^[#;]"`; do
ip rule add from $iplink2 table 21
done

ip route add default via $gway1 dev $wan1 table 20
ip route add default via $gway2 dev $wan2 table 21

echo "--CRIANDO ROTEAMENTO NAT + REDIRECIONAMENTO SQUID--"
iptables -A INPUT -i $local -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o $wan1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o $wan2 -j MASQUERADE

iptables -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


echo "--CONFIGURANDO PORTAS--"
#http
iptables -A INPUT -p tcp --dport 3389 -j ACCEPT
iptables -A FORWARD -p tcp --dport 3389 -j ACCEPT

# Rotas de servico
# Link 01
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.104.254:3389

# Link 02
iptables -t nat -A PREROUTING -i eth2 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.104.254:3389




  


2. Re: Ajuda - Acesso Remoto com duas interfaces de internet [RESOLVIDO]

leonardo Souza
lejoso

(usa Debian)

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

ip rule add fwmark 0x20 table 20
iptables -t mangle -I PREROUTING -p tcp --dport 3389 -i eth2 -j CONNMARK --set-mark 0x20
iptables -t mangle -I PREROUTING -p tcp --sport 3389 -m connmark --mark 0x20 ! -i eth2 -j MARK --set-mark 0x20



3. Re: Ajuda - Acesso Remoto com duas interfaces de internet [RESOLVIDO]

silvano crivelli
scsrat

(usa Ubuntu)

Enviado em 24/02/2014 - 11:23h

Desde já agradeço a atenção e vou testar e já retorno o resultado... muito obrigado


4. Re: Ajuda - Acesso Remoto com duas interfaces de internet [RESOLVIDO]

silvano crivelli
scsrat

(usa Ubuntu)

Enviado em 24/02/2014 - 11:49h

lejoso escreveu:

ip rule add fwmark 0x20 table 20
iptables -t mangle -I PREROUTING -p tcp --dport 3389 -i eth2 -j CONNMARK --set-mark 0x20
iptables -t mangle -I PREROUTING -p tcp --sport 3389 -m connmark --mark 0x20 ! -i eth2 -j MARK --set-mark 0x20


Amigo não deu certo... não entendi porque você colocou ! (exceto) na terceira linha e o que eu preciso e dele saindo pela mesma interface de entrada que ai no seu script basta mudar para a table 21.. e isso ou intendi tudo errado?

resposta do servidor:


tcpdump -i eth3 port 3389
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth3, link-type EN10MB (Ethernet), capture size 96 bytes
10:57:42.658054 IP 187.6.xx.xx.64042 > 192.168.1.2.3389: Flags [S], seq 3073674927, win 8192, options [mss 1452,nop,wscale 8,nop,nop,sackOK], length 0
10:57:45.661008 IP 187.6.xx.xx.64042 > 192.168.1.2.3389: Flags [S], seq 3073674927, win 8192, options [mss 1452,nop,wscale 8,nop,nop,sackOK], length 0
10:57:51.653465 IP 187.6.xx.xx.64042 > 192.168.1.2.3389: Flags [S], seq 3073674927, win 8192, options [mss 1452,nop,nop,sackOK], length 0



5. Re: Ajuda - Acesso Remoto com duas interfaces de internet [RESOLVIDO]

leonardo Souza
lejoso

(usa Debian)

Enviado em 24/02/2014 - 12:01h

Troca a eth2 por eth3, ficando da seguinte forma:


iptables -t mangle -I PREROUTING -p tcp --dport 3389 -i eth3 -j CONNMARK --set-mark 0x20
iptables -t mangle -I PREROUTING -p tcp --sport 3389 -m connmark --mark 0x20 ! -i eth3 -j MARK --set-mark 0x20


6. Re: Ajuda - Acesso Remoto com duas interfaces de internet [RESOLVIDO]

silvano crivelli
scsrat

(usa Ubuntu)

Enviado em 24/02/2014 - 14:35h

lejoso escreveu:

Troca a eth2 por eth3, ficando da seguinte forma:


iptables -t mangle -I PREROUTING -p tcp --dport 3389 -i eth3 -j CONNMARK --set-mark 0x20
iptables -t mangle -I PREROUTING -p tcp --sport 3389 -m connmark --mark 0x20 ! -i eth3 -j MARK --set-mark 0x20


Sim ja tinha feito isso... mudei toda a eth pra fazer uns testes... esta em eth3 mesmo.

Ta assim la agora, mais ainda não esta funcionando...


....
ip route del
ip route add default via $gway1

for iplink1 in `cat /etc/squid/ips.link1 | egrep -v "^[#;]"`; do
ip rule add from $iplink1 table 20
done

for iplink2 in `cat /etc/squid/ips.link2 | egrep -v "^[#;]"`; do
ip rule add from $iplink2 table 21
done

for iplink3 in `cat /etc/squid/ips.link3 | egrep -v "^[#;]"`; do
ip rule add from $iplink3 table 22
done

ip route add default via $gway1 dev $wan1 table 20
ip route add default via $gway2 dev $wan2 table 21
ip route add default via $gway3 dev $wan3 table 22
....

ip rule add fwmark 0x22 table 22
iptables -t mangle -I PREROUTING -p tcp --dport 3389 -i eth3 -j CONNMARK --set-mark 0x22
iptables -t mangle -I PREROUTING -p tcp --sport 3389 -m connmark --mark 0x22 ! -i eth3 -j MARK --set-mark 0x22




7. Re: Ajuda - Acesso Remoto com duas interfaces de internet [RESOLVIDO]

leonardo Souza
lejoso

(usa Debian)

Enviado em 25/02/2014 - 13:45h

Executa os seguintes comandos e seus respectivos resultados por favor:

iptables-save | grep -i mark

ip ru

ip ro show table 22


8. Re: Ajuda - Acesso Remoto com duas interfaces de internet [RESOLVIDO]

silvano crivelli
scsrat

(usa Ubuntu)

Enviado em 07/03/2014 - 10:20h

Muito obrigado a atenção, não há mais necessidade a empresa comprou um link de fibra pra suprir a necessidade e esta somente com uma interface...

Gostaria muito de ter resolvido esse empasse, seria muito útil em um futuro proximo :)

Mesmo assim muito obrigado.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts