PDA

View Full Version : Did the latest update break some networking?



zBeeble
December 18th, 2024, 00:13
So... I have 4.6.2 ultimate right now... on win10. I turned off windows firewall and have control of my FreeBSD main "NAT" firewall.

Now ... windows is at 192.168.221.190 --- internally. And internally, from the firewall, I can't telnet to 192.168.221.190:1802 ... meaning that TCP port doesn't seem to be open.

Before replying, please consider: I run an ISP, I use the ISP I run. My firewall is on FreeBSD 14.1, but more Importantly, I'm using an internal LAN connection to attempt to connect to fantasygrounds. Also, this all started when players couldn't connect to either IPv4 or IPv6 direct connections.

My name _does_ appear in the list of GMs, but connections from there don't work, either.

As a matter of fact, from my elevated command prompt, I tried "telnet 127.0.0.1 1802" and "telnet 192.168.221.190 1802" and both of them returned connection refused.

LordEntrails
December 18th, 2024, 00:21
You'll have to wait for a reply from SW to be sure, but from all the release notes there is no mention of any networking being changed. So I doubt they changed the networking at all. I'm guessing you probably already checked your security applications and reset your whitelist, but do note that some A/V systems don't like it when the FG file size changes and will show the executable as whitelisted, but it will still block it because it sees the new executable as different than the one that is whitelisted.

I guess all that is to say; I don't think anything changed, did you double check your network troubleshooting?

Trenloe
December 18th, 2024, 00:34
Now ... windows is at 192.168.221.190 --- internally. And internally, from the firewall, I can't telnet to 192.168.221.190:1802 ... meaning that TCP port doesn't seem to be open.

...

As a matter of fact, from my elevated command prompt, I tried "telnet 127.0.0.1 1802" and "telnet 192.168.221.190 1802" and both of them returned connection refused.
Fantasy Grounds Unity uses UDP, not TCP, so telnet won't work - as you're seeing.

Moon Wizard
December 18th, 2024, 01:00
Networking has not been changed in at least a couple years; we've only expanded the network message types within the existing network.

Regards,
JPG

zBeeble
December 18th, 2024, 04:54
Well... there are complications to my workstation. I really wish I could just instruct fantasygrounds to bind to a certain IP address. Why do I have more than one? Well... hypervisor VM's for one. By default (and I tried and can't delete it) it creates a bridge that NATs to the local net --- but that effectively means that FGU is choosing to be doubly natted. Complicates trying to figure out what it's doing and complicates making it sane. I have a second bridge ... which is just bridged against the ethernet --- which also is vlan'd.

Anyways... why can't I have FGU bind to a given IP? Or how-do-I bind FGU to a specific IP?

Lo Zeno
December 18th, 2024, 20:11
Anyways... why can't I have FGU bind to a given IP? Or how-do-I bind FGU to a specific IP?

