mirror of
https://github.com/yggdrasil-network/yggdrasil-go.git
synced 2024-11-27 12:05:23 +00:00
Merge branch 'master' of https://github.com/Arceliar/yggdrasil-go
This commit is contained in:
commit
0d156a6335
27
README.md
27
README.md
@ -17,7 +17,8 @@ You're encouraged to play with it, but I strongly advise against using it for an
|
|||||||
2. Clone this repository.
|
2. Clone this repository.
|
||||||
2. `./build`
|
2. `./build`
|
||||||
|
|
||||||
Note that you can cross compile by specifying the `$GOOS` and `$GOARCH` environment variables.
|
Note that you can cross-compile for other platforms and architectures by specifying the `$GOOS` and `$GOARCH` environment variables, for example, `GOOS=windows ./build` or `GOOS=linux GOARCH=mipsle ./build`.
|
||||||
|
|
||||||
The build script sets its own `$GOPATH`, so the build environment is self-contained.
|
The build script sets its own `$GOPATH`, so the build environment is self-contained.
|
||||||
|
|
||||||
## Running
|
## Running
|
||||||
@ -41,14 +42,26 @@ In practice, you probably want to run this instead:
|
|||||||
This keeps a persistent set of keys (and by extension, IP address) and gives you the option of editing the configuration file.
|
This keeps a persistent set of keys (and by extension, IP address) and gives you the option of editing the configuration file.
|
||||||
If you want to use it as an overlay network on top of e.g. the internet, then you can do so by adding the remote devices domain/address and port (as a string, e.g. `"1.2.3.4:5678"`) to the list of `Peers` in the configuration file.
|
If you want to use it as an overlay network on top of e.g. the internet, then you can do so by adding the remote devices domain/address and port (as a string, e.g. `"1.2.3.4:5678"`) to the list of `Peers` in the configuration file.
|
||||||
|
|
||||||
A [Vyatta-based](https://github.com/neilalexander/vyatta-yggdrasil) router configuration is also available.
|
### Platforms
|
||||||
|
|
||||||
The code should work out-of-the-box on most Linux distributions (with `iproute2` installed) and macOS.
|
#### Linux
|
||||||
It should also work on recent versions of Windows, but it depends on the OpenVPN NDIS 5 TAP driver (tested with `tap-windows-9.9.2_3`, not that there issues when using NDIS 6 driver as of `tap-windows-9.21.2`).
|
|
||||||
Be aware that connectivity issues can occur on Windows if multiple IPv6 addresses from the `fd00::/8` prefix are assigned to the TAP interface.
|
|
||||||
If this happens, then you may need to manually remove the old/unused addresses from the interface (though the code has a workaround in place to do this automatically in some cases).
|
|
||||||
|
|
||||||
You can also advertise a route on your LAN, enabling other devices to access the `fd00::/8` network, as shown in the optional example below.
|
- Should work out of the box on most Linux distributions with `iproute2` installed.
|
||||||
|
|
||||||
|
#### macOS
|
||||||
|
|
||||||
|
- Tested and working out of the box on macOS 10.13 High Sierra.
|
||||||
|
- May work in theory on any macOS version with `utun` support (which was added in macOS 10.7 Lion), although this is untested at present.
|
||||||
|
|
||||||
|
#### Windows
|
||||||
|
|
||||||
|
- Tested and working on Windows 7 and Windows 10, and should work on any recent versions of Windows, but it depends on the [OpenVPN TAP driver](https://openvpn.net/index.php/open-source/downloads.html) being installed first.
|
||||||
|
- Has been proven to work with both the [NDIS 5](https://swupdate.openvpn.org/community/releases/tap-windows-9.9.2_3.exe) (`tap-windows-9.9.2_3`) driver and the [NDIS 6](https://swupdate.openvpn.org/community/releases/tap-windows-9.21.2.exe) (`tap-windows-9.21.2`) driver, however there are substantial performance issues with the NDIS 6 driver therefore it is recommended to use the NDIS 5 driver instead.
|
||||||
|
- Be aware that connectivity issues can occur on Windows if multiple IPv6 addresses from the `fd00::/8` prefix are assigned to the TAP interface. If this happens, then you may need to manually remove the old/unused addresses from the interface (though the code has a workaround in place to do this automatically in some cases).
|
||||||
|
|
||||||
|
#### EdgeRouter
|
||||||
|
|
||||||
|
- Tested and working on the EdgeRouter X, using the [vyatta-yggdrasil](https://github.com/neilalexander/vyatta-yggdrasil) wrapper package.
|
||||||
|
|
||||||
## Optional: advertise a prefix locally
|
## Optional: advertise a prefix locally
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user