Comments (13)
@pojntfx
I tried reading the source code, and I think we might be missing a required parameter when calling water
library
The PlatformSpecificParams
has a property Network
which is REQUIRED in Windows, but not in Linux.
https://github.com/songgao/water/blob/master/params_windows.go#L16-L26
Meanwhile, in wrtcip/netns_windows.go
Network
is not passed.
https://github.com/pojntfx/weron/blob/main/pkg/wrtcip/netns_windows.go#L11-L13
If you could try fixing that and build for windows, I'd be more than happy to try on my setup.
from weron.
@EvansJahja That's an interesting observation! We can't "just use" the IP here since its possible to assign multiple IPs in vpn ip
mode, and this API only supports one - but it looks like we could also just a random range here and then set the proper ones with exec
as we do now later, right?
from weron.
Hi! Sorry for taking so long to respond. Could you post the debugging output by increasing the verbosity level (--verbose=7
)? :)
from weron.
the log is like below and I still can not ping linux device
{"level":"info","addr":"wss://weron.herokuapp.com/","time":"2022-06-18T10:53:27+08:00","message":"Connecting to signaler"}
{"level":"trace","time":"2022-06-18T10:53:27+08:00","message":"Opening adapter"}
{"level":"debug","address":"wss://weron.herokuapp.com/?community=b&password=x","time":"2022-06-18T10:53:28+08:00","message":"Connected to signaler"}
{"level":"debug","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:53:28+08:00","message":"Claimed ID"}
{"level":"debug","address":"wss://weron.herokuapp.com/?community=b&password=x","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:53:28+08:00","message":"Introduced to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":97,"time":"2022-06-18T10:53:28+08:00","message":"Sending message to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:53:33+08:00","message":"Sending ping to signaler"}
{"level":"debug","id":"[\"192.168.4.3/24\"]","time":"2022-06-18T10:53:33+08:00","message":"Connected to signaler"}
{"level":"info","id":"[\"192.168.4.3/24\"]","time":"2022-06-18T10:53:33+08:00","message":"Connected to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:53:38+08:00","message":"Sending ping to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:53:43+08:00","message":"Sending ping to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:53:48+08:00","message":"Sending ping to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:53:53+08:00","message":"Sending ping to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:53:58+08:00","message":"Sending ping to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:03+08:00","message":"Sending ping to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:08+08:00","message":"Sending ping to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:13+08:00","message":"Sending ping to signaler"}
{"level":"trace","address":"1.1.1.1:443","len":69,"community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:16+08:00","message":"Received message from signaler"}
{"level":"debug","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:16+08:00","message":"Received introduction from signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","channelID":"weron/ip/id","time":"2022-06-18T10:54:16+08:00","message":"Created data channel"}
{"level":"trace","address":"1.1.1.1:443","len":"udp4 host 192.168.56.1:62564","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:16+08:00","message":"Created ICE candidate"}
{"level":"trace","address":"1.1.1.1:443","len":"udp4 host 192.168.4.3:62565","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:16+08:00","message":"Created ICE candidate"}
{"level":"trace","address":"1.1.1.1:443","community":"b","channelID":"weron/ip/primary","time":"2022-06-18T10:54:16+08:00","message":"Created data channel"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":239,"time":"2022-06-18T10:54:16+08:00","message":"Sending message to signaler"}
{"level":"trace","address":"1.1.1.1:443","len":"udp4 host 192.168.1.9:54516","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:16+08:00","message":"Created ICE candidate"}
{"level":"debug","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","client":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","time":"2022-06-18T10:54:16+08:00","message":"Sent ICE candidate to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":755,"time":"2022-06-18T10:54:16+08:00","message":"Sending message to signaler"}
{"level":"debug","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","client":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","time":"2022-06-18T10:54:16+08:00","message":"Sent offer to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":235,"time":"2022-06-18T10:54:16+08:00","message":"Sending message to signaler"}
{"level":"debug","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","client":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","time":"2022-06-18T10:54:16+08:00","message":"Sent ICE candidate to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":235,"time":"2022-06-18T10:54:16+08:00","message":"Sending message to signaler"}
{"level":"debug","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","client":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","time":"2022-06-18T10:54:16+08:00","message":"Sent ICE candidate to signaler"}
{"level":"trace","address":"1.1.1.1:443","len":"udp4 srflx 171.35.83.90:32448 related 0.0.0.0:54517","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:16+08:00","message":"Created ICE candidate"}
{"level":"debug","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","client":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","time":"2022-06-18T10:54:16+08:00","message":"Sent ICE candidate to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":275,"time":"2022-06-18T10:54:16+08:00","message":"Sending message to signaler"}
{"level":"trace","address":"1.1.1.1:443","len":211,"community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:16+08:00","message":"Received message from signaler"}
{"level":"debug","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:16+08:00","message":"Received candidate from signaler"}
{"level":"trace","address":"1.1.1.1:443","len":243,"community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:16+08:00","message":"Received message from signaler"}
{"level":"debug","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:16+08:00","message":"Received candidate from signaler"}
{"level":"trace","address":"1.1.1.1:443","len":247,"community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:16+08:00","message":"Received message from signaler"}
{"level":"debug","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:16+08:00","message":"Received candidate from signaler"}
{"level":"trace","address":"1.1.1.1:443","len":728,"community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:16+08:00","message":"Received message from signaler"}
{"level":"debug","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:16+08:00","message":"Received answer from signaler"}
{"level":"debug","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","peerID":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","time":"2022-06-18T10:54:16+08:00","message":"Added answer from signaler"}
{"level":"debug","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","peerID":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","time":"2022-06-18T10:54:16+08:00","message":"Added ICE candidate from signaler"}
{"level":"debug","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","peerID":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","time":"2022-06-18T10:54:16+08:00","message":"Added ICE candidate from signaler"}
{"level":"debug","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","peerID":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","time":"2022-06-18T10:54:16+08:00","message":"Added ICE candidate from signaler"}
{"level":"trace","address":"1.1.1.1:443","len":247,"community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:17+08:00","message":"Received message from signaler"}
{"level":"debug","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:17+08:00","message":"Received candidate from signaler"}
{"level":"debug","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","peerID":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","time":"2022-06-18T10:54:17+08:00","message":"Added ICE candidate from signaler"}
{"level":"debug","label":"weron/ip/id","peer":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","time":"2022-06-18T10:54:17+08:00","message":"Connected to channel"}
{"level":"debug","label":"weron/ip/primary","peer":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","time":"2022-06-18T10:54:17+08:00","message":"Connected to channel"}
{"level":"debug","channelID":"weron/ip/id","peerID":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","candidates":0,"timestamp":1655520807060915600,"time":"2022-06-18T10:54:17+08:00","message":"Sending greeting"}
{"level":"debug","channelID":"weron/ip/id","peerID":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","id":"[\"192.168.4.3/24\"]","time":"2022-06-18T10:54:17+08:00","message":"Sending claimed"}
{"level":"debug","channelID":"weron/ip/id","peerID":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","time":"2022-06-18T10:54:17+08:00","message":"Received greeting"}
{"level":"debug","channelID":"weron/ip/id","peerID":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","id":"[\"192.168.4.3/24\"]","time":"2022-06-18T10:54:17+08:00","message":"Sending kick"}
{"level":"debug","channelID":"weron/ip/id","peerID":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","id":"","time":"2022-06-18T10:54:17+08:00","message":"Received kick"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:18+08:00","message":"Sending ping to signaler"}
{"level":"debug","channelID":"weron/ip/id","peerID":"01495a65-4ff5-4ad6-ae77-f76cfd1022c8","id":"[\"192.168.4.1/24\"]","time":"2022-06-18T10:54:20+08:00","message":"Received kick"}
{"level":"debug","channelID":"weron/ip/id","peerID":"[\"192.168.4.1/24\"]","id":"[\"192.168.4.1/24\"]","time":"2022-06-18T10:54:20+08:00","message":"Connected to peer"}
{"level":"debug","channelID":"weron/ip/primary","peerID":"[\"192.168.4.1/24\"]","time":"2022-06-18T10:54:20+08:00","message":"Connected to peer"}
{"level":"info","id":"[\"192.168.4.1/24\"]","time":"2022-06-18T10:54:20+08:00","message":"Connected to peer"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:23+08:00","message":"Sending ping to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:28+08:00","message":"Sending ping to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:33+08:00","message":"Sending ping to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:38+08:00","message":"Sending ping to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:43+08:00","message":"Sending ping to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:48+08:00","message":"Sending ping to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:53+08:00","message":"Sending ping to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","time":"2022-06-18T10:54:58+08:00","message":"Sending ping to signaler"}
{"level":"debug","time":"2022-06-18T10:54:59+08:00","message":"Gracefully shutting down"}
{"level":"trace","time":"2022-06-18T10:54:59+08:00","message":"Closing adapter"}
{"level":"trace","time":"2022-06-18T10:54:59+08:00","message":"Closing adapter"}
{"level":"trace","time":"2022-06-18T10:54:59+08:00","message":"Closing adapter"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":28,"time":"2022-06-18T10:54:59+08:00","message":"Sending message to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":28,"time":"2022-06-18T10:54:59+08:00","message":"Sending message to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":28,"time":"2022-06-18T10:54:59+08:00","message":"Sending message to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":28,"time":"2022-06-18T10:54:59+08:00","message":"Sending message to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":28,"time":"2022-06-18T10:54:59+08:00","message":"Sending message to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":28,"time":"2022-06-18T10:54:59+08:00","message":"Sending message to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":28,"time":"2022-06-18T10:54:59+08:00","message":"Sending message to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":28,"time":"2022-06-18T10:54:59+08:00","message":"Sending message to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":28,"time":"2022-06-18T10:54:59+08:00","message":"Sending message to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":28,"time":"2022-06-18T10:54:59+08:00","message":"Sending message to signaler"}
{"level":"trace","address":"1.1.1.1:443","community":"b","id":"65cfa023-d229-44d2-8c61-1fe20a4cdab2","len":28,"time":"2022-06-18T10:54:59+08:00","message":"Sending message to signaler"}
{"level":"trace","error":"context canceled","time":"2022-06-18T10:54:59+08:00","message":"Context cancelled"}
from weron.
I'm exactly the same case. Peers are connected judged by logging; ping fails with timeout.
from weron.
Hmm, I had multiple reports of this issue now. I can't reproduce it locally. Have you tried pinging over IPv6?
from weron.
Hi, @pojntfx can reproduce issue with Windows <-> Windows
ping from weron works, but ping from command line doesn't work. Tried ipv4 and ipv6.
There's not much info even on verbose 7.
However, if I use vpn ethernet
and manually assign the IP, it works neatly. I can ping and I can connect via TCP.
Therefore, I suspect the issue is only when using vpn ip
from weron.
Pinned the issue in the meantime.
from weron.
@pojntfx I think you're right. In any case, the purpose of the Network
is sort of "hacky", it's only there because Windows uses OpenVPN's wintap adapter that needs to know the subnet and network address in order to be able to respond to ARP. But putting the first IP address would probably be better (for windows users) rather than not having this functionality...
from weron.
Yeah, that's a good point. I was a bit tight on time recently because of academia, but I'll take a look at this ASAP. I luckily still have access to a Windows machine rn, might as well use it ^^
from weron.
This required quite an elaborate fix, but I just tested it on a setup where one Linux (Fedora 38) client and one Windows 11 client were able to communicate with each other with the L3 VPN after this commit: e1ed0c4. Basically, this does what @EvansJahja pointed out, which required reimplementing the way that IP addresses are assigned; I used this to verify:
Fedora 38:
$ weron vpn ip --community mycommunity --password mypassword --key mykey --ips 192.0.2.1/24
Windows 11:
PS> weron.exe vpn ip --community mycommunity --password mypassword --key mykey --ips 192.0.2.1/24
from weron.
@EvansJahja Would you mind confirming that this fix works on your setup, too? You can download the fixed binary from here: https://github.com/pojntfx/weron/releases/tag/unstable
from weron.
This should be fixed now - weron v0.2.6 now has fully Windows support for both Layer 2 and 3 🥳
Feel free to reopen this issue if it reoccurs ^^
from weron.
Related Issues (19)
- Love it! Thank you. HOT 1
- Crypto Go :we are a research group to help developers build secure applications.
- I hope weron can support network tunnels over WebRTC HOT 1
- IMPORTANT: Update to v0.2.4 for new hosted signaling server URL HOT 1
- Can you give an example of communication between the two parties based on the negotiated token? HOT 1
- Vpn HOT 4
- Designate a device in layer 3 mesh as "exit node"
- Nodes do not reconnect automatically after connection to signaling server is lost HOT 2
- postgres expects ssl HOT 1
- Support for connecting to signaling server with HTTP_PROXY HOT 4
- Use unordered datachannel in WebRTC HOT 3
- IP peer connections do not establish HOT 3
- [Feature]: Running rootless, port sharing
- chat works, throughput or latency does not HOT 5
- How would I go about to implement this in my own programs? HOT 3
- Potential issues in Russia HOT 3
- readme note about golang version
- Android / iOS mobile clients HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from weron.