Do you mean "port" rather than IP? IPs are not program-specific, they are device-specific (physical or virtual device - in your case, with hyper-V it's virtual devices). Each program running in a device can bind to a separate port.
I don't think that the TCP/IP protocol even allows a program to bind to a different IP than the device it's running on...

Unless I grossly misunderstood what you're asking.

Zacchaeus
December 18th, 2024, 20:40
Have you tried connecting using the Cloud rather than LAN.

zBeeble
December 18th, 2024, 21:06
Have you tried connecting using the Cloud rather than LAN.

Actually, this is all with cloud connect turned on. I'm in the middle of a campaign. I run this several times every week.

So the answer to your question is yes. All this is with cloud turned on.

zBeeble
December 18th, 2024, 21:13
Do you mean "port" rather than IP? IPs are not program-specific, they are device-specific (physical or virtual device - in your case, with hyper-V it's virtual devices). Each program running in a device can bind to a separate port.
I don't think that the TCP/IP protocol even allows a program to bind to a different IP than the device it's running on...

Unless I grossly misunderstood what you're asking.

No. I mean IP. As I said above, my machine has more than one IP. Not because that is common in my world that a machine might be multihomed, but because Windows Hypervisor requires it and refuses to change it even though my hypervisor specific usage don't strictly require it.

Now... FGU says it listens on every IP. But with UDP this is a worthless configuration. If a machine has more than one IP, then UDP listening on every IP will send packets (potentially, at best) with another IP --- different than the one from which it receives them. At worst, this bridge M$ installs also does NAT --- which is a NAT, AFAICT, for which I can't query modify the config. So ... in this more dire case, you have the sent UDP packets being double NATTED (once by my workstation, second time by my firewall) in addition to having different details than the received packets.

It's all a mess. The only sane way to use UDP is to offer to bind to a specific IP. How do I ask FGU to do this?

Moon Wizard
December 18th, 2024, 23:00
There is no mechanism to specify that FGU bind to a specific IP. We use a network library that sets up and manages the connection; and as far as I know, attempts to find the IP with the shortest route and use that one.

Regards,
JPG

Ferno
December 18th, 2024, 23:46
Ever since version 4.6 my players cant connect to my game. I have FGU ultimate and I had never had any issue with FGU before, just click and go (I did have to use hamachi with FG Classic, but I though those dog days where gone. I also have no idea the reason. My pc didnt change, my firewall, everything is as it has always been. I'm a psychiatrist, I dont know the first thing about IP and whatever. I just wish I could just click and go again.

Trenloe
December 18th, 2024, 23:53
My pc didn't change, my firewall, everything is as it has always been.
Unfortunately, your PC will change - and probably multiple times a week, with updates and software enforced configuration.


Ever since version 4.6 my players cant connect to my game.
That's a change right there! The first thing to do is double-check that your security software has an exception for FantasyGrounds.exe - as that will be a new executable and your security software could have changed the access settings for that.

zBeeble
December 19th, 2024, 20:32
There is no mechanism to specify that FGU bind to a specific IP. We use a network library that sets up and manages the connection; and as far as I know, attempts to find the IP with the shortest route and use that one.

Regards,
JPG

I think your library's documentation is sh*ting you, then. It's not that winblows can't have routing protocols running, it's that the standard routing statck only stores one item --- the "metric" ... which is a lowest score wins kind-of-thing. You can see the metric with "route print" in a command window. Mine currently says:

IPv4 Route Table
================================================== =========================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.221.1 192.168.221.190 15
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
172.18.112.0 255.255.240.0 On-link 172.18.112.1 5256
172.18.112.1 255.255.255.255 On-link 172.18.112.1 5256
172.18.127.255 255.255.255.255 On-link 172.18.112.1 5256
172.21.48.0 255.255.240.0 On-link 172.21.48.1 271
172.21.48.1 255.255.255.255 On-link 172.21.48.1 271
172.21.63.255 255.255.255.255 On-link 172.21.48.1 271
172.24.240.0 255.255.240.0 On-link 172.24.240.1 271
172.24.240.1 255.255.255.255 On-link 172.24.240.1 271
172.24.255.255 255.255.255.255 On-link 172.24.240.1 271
192.168.221.0 255.255.255.0 On-link 192.168.221.190 271
192.168.221.190 255.255.255.255 On-link 192.168.221.190 271
192.168.221.255 255.255.255.255 On-link 192.168.221.190 271
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 172.18.112.1 5256
224.0.0.0 240.0.0.0 On-link 192.168.221.190 271
224.0.0.0 240.0.0.0 On-link 172.24.240.1 271
224.0.0.0 240.0.0.0 On-link 172.21.48.1 271
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 172.18.112.1 5256
255.255.255.255 255.255.255.255 On-link 192.168.221.190 271
255.255.255.255 255.255.255.255 On-link 172.24.240.1 271
255.255.255.255 255.255.255.255 On-link 172.21.48.1 271
================================================== =========================

Now... the problem here is that you look up the destination. When FGU starts, it has no destination (save maybe the cloud meeting host). Anyways default route (metric 15) would match that. Anyways, you can select (on my OSs) the bound IP by using the exit interface. That's going to be weird w.r.t. the NAT performed by the virtual bridge.

I'm going to catch so much crap from the foundry enthusiats in my group tonight. Might have to abandon FGU. Sigh.

Moon Wizard
December 19th, 2024, 21:43
Force binding network interfaces has been brought up less than a handful of times in 20 years; so not something that is typical or something that we would have the resources to put a bunch of work into.

Perhaps you can try using a virtual machine for FG with full control over network interfaces; or using the ForceBindIP utility? That seems to be the recommendations I see when searching for needing to force bind an application to a specific network interface.

Regards,
JPG

Moon Wizard
December 19th, 2024, 21:45
I'm not sure what has changed in your setup; but the networking library code has been exactly the same for several years. Maybe look into what has changed on your side that caused the issue in the first place?

Force binding network interfaces has been brought up less than a handful of times in 20 years; so not something that is typical or something that we would have the resources to put a bunch of work into. Perhaps you can try using a virtual machine for FG with full control over network interfaces; or using the ForceBindIP utility? That seems to be the recommendations I see when searching for needing to force bind an application to a specific network interface.

Regards,
JPG