ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » MQIPT - binding port to IP address

Post new topic  Reply to topic
 MQIPT - binding port to IP address « View previous topic :: View next topic » 
Author Message
dingdong
PostPosted: Wed Nov 12, 2008 11:55 am    Post subject: MQIPT - binding port to IP address Reply with quote

Novice

Joined: 12 Nov 2008
Posts: 14

Hi.

Hope I'm in the right section to ask an MQIPT question. By the way, I'm new at this, so please bear with me.

I'm wondering if, or how, MQIPT can be bound to listen on a specific IP address per port. In inherited this set of servers from someone who is no longer with us, so I can't ask this person.

Initially, I thought "LocalAddress" in the route stanza would accomplish this, but it doesn't seem to be the case.

Here are the ListenerPort and LocalAddress lines from one of the routes:

> ListenerPort=1420
> LocalAddress=192.168.220.28

Looking at the MQIPT process, it's listening on all IP addresses for 1420 and 192.168.220.28:

# netstat -an|grep 1420
tcp 0 0 :::1420 :::* LISTEN
tcp 0 0 ::ffff:192.168.220.28:1420 ::ffff:10.4.143.28:38862 ESTABLISHED

[root@inet23linux mqipt]# lsof|grep 1420
java 12774 root 11u IPv6 645004235 TCP *:1420 (LISTEN)
java 12774 root 38u IPv6 645004239 TCP 192.168.220.28:1420->10.4.143.28:38862 (ESTABLISHED)

[root@inet23linux mqipt]# ps -ef|grep 12774|grep -v grep
root 12774 12771 0 Nov10 ? 00:07:49 java -Dsun.net.inetaddr.ttl=30 -classpath /opt/mqipt/lib/MQipt.jar:/opt/mqipt/lib/guiadmin.jar com.ibm.mq.ipt.IPTController -D ..

We need it to listen only on the IP address that has been assigned for that port.

Anyone have any hints on how to accomplish this? Btw, we're at 1.3.3 for MQIPT with intentions to upgrade soon to 2.0.0.1, if that makes any difference.

Rgds/Kim
Back to top
View user's profile Send private message
exerk
PostPosted: Thu Nov 13, 2008 1:00 am    Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

There is a section within the MQIPT manual that deals with multi-homed systems, but I'm not sure if that will give you the answer - I know it's in there, but I haven't read it
_________________
It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
Back to top
View user's profile Send private message
dingdong
PostPosted: Thu Nov 13, 2008 1:07 pm    Post subject: Reply with quote

Novice

Joined: 12 Nov 2008
Posts: 14

Thanks, exerk. It talks about the LocalAddress parameter, which I thought would accomplish what I need, but it appears to only apply to OUTBOUND connections. Thanks for the suggestion, though.

Kim
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Nov 13, 2008 1:57 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

dingdong wrote:
Thanks, exerk. It talks about the LocalAddress parameter, which I thought would accomplish what I need, but it appears to only apply to OUTBOUND connections. Thanks for the suggestion, though.

Kim

Well what did you expect? There is no control over an inbound connection. You either accept it, or not. The firewall can help there in controlling what you receive. When you create the outbound connection, passing this information, will let the other end of the connection know about your restrictions and how to create the correct conversation with you on the TCP/IP level.

Remember that the call to the qmgr from MQIPT is to be considered as and outbound call.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
PeterPotkay
PostPosted: Thu Nov 13, 2008 2:58 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

The Listener object in MQ 6.0 has an IPADDR attribue that allows you to specify a particular IP address for the Listener to listen on. An incoming connection to any other IP on the server, even if the port, channel, QM name and everything else is correct will fail. I use this on hardware clusters and put the VIP in IPADDR. This keeps the apps from specifying the physcial server name on theor MQCONN call, which works fine while the cluster group is on Server A, but fails for them when the group slides over to Server B. "The MQ is broken!" No, you aren't using the VIP like I told you too. Using IPADDR prevents this from the start.

I guess Kim wants the same type of thing for MQIPT. I quick scan of the MQIPT 2.0 manual seems to indicate there is no way to do this with MQIPT config settings.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Nov 13, 2008 9:12 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

PeterPotkay wrote:

I guess Kim wants the same type of thing for MQIPT. I quick scan of the MQIPT 2.0 manual seems to indicate there is no way to do this with MQIPT config settings.

Peter I do not quite follow you.
MQIPT is configured as to which IP/port it will forward the connection to.
This you set up as MQ/MQIPT Admin.
Now if your MQIPT server has multiple cards and you will force the connection to go through a specific card, I guess that would be function of the firewall... That's why the MQIPT server is most often in the DMZ and no connection is setup without SSL...
Also not everybody can connect to the MQIPT box. Only if the calling ip corresponds to your agreed upon partners are you allowed to connect.


