Problème de connexion de 2 nœuds fonctionnant sur des boîtiers séparés. Je ai essayé de assurez-vous qu'il n'y a pas de problèmes habituels avec la synchronisation des cookies, DNS ou pare-feu.Problème de connectivité d'un nœud Erlang
D'abord, je cours epmd en mode débogage tel que recommandé par Erlang docs:
epmd -d -d
ensuite sur la boîte # 1:
ERL -nom [email protected] -kernel inet_dist_listen_min 6000 inet_dist_listen_max 6050 -setcookie TestCookie
et sur la boîte # 2:
ERL -nom xmpp2 @ serveur 2.net -kernel inet_dist_listen_min 6000 inet_dist_listen_max 6050 -setcookie testcookie
Pas de chance avec ping. Par exemple, sur la boîte # 2:
Erlang (BEAM) emulator version 5.6.4 [source] [64-bit] [smp:4] [async-threads:0] [kernel-poll:false] Eshell V5.6.4 (abort with ^G)
([email protected])1> net_adm:ping('[email protected]').
pang
epmd sur les émissions de server1.net suivantes:
epmd: Sun Sep 12 01:40:32 2010: opening connection on file descriptor 6
epmd: Sun Sep 12 01:40:32 2010: got 8 bytes
***** 00000000 00 06 7a 78 6d 70 70 31 |..zxmpp1|
epmd: Sun Sep 12 01:40:32 2010: ** got PORT2_REQ
epmd: Sun Sep 12 01:40:32 2010: got 18 bytes
***** 00000000 77 00 17 70 4d 00 00 05 00 05 00 05 78 6d 70 70 |w..pM.......xmpp|
***** 00000010 31 00 |1.|
epmd: Sun Sep 12 01:40:32 2010: ** sent PORT2_RESP (ok) for "xmpp1"
epmd: Sun Sep 12 01:40:32 2010: closing connection on file descriptor 6
dire, semble recevoir requête ping du deuxième noeud et répondre avec ok.
tshark écoute sur le port EPMD (TCP 4369) donne (I remplacé les adresses IP réelles avec des noms de serveur):
1 0.000000 server2.net -> server1.net TCP 43809 > epmd [SYN] Seq=0 Win=5840 Len=0 MSS=1460 SACK_PERM=1 TSV=776213773 TSER=0 WS=5
2 0.000433 server1.net -> server2.net TCP epmd > 43809 [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 SACK_PERM=1 TSV=1595930818 TSER=776213773 WS=6
3 0.000483 server2.net -> server1.net TCP 43809 > epmd [ACK] Seq=1 Ack=1 Win=5856 Len=0 TSV=776213773 TSER=1595930818
4 0.000545 server2.net -> server1.net EPMD 43809 > epmd [PSH, ACK] Seq=1 Ack=1 Win=5856 Len=8 TSV=776213773 TSER=1595930818
5 0.001445 server1.net -> server2.net TCP epmd > 43809 [ACK] Seq=1 Ack=9 Win=5824 Len=0 TSV=1595930818 TSER=776213773
6 0.001466 server1.net -> server2.net EPMD epmd > 43809 [PSH, ACK] Seq=1 Ack=9 Win=5824 Len=18 TSV=1595930818 TSER=776213773
7 0.001474 server2.net -> server1.net TCP 43809 > epmd [ACK] Seq=9 Ack=19 Win=5856 Len=0 TSV=776213773 TSER=1595930818
8 0.001481 server1.net -> server2.net TCP epmd > 43809 [FIN, ACK] Seq=19 Ack=9 Win=5824 Len=0 TSV=1595930818 TSER=776213773
9 0.001623 server2.net -> server1.net TCP 43809 > epmd [FIN, ACK] Seq=9 Ack=20 Win=5856 Len=0 TSV=776213773 TSER=1595930818
10 0.001990 server1.net -> server2.net TCP epmd > 43809 [ACK] Seq=20 Ack=10 Win=5824 Len=0 TSV=1595930818 TSER=776213773
Il me semble qu'il n'y a pas de problèmes de pare-feu, comme des instances EPMD parlent l'un à l'autre. Qu'est-ce que je rate?
Votre avis est grandement apprécié!
Meilleures salutations, Boris