Eu quero (como um primeiro passo para um proxy mysql externo) redirecionar o tráfego da conexão local do mysql (em uma VM) para um proxy externo (no host) que, em seguida, o encaminha de volta para a VM, que então dará para o servidor mysql. Eu estou usando esta configuração como a única coisa que eu quero manipular é a configuração do mysql (a porta usada) para ser principalmente independente de webapp.
Deve ser mais ou menos assim:
MYSQLClient
|
:4446 incoming connection on port of guest (1)
+--------------:3305+ rerouted to host (2)
|
+:8888--------------+ which then routes it back to the guest (3)
|
:4444 which is then routed to the MYSQLServer port (4)
|
MYSQLServer
Estou usando as diferentes etapas
(1) nc -k -l -v 4446 | nc 192.168.72.1 3305
(2/3) nc -k -l -v 3305 | nc 192.168.72.128 8888
(4) nc -k -l -v 8888 | nc localhost 4444
Eu configurei o mysql para escutar na porta 4444.
Eu quero manter (4) mesmo que você possa configurar o mysql para escutar em conexões externas, bem como manter as alterações no arquivo de configuração no mínimo e deixar o mysql pensar que a conexão estabelecida vem do localhost.
Agora, para o problema, sou experiência:
-
Eu não posso usar uma ordem arbitrária dos comandos. Eu tenho que usar a ordem inversa como mais nenhuma conexão será estabelecida e quebra assim que eu tento enviar dados. Isso me causará uma grande dor de cabeça assim que eu tentar automatizar essa configuração, pois parece impossível sincronizar isso com a inicialização do sistema convidado.
-
não funciona com o mysql. O Telnet, entretanto, contanto que você deixe o nc para a porta do mysqlserver. Mas assim que isso for usado, também (4) irá quebrar ao tentar se conectar ao telnet. Conectar-se com o cliente mysql não terá nenhum efeito e simplesmente não funcionará - nenhuma conexão será estabelecida e após digitar a senha do mysql, nada mais acontecerá.
Estou completamente louco considerando essa configuração? Se não, como posso fazer isso (realmente) funcionar?
Uma solução que não envolva nc e resolva a questão geral como descrita no primeiro parágrafo será aceita com a mesma alegria que a correção da configuração nc. O problema descrito acima deve descrever apenas a minha abordagem atual para uma solução.