loadbalancing w/ firewall

Options
mindlube
edited July 2012 in Photon Server
Im experimenting with running my photon server w/ loadbalancing behind a firewall. I have Redis running on Linux on a private LAN interface. So I put a firewall up on the linux box, and put photon server on the private LAN too. With the appropriate firewall/ port forwarding rules, it works! The only photon error is this:
2012-07-08 14:12:14,687 [18] ERROR Photon.LoadBalancing.LoadShedding.WorkloadController [(null)] - Latency monitor connection to 199.180.197.3:4531 failed with err 121: The semaphore timeout period has expired., serverId=5ffb6314-38dc-45dc-a163-c6d88f9bec12
2012-07-08 14:12:22,908 [18] ERROR Photon.LoadBalancing.LoadShedding.WorkloadController [(null)] - Latency monitor connection to 199.180.197.3:5056 failed with err 258: The wait operation timed out., serverId=5ffb6314-38dc-45dc-a163-c6d88f9bec12
The latency monitor seems to be using the public IP of the Game1 and Game2. But since that connection is coming from the private LAN (192.168.0.2) the linux firewall on 199.180.197.3 doesn't know how to route it. (and/or I don't know how to write the correct firewall rules).

There seems to be no way to specify for the WorkloadController to connect to anything but the public IP.

Is this going to prevent the loadbalancing server from doing it's job completely? Or is the latency monitor just one of many variables that the loadbalancing server is tracking? I am able to connect from the unity loadbalancing demo client.

Comments

  • dreamora
    Options
    Its going to prevent it from working as the master server can not do any load balancing if it can't get the load.
    What you likely will need to do is add a 'public to local' ip mapping in the host file of your linux box. thats probably the fastest way to achieve it (or to simply whitelist all 'in lan' IPs on the firewall)