Sever to server cannot be connected behind gatekeeper

hi,everyone

i meet a s2s connection question.

first, i set up 2 openfire server, then make the dns name can be resolved by network with our intranet(10.x.x.x). they work well.

second, i move one to private network(192.x.x.x) behind with the gatekeeper , who can not allow icmp(ping) each other. set up a dns server and figure out the real IP in intranet. then i meet the question:

1.spark in private network can login both private and intranet openfire server.

  1. spark in intranet can not connect to private network openserver.(that is one way rule)

  2. the private-openfire-server cannot connect to intranet-openfire-server, also i close all the security options(tls…)

  3. if a use icmp(ping) , i can see the real ip with www.dys.sd[10.x.x.x] but time out.

  4. if i telnet 10.x.x.x 5269, it reply etc.(it’s desktop.dys.sd, intranet)

  5. log:

2011.05.17 16:31:56 Error creating secured outgoing session to remote server: desktop.dys.sd(DNS lookup: desktop.dys.sd:5269)

java.io.EOFException: input contained no data

at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3003)

at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046)

at org.jivesoftware.openfire.net.MXParser.more(MXParser.java:373)

at org.xmlpull.mxp1.MXParser.parseProlog(MXParser.java:1410)

at org.jivesoftware.openfire.net.MXParser.nextImpl(MXParser.java:341)

at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)

at org.jivesoftware.openfire.session.LocalOutgoingServerSession.createOutgoingSess ion(LocalOutgoingServerSession.java:317)

at org.jivesoftware.openfire.session.LocalOutgoingServerSession.authenticateDomain (LocalOutgoingServerSession.java:167)

at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.sendPa cket(OutgoingSessionPromise.java:261)

at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.run(Ou tgoingSessionPromise.java:238)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

spark version:2.5.8,openfire version:3.7.0

how to make the servers work? anyone can help me?

mail20110420@gmail.com