I'm trying to run the simplest Spark standalone cluster on an Azure VM. I'm running a single master, with a single worker running on the same machine. I can access the Web UI perfectly, and can see that the worker is registered with the master.

But I can't connect to this cluster using `spark-shell` on my laptop. When I looked in the logs, I see

```
15/09/27 12:03:33 ERROR ErrorMonitor: dropping message [class akka.actor.ActorSelectionMessage] 
for non-local recipient [Actor[akka.tcp://sparkMaster@40.113.XXX.YYY:7077/]] 
arriving at [akka.tcp://sparkMaster@40.113.XXX.YYY:7077] inbound addresses 
are [akka.tcp://sparkMaster@somehostname:7077]
akka.event.Logging$Error$NoCause$

```

Now I think the reason why this is happening is that on Azure, every virtual machine sits behind a type of firewall/load balancer. I'm trying to connect using the Public IP that Azure tells me (`40.113.XXX.YYY`), but Spark refuses to accept connections because this is not the IP of an interface. 

Since this IP is not of the machine, I can't bind to an interface either.

How can I get Spark to accept these packets as well?

Thanks!