Networking in general can be very frustrating for the uninitiated. Personally, I have more networking problems with Windows machines than Linux. In Windows networking can be very easy, or excruciating, depending on whether or not you are doing things the way Microsoft intended or not. Generally networking in Linux works better, but you need to know how to configure it, or how to look up how to do it.
We store all of our Machine's g-code files on a NAS share (more mumbo jumbo I know get over it), and access them on the Linuxcnc machines by mounting that share with CIFS or Samba. Usually I use a command line in the FSTAB file (a configuration file on the Linuxcnc machine) that permanently mounts the network share as a directory on the Linuxcnc machine. Instructions for doing this are easily googled. I usually have to look them up anytime I set up a new machine.