Jconsole sobre VPN

3

Estou tentando monitorar um jvm remoto usando o jconsole. Eu preciso fazer esse monitoramento através de uma rede OpenVPN, que pode me fazer parte do problema. Esta é a configuração de rede:

 Server A         Server B         Server C
 Jconsole                             JVM
10.171.0.1 <---> 10.170.0.1 <---> 10.170.0.14

Quando todos os servidores estão em redes físicas diferentes, isso não funciona. Quando Server A e Server C estão na mesma rede física, funciona. Em ambos os casos, o traceroute é o descrito na configuração da rede e se parece com isso:

traceroute to 10.170.0.14 (10.170.0.14), 64 hops max, 52 byte packets
 1  10.170.0.1 (10.170.0.1)  114.440 ms  109.152 ms  109.581 ms
 2  10.170.0.14 (10.170.0.14)  234.207 ms  228.535 ms  229.630 ms

Alguma idéia de como resolver isso?

[EDITAR]

Todos os sistemas são linux.

Os parâmetros remotos do Jmx são:

-Dcom.sun.management.jmxremote.port=8086 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false

Servidor Server B (10.170.0.1) é usado como ponte e firewall entre as duas redes. O firewall em 10.170.0.1 é o seguinte:

*filter
:INPUT DROP [1000:900000]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -s 127.0.0.1 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 389 -j ACCEPT
-A INPUT -p udp -m udp --dport 1194 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8086 -j ACCEPT
-A INPUT -p udp -m udp --dport 8086 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -m icmp --icmp-type 13 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -m icmp --icmp-type 30 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -s 10.171.0.1 -d 10.170.0.0/16 -j ACCEPT
-A FORWARD -s 10.171.0.3 -d 10.170.0.0/16 -j ACCEPT
-A FORWARD -s 10.170.0.0/16 -d 10.171.0.0/16 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-port-unreachable 
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
COMMIT
    
por Ricardo Marimon 03.09.2010 / 15:15

3 respostas

4

Muito tempo desde que essa pergunta foi feita, mas como o @mark mostrou algum interesse, eis como acabei resolvendo isso. O problema era que a JVM estava vinculada ao endereço IP local em vez do endereço IP da VPN. Tudo funcionou, adicionando:

-Djava.rmi.server.hostname=10.170.0.14

Para o servidor que eu queria monitorar.

    
por 27.05.2011 / 19:34
0

3 coisas que vale a pena tentar se você ainda não tiver: 1) se livrar das regras de firewall em todas as máquinas completamente, para testes (se você puder fazer isso) 2) se 1) não é uma opção, configure 3 máquinas virtuais que imitem a configuração, sem firewalls - fazendo isso eu encontrei um problema semelhante com a minha própria rede. 3) certifique-se de ter um keepalive em seu arquivo de configuração do cliente openvpn - uma linha como: keepalive 10 120

O problema semelhante que tive foi que a rede da minha empresa foi configurada para descartar qualquer pacote de entrada após x segundos de inatividade, portanto, embora a VPN ainda estivesse tecnicamente aberta, todo o tráfego estava sendo descartado até que algum tráfego viesse do outro lado, então funcionou.

    
por 27.05.2011 / 02:40
0

Tentei com Java 8

1. Recorte e cole isso no script de inicialização do jvm:

-Dcom.sun.management.jmxremote.port=1616
-Dcom.sun.management.jmxremote.rmi.port=1618
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

2. Conecte-se via ssh (e evite restrições de VPN):

ssh solr@remote-host -L 1616:remote-host:1616 -L 1618:remote-host:1618

3. Abra o jconsole no seu computador

jconsole localhost:1616

4. Divirta-se!

    
por 24.11.2015 / 12:48