0

Hello Internet Brain Trust!

We have a Windows 2012 R2 box running RDS and would like to run the Bloomberg Desktop Terminal.

We know of others running this configuration with one difference:
-> We are utilizing Bloomberg's private IP network (I'm guessing MPLS over T1), instead of connecting over the open internet.

The issue:

In our test environment, the Bloomberg instance will connect over the internet, but not via the private IP (Bloomberg router connected to our router's WAN port).

The Question:

Why? Seriously, I'm really interested in understanding what system service/ip stack/difference is leading to the private IP connection to fail.

Background:

  • The private IP connection works on Windows 7/8.1 instances (including VM's) in active use.
  • Bloomberg will not support a Server Edition host OS (contradicting 2 prior calls made to validate plans prior to deployment). ie: they won't help.
  • The system works as expected when connected via Open internet (orr regular WAN).
  • We have tested on a clean 2012 install, firewall disabled, no GPO's/Domain, Admin account - same behavior so it's not RDS related.

Tried So Far

  • Validated network settings on SonicWall router (again, win 7 clients connect fine.)
  • The aforementioned "clean install"
  • Manually entered routes on server for required Bloomberg "internal" IP's (wasn't necessary on Win 7, but I'll bite. Bloomberg has a handy MakeRoute GUI utility for this.)
  • Used Process Monitor to identify potentially missing assemblies (compared to the working win 7 box).
    • Other things I'm sure, but the fog of war is great.

"Hmm, that's interesting, but..."

When viewing netstat, Bloomberg support had keen interest on communication to port 8292.


Update 1: Static Routes and Bloomberg Gateway IP

I previously mentioned that I tried to utilize static routes using Bloomberg's included tool, this tools takes the IP of the Bloomberg Gateway (192.168.100.2) and inserts a series of pre-defined routes to the OS.

Utility Output:

Persistent Routes:   Network Address          Netmask  Gateway Address Metric
          0.0.0.0          0.0.0.0    192.168.150.1  Default
    199.105.176.0    255.255.248.0    192.168.100.2       1
    199.105.184.0    255.255.254.0    192.168.100.2       1
    205.183.246.0    255.255.255.0    192.168.100.2       1
    208.134.161.0    255.255.255.0    192.168.100.2       1
       69.184.0.0      255.255.0.0    192.168.100.2       1

Update 2: IP Addresses and ports

**Network Address Specifications**

For a private connection, the Client computer must be able to connect to ALL networks in the following Bloomberg subnets:
 208.134.161.0 using the subnet mask of 255.255.255.0
 205.183.246.0 using the subnet mask of 255.255.255.0
 199.105.176.0 using the subnet mask of 255.255.248.0
 199.105.184.0 using the subnet mask of 255.255.254.0
 69.184.0.0 using the subnet mask of 255.255.0.0 

The above network prefixes are advertised using RIP v2 from the Ethernet ports of the
Bloomberg Routers installed at the client site. Alternatively, clients wishing not to
receive RIP can configure their networks to route statically to the above prefixes
through the Ethernet ports of the Bloomberg Routers.


For Internet connections, the Client PC must be able to connect to the following Bloomberg
subnets:
  160.43.250.0 using the subnet mask of 255.255.255.0
  206.156.53.0 using the subnet mask of 255.255.255.0
  205.216.112.0 using the subnet mask of 255.255.255.0
  208.22.56.0 using the subnet mask of 255.255.255.0
  208.22.57.0 using the subnet mask of 255.255.255.0
  69.191.192.0 using the subnet mask of 255.255.192.0

The Client PC must be able to connect to the following Bloomberg ports:
UDP Destination Ports 48129-48137
TCP Destination Ports
   8194-8198
   8209-8220
   8290-8294
For BRIN connections, the Client PC must be able to connect to ANY IP address on the
above Bloomberg ports.

Source PDF: Transport and Security Specification


NetStat output (note: The test computer is on 192.168.150.x network, the Bloomberg private gateway is 192.168.100.2).

Pinging 192.168.100.2 with 32 bytes of data.
  Reply from 192.168.100.2 Time    3 ms TTL  255 Size  32
  Reply from 192.168.100.2 Time    1 ms TTL  255 Size  32
  Reply from 192.168.100.2 Time    1 ms TTL  255 Size  32
  Reply from 192.168.100.2 Time    1 ms TTL  255 Size  32

Ping statistics for 192.168.100.2:
  Packets: Sent = 4 Received = 4 Lost = 0
Approximate round trip times in milli-seconds:
  Minimum = 0ms Maximum = 3ms Average = 1ms

Active Connections: 
Proto     Local Address       Foreign Address     State               
TCP       0.0.0.0:80          0.0.0.0:0           LISTENING 
TCP       0.0.0.0:135         0.0.0.0:0           LISTENING 
TCP       0.0.0.0:443         0.0.0.0:0           LISTENING 
TCP       0.0.0.0:445         0.0.0.0:0           LISTENING 
TCP       0.0.0.0:593         0.0.0.0:0           LISTENING 
TCP       0.0.0.0:3388        0.0.0.0:0           LISTENING 
TCP       0.0.0.0:3389        0.0.0.0:0           LISTENING 
TCP       0.0.0.0:5504        0.0.0.0:0           LISTENING 
TCP       0.0.0.0:5985        0.0.0.0:0           LISTENING 
TCP       0.0.0.0:47001       0.0.0.0:0           LISTENING 
TCP       0.0.0.0:49152       0.0.0.0:0           LISTENING 
TCP       0.0.0.0:49153       0.0.0.0:0           LISTENING 
TCP       0.0.0.0:49154       0.0.0.0:0           LISTENING 
TCP       0.0.0.0:49155       0.0.0.0:0           LISTENING 
TCP       0.0.0.0:49165       0.0.0.0:0           LISTENING 
TCP       0.0.0.0:49183       0.0.0.0:0           LISTENING 
TCP       0.0.0.0:49187       0.0.0.0:0           LISTENING 
TCP       0.0.0.0:49190       0.0.0.0:0           LISTENING 
TCP       0.0.0.0:49191       0.0.0.0:0           LISTENING 
TCP       0.0.0.0:49192       0.0.0.0:0           LISTENING 
TCP       0.0.0.0:49266       0.0.0.0:0           LISTENING 
TCP       127.0.0.1:49910     127.0.0.1:49911     ESTABLISHED
TCP       127.0.0.1:49911     127.0.0.1:49910     ESTABLISHED
TCP       127.0.0.1:49912     127.0.0.1:49913     ESTABLISHED
TCP       127.0.0.1:49913     127.0.0.1:49912     ESTABLISHED
TCP       127.0.0.1:49914     127.0.0.1:49915     ESTABLISHED
TCP       127.0.0.1:49915     127.0.0.1:49914     ESTABLISHED
TCP       127.0.0.1:49916     127.0.0.1:49917     ESTABLISHED
TCP       127.0.0.1:49917     127.0.0.1:49916     ESTABLISHED
TCP       127.0.0.1:49918     127.0.0.1:49919     ESTABLISHED
TCP       127.0.0.1:49919     127.0.0.1:49918     ESTABLISHED
TCP       127.0.0.1:49920     127.0.0.1:49921     ESTABLISHED
TCP       127.0.0.1:49921     127.0.0.1:49920     ESTABLISHED
TCP       127.0.0.1:49922     0.0.0.0:0           LISTENING 
TCP       127.0.0.1:49923     127.0.0.1:49924     ESTABLISHED
TCP       127.0.0.1:49924     127.0.0.1:49923     ESTABLISHED
TCP       127.0.0.1:49925     127.0.0.1:49926     ESTABLISHED
TCP       127.0.0.1:49926     127.0.0.1:49925     ESTABLISHED
TCP       127.0.0.1:49927     127.0.0.1:49928     ESTABLISHED
TCP       127.0.0.1:49928     127.0.0.1:49927     ESTABLISHED
TCP       127.0.0.1:49929     127.0.0.1:49930     ESTABLISHED
TCP       127.0.0.1:49930     127.0.0.1:49929     ESTABLISHED
TCP       127.0.0.1:49931     127.0.0.1:49932     ESTABLISHED
TCP       127.0.0.1:49932     127.0.0.1:49931     ESTABLISHED
TCP       127.0.0.1:49933     127.0.0.1:49934     ESTABLISHED
TCP       127.0.0.1:49934     127.0.0.1:49933     ESTABLISHED
TCP       127.0.0.1:49935     127.0.0.1:49936     ESTABLISHED
TCP       127.0.0.1:49936     127.0.0.1:49935     ESTABLISHED
TCP       127.0.0.1:49937     127.0.0.1:49938     ESTABLISHED
TCP       127.0.0.1:49938     127.0.0.1:49937     ESTABLISHED
TCP       127.0.0.1:49939     127.0.0.1:49940     ESTABLISHED
TCP       127.0.0.1:49940     127.0.0.1:49939     ESTABLISHED
TCP       127.0.0.1:49941     127.0.0.1:49942     ESTABLISHED
TCP       127.0.0.1:49942     127.0.0.1:49941     ESTABLISHED
TCP       127.0.0.1:49943     0.0.0.0:0           LISTENING 
TCP       127.0.0.1:49944     127.0.0.1:49945     ESTABLISHED
TCP       127.0.0.1:49945     127.0.0.1:49944     ESTABLISHED
TCP       192.168.150.32:139  0.0.0.0:0           LISTENING 
TCP       192.168.150.32:8290 208.134.161.154:8292SYN_SENT  
TCP       192.168.150.32:49262 192.168.150.30:445  ESTABLISHED
TCP       192.168.150.32:49263 192.168.150.30:445  ESTABLISHED
TCP       192.168.150.32:49264 192.168.150.30:445  ESTABLISHED
TCP       192.168.150.32:49265 192.168.150.30:445  ESTABLISHED
TCP       192.168.150.32:49662 212.73.235.22:443   ESTABLISHED
TCP       192.168.150.32:49950 38.113.165.101:443  TIME_WAIT 
TCP       192.168.150.32:49951 38.99.185.100:443   TIME_WAIT 
TCP       192.168.150.32:49952 192.168.150.30:135  ESTABLISHED
TCP       192.168.150.32:49953 192.168.150.30:49155ESTABLISHED
TCP       192.168.150.32:49955 74.125.226.48:443   ESTABLISHED
TCP       192.168.150.32:49957 74.125.226.38:443   ESTABLISHED
TCP       192.168.150.32:49958 74.125.141.95:443   ESTABLISHED
TCP       192.168.150.32:49959 74.125.226.55:443   ESTABLISHED
TCP       192.168.150.32:49960 74.125.226.35:443   ESTABLISHED
TCP       192.168.150.32:49961 74.125.226.48:443   ESTABLISHED
TCP       192.168.150.32:49962 74.125.226.47:443   ESTABLISHED
TCP       192.168.150.32:49965 74.125.141.95:443   ESTABLISHED
TCP       192.168.150.32:49968 74.125.226.47:443   ESTABLISHED
TCP       192.168.150.32:49976 192.168.150.30:135  TIME_WAIT 
TCP       192.168.150.32:49977 192.168.150.30:49155ESTABLISHED
TCP       192.168.150.32:49980 74.125.226.55:443   ESTABLISHED
TCP       192.168.150.32:49981 38.113.165.101:443  TIME_WAIT 
TCP       192.168.150.32:49988 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:49989 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:49998 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50000 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50004 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50022 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50024 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50034 74.125.226.35:443   ESTABLISHED
TCP       192.168.150.32:50042 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50054 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50059 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50089 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50110 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50113 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50126 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50127 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50128 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50133 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50134 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50135 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50148 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50151 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50183 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50193 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50209 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50225 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50226 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50229 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50246 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50247 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50248 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50262 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50266 192.168.150.1:9999  TIME_WAIT 
TCP       192.168.150.32:50267 192.168.150.1:9999  TIME_WAIT 

UDP       0.0.0.0:123         *:*                 
UDP       0.0.0.0:500         *:*                 
UDP       0.0.0.0:3389        *:*                 
UDP       0.0.0.0:3391        *:*                 
UDP       0.0.0.0:4500        *:*                 
UDP       0.0.0.0:5355        *:*                 
UDP       0.0.0.0:51973       *:*                 
UDP       0.0.0.0:51975       *:*                 
UDP       0.0.0.0:51976       *:*                 
UDP       127.0.0.1:1900      *:*                 
UDP       127.0.0.1:53451     *:*                 
UDP       127.0.0.1:53454     *:*                 
UDP       127.0.0.1:61376     *:*                 
UDP       127.0.0.1:62320     *:*                 
UDP       127.0.0.1:62321     *:*                 
UDP       127.0.0.1:62511     *:*                 
UDP       127.0.0.1:63318     *:*                 
UDP       192.168.150.32:137  *:*                 
UDP       192.168.150.32:138  *:*                 
UDP       192.168.150.32:1645 *:*                 
UDP       192.168.150.32:1646 *:*                 
UDP       192.168.150.32:1812 *:*                 
UDP       192.168.150.32:1813 *:*                 
UDP       192.168.150.32:1900 *:*                 
UDP       192.168.150.32:53450*:*                 
  • I don't see any communication from or to port 8292 in your netstat output. I also don't see any communication to their ip address. Am I missing it? – joeqwerty Dec 14 '15 at 23:51
  • @joeqwerty See the line TCP 192.168.150.32:8290 208.134.161.154:8292SYN_SENT – jscott Dec 15 '15 at 0:07
  • Running in an un-supported configuration is ill-advised. I'm very close to closing this question, unless you can convince me otherwise. – EEAA Dec 15 '15 at 0:10
  • OK, I missed that line. I was looking for an RFC1918 ip address as the foreign address. So it's connecting to the public ip address of the Bloomberg service. What's the private ip address of the Bloomberg service? Why are you connecting to it via the public ip address? What do the routes look like on your router? What routes did you add to the server? – joeqwerty Dec 15 '15 at 0:19
  • 1
    So it works from clients but not servers- as expected.... What exactly are you looking for here? – Jim B Dec 15 '15 at 0:39
1

My guess would be that Windows 7 is using IP source routing so the packets are sent first to the Bloomberg router which then forwards them on via the private network, The server probably has source routing disabled so the packets are sent to the local gateway/firewall/router which probably don't have the Bloomberg router in it's routing table as the route for those IPs.

  • Hi @user333934, thank you so much for the response. This is an interesting area of study, can't wait to dive in! Unfortunately we killed the "Private Network", so I can't do much real-world testing to determine if its the root caus. That said, I definitely intend to read up on the topic and will mark this as the answer. – JFish222 Jan 27 '16 at 22:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.