kanocz / lcvpn Goto Github PK
View Code? Open in Web Editor NEWDecentralized VPN in golang
License: MIT License
Decentralized VPN in golang
License: MIT License
hi.
after i ran "go get -u -v github.com/kanocz/lcvpn" under $GOPATH,
it shows:
...
src/github.com/kanocz/lcvpn/iface.go:26:16: undefined: water.NewTUN
src/github.com/kanocz/lcvpn/iface.go:35:15: undefined: tenus.NewLinkFrom
src/github.com/kanocz/lcvpn/iface.go:89:11: undefined: "github.com/kanocz/lcvpn/netlink".DelRoute
yudeMacBook-Air:gopath brite$
how to fix the errors?
Ciao Kanocz,
you thought about porting it to freebsd/macos ?
Thanks.
Hi,
I have a scene that i need solve with VPN. My home raspberry need connect to my VPN on amazon and my customers need connect their pc/ios/android devices to that same VPN on amazon to access to raspberry.
How i can do it with this tool?
Thanks.
Hey,
can two servers connect to each other, if server 1 can contact server 2 but not the other way around due to firewall restrictions / missing port forwarding?
As Server 1 connects to Server 2, Server 2 should not need to connect to Server 1 anymore right (even tho it can't)?
I tried to set it up but i failed. No connection established between both hosts.
Hello. This is me again =)
My lcvpn goes down, when VM containers trying to connect through it.
Thi is log:
May 20 18:49:25 phy1 lcvpn[32531]: panic: runtime error: slice bounds out of range
May 20 18:49:25 phy1 lcvpn[32531]: goroutine 21 [running]:
May 20 18:49:25 phy1 lcvpn[32531]: panic(0x788de0, 0xc82000e050)
May 20 18:49:25 phy1 lcvpn[32531]: #011/usr/local/go/src/runtime/panic.go:464 +0x3e6
May 20 18:49:25 phy1 lcvpn[32531]: main.sndrThread(0xc82001e050, 0xc8200519e0)
May 20 18:49:25 phy1 lcvpn[32531]: #011/home/golang/src/github.com/kanocz/lcvpn/main.go:180 +0x192e
May 20 18:49:25 phy1 lcvpn[32531]: created by main.main
May 20 18:49:25 phy1 lcvpn[32531]: #011/home/golang/src/github.com/kanocz/lcvpn/main.go:324 +0x1384
May 20 18:49:25 phy1 systemd[1]: lcvpn.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
May 20 18:49:25 phy1 systemd[1]: lcvpn.service: Unit entered failed state.
May 20 18:49:25 phy1 systemd[1]: lcvpn.service: Failed with result 'exit-code'.
iperf on direct connection got 900mbps (1ms)
with lcvpn 500mbps
iperf over internet 600mbps stables between 2 servers(50ms)
with lcvpn 30mbps
Why this diference?
Hi may I ask if the vpn supports VMs within same subnet but across different locations, as shown below:
can I only install the VPN on the 2 servers itself then route packet for all 4 VMs in the 2 servers?
[main]
port = 23456
broadcast = 192.168.2.255
netcidr = 24
recvThreads = 4
sendThreads = 4
[remote "prague"]
ExtIP = 10.0.0.2
LocIP = 192.168.2.2
route = 192.168.2.0/24
[remote "berlin"]
ExtIP = 10.0.0.3
LocIP = 192.168.2.1
route = 192.168.2.0/24
It would be grate to use not only UDP, but TCP/ip protocol.
Hello.
I've got error: "Unable to get UDP socket: unknown port udp/"
Machine: virtualbox
ip: 192.168.1.50
conf:
[main]
port = 1234
aeskey = A3E8DD8E33C0887C6A86EF47AF6B008C00508B00FA18666658EBB2805D2BFF48
broadcast = 10.0.0.255
netcidr = 24
recvThreads = 4
sendThreads = 4
[remote "phy1.dc1"]
ExtIP = 192.168.1.50
LocIP = 10.0.0.1
Start:
/home/golang/bin/lcvpn -config /etc/lcvpn.conf -local phy1.dc1
Error:
2016/04/29 14:29:08 Interface allocated: tun0
2016/04/29 14:29:08 Interface parameters configured
2016/04/29 14:29:08 Unable to get UDP socket: unknown port udp/
It appears after update host kernel to 4.4.0-21-generic.
I've tried to change port to another - same errror.
Any ideas how to fix it?
The lcvpn project looks quite interesting, thank you. I would like experiment with it.
Would you consider changing the license to MIT or BSD (like Go)?
I notice you just write ip packets into the tun device after decryption, is that data will go to the LAN?
in my test case code, the icmp request packet disappered after writtrn to tun
Hello.
I think lcvpn should have -version key.
This feature will help to deploy lcvpn with ansible.
From reading the docs, its not clear to me that its decentralized.
By decentralized, did you mean it supports more than one server to connect to?
It will be awesome if you use stun server tu bypass NAT's
and other awesome option will be to support dynamicIP nodes.
in Europe lot of ISP provide a dynamicIP to their clients.
This is not a problem if you connect to a static public IP node like cloud providers but if we want real P2P Vpn we need to conect to all nodes, lot of these nodes can change their public IP after 1day-week so lcvpn could be resilent to that, something like check every X seconds if the ip is the same if not publish the ip to other nodes using a K/V(there are some public services on internet)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.