Urgente! NAT + roteamento + Banco de dados Firebird
Boa noite...
Estou com um pequeno problema e acredito que seja apenas um detalhe.
Desenvolvemos uma aplicação em ruindows para se comunicar com um banco de dados firebird remoto. Este banco de dados está ligado diretamente à um número ip válido. A dificuldade está em instalar o aplicativo no cliente e fazer funcionar a comunicação. Acontece que o cliente possui um gateway linux, sendo habilitado o repasse de pacotes por NAT para as estações windows. Vejam a estrutura da rede:
Estação Windows (192.168.0.4 - gw 192.168.0.2) ---> Roteador Linux (eth0: 192.168.0.2 - ppp0: IP dinâmico) ---> [[ INTERNET ]] ---> Servidor Firebird (200.xxx.xxx.xxx).
O firebird escuta na porta 3050, porém a porta da máquina cliente que se conecta ao firebird é aleatória, geralemente acima de 65000.
Instalo o aplicativo na máquina cliente e este precisa se comunicar com o firebird externo, porém há um gateway no meio do caminho. Já tentei usar uma regra no post que fiz anteriormente porém não funcionou.
Alguém tem uma sugestão?
Agradeço pela atenção.
Marcelo Estanislau.
Urgente! NAT + roteamento + Banco de dados Firebird
Oi, ninguém pode me ajudar.....
Urgente! NAT + roteamento + Banco de dados Firebird
e ae
kara q situação vc tem hein!, só uma coisa como q é q vc tem um aplicação q não conversa com o firebird na mesma porta? me diz?! nunca vi isso !!! olha não vi seu outro post mas a unica solução q vejo ai e vc fazer um redirecionamento de portas, não tive tempo de testar essa regra entre maquinas aq no trampo porq ta uma correria mas o melhor e vc testar ai logo ok, se ja usou essa regra no post anterior q disse, ou se ja deram essa sugestão, e so desconsiderar falou!! olha ao meu ver vc vai precisar de duas regras neste gateway linux, uma pra ir e outro para voltar
vai la
* para ir
iptables -t nat -A POSROUTING -s IP_maquina_cliente -i eth0 -d IP_firebird -p tcp --dport 65000 -j REDIRECT --to-port 3050
* para voltar
iptables -t nat -A PREROUTING -s IP_firebird -i ethx -d IP_maquina_cliente -p tcp --sport 3050 -j REDIRECT --to-port 65000
certo, outra solução seria mudar sua aplicação para responder na mesma porta do firebird mas pelo q li nos docs sobre o firebird e sobre interfaces de bancos, ele depende muito do driver(ou interface com o banco)
usado em cada aplicação e a sintaxe da linguagem(Java, C, etc), me corrijam se eu estiver errado!! graças a criação da interface ODBC, se tornou possível o desenvolvimento de aplicações escritas em linguagens diferentes utilizando a mesma metodologia para se comunicar com bancos de dados diferentes, não precisando de modulos exclusivos para cada linguagem, putz ja to começando a falar dificil(Aff) bom chega de estorinha e vamos la, oq quero dizer é o seguinte, não sei qual "driver" sua aplicação usa?!, mas digamos q ela usa ODBC certo a comunicação se daria de forma bem simples a sua aplicação conversaria com o ODBC
e este se encarrega de fazer a comunicação não sei lhe dizer como funciona isso, nem q porta o ODBC usa nem procurei por isso, mas digamos então, pelo meu ver para fazer a aplicação responder na mesma porta teria q mexer no ODBC e isso nunca hehehehee nem compensa então a sugestão redirecionamento de portas, pelo firewall uma sugestão, mas se falei abobrinha me desculpem eu estou aprendendo ainda e é discutindo q o nosso conhecimento chega lá certo, bom espero ter ajudado pelo menos dado uma luz
falow
kakaroto