linuxmint / warpinator

Share files across the LAN
GNU General Public License v3.0
1.2k stars 81 forks source link

Goes through VPN #38

Open dbergloev opened 4 years ago

dbergloev commented 4 years ago

Hi. This may be both an issue and a feature. I have all of my mashines hooked up to a VPN. While connected to the VPN, I cannot use this program, because it starts looking through the VPN network rather than the local network. If one was using VPN for it's actual and correct purpose (To access a private network from another distination), this could be a feature. But for my purpose it just creates problems. Any way to fix this, or maybe just select which network to use?

Other than that, this works like a charm. Was even surprised to find out, that folder transfers was supported. People often leave that part out for some reason.

mtwebster commented 4 years ago

For the moment we can't connect between machines if one is on a vpn. I tried to disallow attempts to connect altogether: https://github.com/linuxmint/warpinator/commit/4cce4188cc318b4f8bc0a2cd13c423fbc4d0f569. I think part of the issue is udp is utilized for both discovery and key exchange.

Can you run warpinator --debug and show the output? It's a bit verbose but it should show outcomes to attempts for connection.

These machines should not be appearing at all in the list.

dbergloev commented 4 years ago

The machines does not show up. It tried to search for computers, but found nothing. I figured out the issue rather quickly, because you were smart enough to include the IP that the program was using, which did not match my own network. After disconnecting the VPN, everything worked great and with impressive speeds, compared to other protocols.

sallywoog commented 4 years ago

Zeroconf works on a "broadcast domain" link whilst you're connected to the VPN you are not on the same broadcast domain, correct?

dbergloev commented 4 years ago

No it uses another domain

sallywoog commented 4 years ago

No it uses another domain

That's my point, it is working as intended, it is only visible for the zeroconf machines on the SAME broadcast domain, that is how on-link broadcast domains work, when you're on a VPN you are not on the same broadcast domain as the other zeroconf machines so they remain invisible, as intended

that is not a bug, that is by design

That is why for example we need a forwarding DHCP server (DHCP also works using on-link broadcasts) across broadcast domains to forward requests to the main DHCP server on A DIFFERENT broadcast domain (for example a subnet with a DHCP server on another network range or across vlans)

Warpinator uses zeroconf (on-link broadcast domain) for machine discovery for sending files

This is also how one can control broadcast flooding, confined to a broadcast domain so your entire network is not saturated by a flood

[broadcast domain] {your LAN}

----------------- cannot broadcast across this boundary (and thus no discovery can take place) ------------------

[broadcast domain] {your vpn network}

This is by design

https://en.wikipedia.org/wiki/Broadcast_domain

Broadcasts are not routable across networks, you need to forward rebroadcast with a listener (see my DHCP fowarder example)

whatistime commented 4 years ago

I use a VPN too, and so this awesome program is useless to me. Couldn't you make a list of available network interfaces to use in the preferences so you can tell the program to only use a certain local interface?

dnet890 commented 1 year ago

it is almost 3 years and any updates on this?