Author |
Message
|
leo.yue |
Posted: Sun Apr 16, 2006 11:37 pm Post subject: MQ connection issue |
|
|
Acolyte
Joined: 20 Oct 2004 Posts: 52
|
All,
Assume that there is a MQ Server A in a intranet, however, it can access internet. There is a MQ Server B in the internet, and it can not access the intranet where A stays.
Here I want to set up a connection between A and B, moreover, message flow should be from B to A. any approach?
How about requester/server channel?
Thanks a lot. |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Apr 17, 2006 3:39 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The listener port on both queue managers has to be reachable.
Requester/server doesn't change that. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
wschutz |
Posted: Mon Apr 17, 2006 3:56 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
jefflowrey wrote: |
The listener port on both queue managers has to be reachable. |
Really?If I setup port 1414 on B, why can't i define a sender on A for B's 1414 and a requestor on A for B's 1414.... (ie, both outbound from his intranet). Doesn't that work? _________________ -wayne |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Apr 17, 2006 4:28 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Eh?
Is this only one-way? Sorry - if this is only from B to A, and not also A to B - then a requester/sender or requester/server will work. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Ward |
Posted: Mon Apr 17, 2006 7:06 am Post subject: |
|
|
 Voyager
Joined: 27 Jun 2001 Posts: 98 Location: Europe
|
irrespective of which direction the data is flowing there will always be communication in both directions (acknowledgements,...) does your firewall allows this ? |
|
Back to top |
|
 |
leo.yue |
Posted: Mon Apr 17, 2006 5:07 pm Post subject: |
|
|
Acolyte
Joined: 20 Oct 2004 Posts: 52
|
thanks.
Quote: |
irrespective of which direction the data is flowing there will always be communication in both directions (acknowledgements,...) does your firewall allows this ? |
Do you mean only B can access A so that message can flow from B to A? |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Apr 17, 2006 5:14 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
leo.yue wrote: |
thanks.
Quote: |
irrespective of which direction the data is flowing there will always be communication in both directions (acknowledgements,...) does your firewall allows this ? |
Do you mean only B can access A so that message can flow from B to A? |
No the channel flow is unidirectional. However a channel also carries protocol messages (attn, ack, rsd, rrd etc...) These are bidirectional and are needed for a correct function of the channel.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
wschutz |
Posted: Mon Apr 17, 2006 5:20 pm Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Here's a diagram:
QmgrA -- intranet -- firewall -- internet -- QMgrB.
Now, assuming that QmgrB has a listener on a port (say: 1414) and the firewall allows connections to originate from QMgrA to port 1414 on QMgrB, then you can define two channels.
If we name the channel that sends messages from QmgrA to QMgrB: QMGRA.QMGRB and the channel that sends message from QMgrB to QmgrA; QMGRB.QMGRA., then, on qmgrA you defne:
define channel(qmgra.qmgrb) chltype(sdr) conname('xxxx(1414)')
define channel(qmgrb.qmgra) chltype(rqstr) conname('xxxx(1414)')
(xxx=ip address)
and on QmgrB;
define channel(qmgra,qmgrb) chltype(rcvr)
define channel(qmgrb.qmgra) chltype(svr)
Then, you can send messages both ways. Of course, you must always start both channels from QmgrA. _________________ -wayne |
|
Back to top |
|
 |
leo.yue |
Posted: Tue Apr 18, 2006 12:16 am Post subject: |
|
|
Acolyte
Joined: 20 Oct 2004 Posts: 52
|
wschutz,
Do you think it is available to send message from QMgrB to QmgrA through defining rqstr/svr channels even QMgrB can not access (ping) QMgrA? |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Apr 18, 2006 3:29 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
leo.yue -
Ping is not really important. It is fairly common for ping to be disabled these days, in the network layer. It also doesn't necessarily tell you anything about the network.
Can a user on QmgrB's machine use telnet to connect to the listener port of QmgrA? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
leo.yue |
Posted: Tue Apr 18, 2006 4:43 am Post subject: |
|
|
Acolyte
Joined: 20 Oct 2004 Posts: 52
|
jefflowrey,
I am not sure whether QMgrB's machine user can telnet to connect to the listener port of QmgrA or not.
However, QMgrA's machine only have intranet IP, so I do not think QMgrB's machine can telnet to it.  |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Apr 18, 2006 4:55 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
So let's assume that it can't.
The question then becomes, is QMgrB's machine able to create outbound connections at all? This should be true.
If it is true, then look at wschutz's last message again in more detail.
QmgrA is responsible for starting all the connections - by starting the requester channel and the sender channels.
QmgrA will start the requester channel to RECEIVE messages from QmgrB, because starting the requester channel will cause the sender on the other side to start SENDING messages.
QmgrA will start the Sender channel to SEND messages to QmgrB, which will as normal cause the reciever channel to start.
But all of this is predicated on QmgrA's machine being able to connect to the listener on QmgrB. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
leo.yue |
Posted: Tue Apr 18, 2006 5:55 am Post subject: |
|
|
Acolyte
Joined: 20 Oct 2004 Posts: 52
|
I just tested this scenario.
MQ Server: QMgrB
IP (internet): *.*.*.*
Listener port: 14222
Server Channel: REQ
MQ Server: QMgrA
Requester Channel: REQ [CONN Name: *.*.*.*(14222) ]
QMgrA's machine can telnet to QMgrB's port 14222
(it is successful when issuing command "telnet *.*.*.* 14222")
But When starting the REQ channel from QMgrA, MQ reported an error:
"*.*.*.*(14222) is not available", TCP/IP error code is 10061 (X'274D')
So I think when QMgrA request channel to be set up, QMgrB need to reponse to QMgrA. Thus, QMgrB must have tried to send some message to QMgrA automaticly for response, but it is failed. |
|
Back to top |
|
 |
|