_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
mqjeff
PostPosted: Fri Nov 14, 2008 3:11 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

FJ, it is not the function of a firewall to decide what IP address a TCP/IP listener program opens an inbound socket onto. It is only the job of the firewall to determine who can connect to which IP/port combinations from what other ip/port combinations.

I suspect, without having tried it, that MQIPT supports a syntax for the ListenerPort configuration entry that includes an IP address as well as a port number.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Fri Nov 14, 2008 5:58 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

If it does, its an undocumented feature. I went through the whole manual yesterday (getting ready to upgrade to MQIPT 2.0.0.1) and didn't see it.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
dingdong
PostPosted: Fri Nov 14, 2008 7:16 am    Post subject: Reply with quote

Novice

Joined: 12 Nov 2008
Posts: 14

Hi. Thanks for all of the feedback. And, yes, what Peter described is what I'm trying to accomplish. This was not my design at all. I've inherited it and I'm not happy about it, but that's beside the point. So, we have another proxy application sharing servers with MQIPT. Say, for example, we use port 80 with MQIPT to test connectivity with new customers. It doesn't need to be listening all the time, but it is needed sometimes. The other proxy application uses port 80 "for real". MQIPT grabs port 80 on all IP addresses/interfaces so the other proxy app finds the port in use and can't listen. Rather than stop/start routes "as needed", I'd rather find a way for MQIPT to listen on only the IP address and port combo I specify. Because.. this is just one example. We have customers using odd ports and it's only a matter of time before there is a "real" conflict.

I guess I just didn't explain it all that well initially. I think I'm SOL, but I'm going to try asking IBM.

Kim
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Nov 14, 2008 7:24 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Do you mean to say that when MQIPT is receiving an agreed upon connection request you want it to reply on a restricted IP/port range?

As you address MQIPT as you would a normal MQ Listener I expect that that would be the need of a definition for the channel. (Sender or client).

I am still kind of missing the understanding there.
If my MQIPT machine has 2 cards and I want to force the inbound connection to a specific one I can have the firewall reject connection request to the other one. If I want it to reply only through the one IP that would happen by configuring the routing table accordingly, right?
Or is it that I want one application (MQIPT) to use a specific card/ip for it's outbound connection and a different application to use the other card/ip potentially to the same target machine/network?

Thanks for clarifying.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
dingdong
PostPosted: Fri Nov 14, 2008 8:10 am    Post subject: Reply with quote

Novice

Joined: 12 Nov 2008
Posts: 14

fjb_saper,

It's INBOUND connections that are the issue, whether from customer or internal MQ server.

Say we have a server running MQIPT and another proxy application. Two "service" IP addresses have been allocated:

10.10.10.10 for MQIPT.
10.10.10.20 for other proxy app.

For example purposes, say both applications need to listen on port 80 for inbound calls.

The other proxy app is configured to specifically listen only on IP address 10.10.10.20 port 80, for incoming calls.
MQIPT listens on port 80 for ANY IP address defined on the server, for incoming calls.

Say the MQIPT app is started first. It hogs port 80 for ALL IP addresses defined on the server. So, if customer A calls 10.10.10.10 port 80, he's going to get MQIPT, which is what should happen based on the IP assignment. If customer B calls 10.10.10.20 port 80, he's going to get MQIPT. This is NOT what should happen. He's expecting the other proxy application to answer and proxy his call elsewhere as he's not even an MQ customer. In fact, the other proxy application will not even start in this case because it finds port 80 in use for all configured IP addresses.

It could be argued that MQIPT should live by itself for security reasons, etc, etc, etc. That is completely beyond my control. We're being forced to consolidate hardware and I can't do anything about it. So, the easiest solution, which I don't think is unreasonable (we have plenty of other apps that can bind to an IP address), is to (somehow) configure MQIPT to listen for inbound calls on only the IP addresses that have been allocated for MQIPT.

Hope this makes better sense.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Fri Nov 14, 2008 9:23 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Why do you both have to go after port 80? Why not have MQIPT listen on some other random port, that will be free on either IP address?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Nov 14, 2008 10:07 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Thanks dingdong, this clears it up a lot.
Don't know about that. By default the workaround that Peter suggests is bound to work. Your netscaler or VIP or equivalent could be set up to forward correctly so your outside users don't have to change a thing...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
dingdong
PostPosted: Wed Dec 03, 2008 7:51 am    Post subject: Reply with quote

Novice

Joined: 12 Nov 2008
Posts: 14

In case anyone ever has the same question concerning version 1.3.3 or 2.0.0.1, this functionality does not exist according to IBM. Needs a Design Change Request to have it added.

Rgds/Kim
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » MQIPT - binding port to IP address
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.