Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PULL REQUEST] Support for BIN install in Synology #1977

Closed
zzecool opened this issue May 13, 2024 · 25 comments
Closed

[PULL REQUEST] Support for BIN install in Synology #1977

zzecool opened this issue May 13, 2024 · 25 comments
Labels
bug Something isn't working

Comments

@zzecool
Copy link

zzecool commented May 13, 2024

As im noob in Git i will throw the install script modification for Synology NAS.

I just updated my BIN install in my NAS using the modded script

image

You better check my code here and refine it if needed.
install.zip

Forgive my ignorance :D
At least it working :P

@bcmmbaga
Copy link
Contributor

Hello @zzecool,

Thank you for bringing this to our attention. To better understand the current behavior when installing on Synology NAS, could you please execute the following command:

curl -fsSL https://pkgs.netbird.io/install.sh | USE_BIN_INSTALL=true sh

Once you've tried it, kindly share the results with us. Your feedback will help us ensure the installer works as expected.

@zzecool
Copy link
Author

zzecool commented May 14, 2024

Hi @bcmmbaga,

Here you are :

$ curl -fsSL https://pkgs.netbird.io/install.sh | USE_BIN_INSTALL=true sh
sh: line 352: /etc/os-release: No such file or directory

So you need to detect synology with other tricks.

@bcmmbaga
Copy link
Contributor

Thanks, I will use your changes to make the installer work and then let you test it again

@bcmmbaga bcmmbaga added bug Something isn't working and removed triage-needed labels May 14, 2024
@bcmmbaga
Copy link
Contributor

bcmmbaga commented May 14, 2024

@zzecool, could you please uninstall the currently installed NetBird and test the installation again using the following command:

curl -fsSL https://raw.githubusercontent.com/netbirdio/netbird/fix-synology-installer/release_files/install.sh | sh

Additionally, please test updating the installed NetBird with the following command:

curl -fsSL https://raw.githubusercontent.com/netbirdio/netbird/fix-synology-installer/release_files/install.sh | sh -s -- --update

@zzecool
Copy link
Author

zzecool commented May 14, 2024

@bcmmbaga

$ curl -fsSL https://github.com/netbirdio/netbird/blob/fix-synology-installer/release_files/install.sh | sh
sh: line 7: syntax error near unexpected token `newline'
sh: line 7: `<!DOCTYPE html>'
curl: (23) Failure writing output to destination

@zzecool
Copy link
Author

zzecool commented May 14, 2024

If i download and run :

$ ./install_synology.sh 
Installing netbird from https://github.com/netbirdio/netbird/releases/download/v0.27.6/netbird_0.27.6_linux_amd64.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 10.3M  100 10.3M    0     0  7000k      0  0:00:01  0:00:01 --:--:-- 11.5M
LICENSE
tar: LICENSE: Cannot open: File exists
README.md
tar: README.md: Cannot open: File exists
netbird
tar: Exiting with failure status due to previous errors

Seem the script leaves leftovers at tmp ?

@bcmmbaga
Copy link
Contributor

bcmmbaga commented May 14, 2024

@bcmmbaga

$ curl -fsSL https://github.com/netbirdio/netbird/blob/fix-synology-installer/release_files/install.sh | sh
sh: line 7: syntax error near unexpected token `newline'
sh: line 7: `<!DOCTYPE html>'
curl: (23) Failure writing output to destination

You test again with updated URL's

curl -fsSL https://raw.githubusercontent.com/netbirdio/netbird/fix-synology-installer/release_files/install.sh | sh
curl -fsSL https://raw.githubusercontent.com/netbirdio/netbird/fix-synology-installer/release_files/install.sh | sh -s -- --update

@zzecool
Copy link
Author

zzecool commented May 14, 2024

After Manuualy clearing the /tmp

$ curl -fsSL https://raw.githubusercontent.com/netbirdio/netbird/fix-synology-installer/release_files/install.sh | sh
Installing netbird from https://github.com/netbirdio/netbird/releases/download/v0.27.6/netbird_0.27.6_linux_amd64.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 10.3M  100 10.3M    0     0  7339k      0  0:00:01  0:00:01 --:--:-- 26.2M
LICENSE
README.md
netbird
Installing netbird-ui from https://github.com/netbirdio/netbird/releases/download/v0.27.6/netbird-ui-linux_0.27.6_linux_amd64.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 9951k  100 9951k    0     0  7161k      0  0:00:01  0:00:01 --:--:-- 23.9M
LICENSE
README.md
netbird-ui
Netbird service has been installed
Netbird service has been started
Installation has been finished. To connect, you need to run NetBird by executing the following command:

netbird up
$ curl -fsSL https://raw.githubusercontent.com/netbirdio/netbird/fix-synology-installer/release_files/install.sh | sh -s -- --update
Installed NetBird version (0.27.6) is up-to-date

What does the netbird-ui do actually ? I think for Synology we must skip UI

@bcmmbaga
Copy link
Contributor

I have pushed the changes to complete skip installing UI on Synalogy

@pcfriek1987
Copy link

Can I use zzecool's latest command if I want to test it on mine?

@bcmmbaga
Copy link
Contributor

Can I use zzecool's latest command if I want to test it on mine?

Yes, you can use the commands

@potatoru
Copy link

Tested with DSM 7

curl -fsSL https://raw.githubusercontent.com/netbirdio/netbird/fix-synology-installer/release_files/install.sh | sh


LICENSE
README.md
netbird
Netbird service has been installed
Netbird service has been started
Installation has been finished. To connect, you need to run NetBird by executing the following command:

netbird up

I was successfully added my nas to netbird console, but I got error trying do netbird up

Error: unable to get daemon status: rpc error: code = Unknown desc = new wg interface: couldn't check or load tun module

Found an old script in my snippets

#!/bin/sh

# Create the necessary file structure for /dev/net/tun
if ( [ ! -c /dev/net/tun ] ); then
  if ( [ ! -d /dev/net ] ); then
    mkdir -m 755 /dev/net
  fi
  mknod /dev/net/tun c 10 200
  chmod 0755 /dev/net/tun
fi

# Load the tun module if not already loaded
if ( !(lsmod | grep -q "^tun\s") ); then
  insmod /lib/modules/tun.ko
fi

run it and now it works

@pcfriek1987
Copy link

pcfriek1987 commented May 15, 2024

Isn't that the code tailscale also uses? The below script that is.

@pcfriek1987
Copy link

I see it was just merged in main, can we use the main installer now as well then?

@zzecool
Copy link
Author

zzecool commented May 15, 2024

I see it was just merged in main, can we use the main installer now as well then?

Nope its not released yet

image

install.sh is not updated.

@mlsmaycon
Copy link
Collaborator

It will be in our next release, for now you can use the https://raw.githubusercontent.com/netbirdio/netbird/main/release_files/install.sh URL.

@pcfriek1987
Copy link

Cool, I was just about to comment how to install it now since the fix branch was deleted :) let's see how it holds up to Tailscale, as i do not really like how they do acl's and that selfhosting is more difficult :)

@zzecool
Copy link
Author

zzecool commented May 15, 2024

Thats only the first step though for Synology as it will only provide you access on the machine.

If you want to use it as an Exit Node - Or enable Routes to access the local network, then the client needs more work.

Please join me on the other issues that im describing.

Synlogy Exit node + Routes : #1976

Synology Internal Netbird Hostname DNS resolve : #1983

Fingers crossed for full Synology support.

@pcfriek1987
Copy link

I can do so, currently still fighting with the admin panel for my free account, i got peers and documentation and thats it :)

@mlsmaycon
Copy link
Collaborator

@pcfriek1987 if you are still facing the issue, please send us an email at support@netbird.io with your user email.

@mlsmaycon
Copy link
Collaborator

closing this one as completed.

@Stunt0265
Copy link

I have it successfully install, but what's the correct update method with newer versions?

@zzecool
Copy link
Author

zzecool commented Jul 23, 2024

I have it successfully install, but what's the correct update method with newer versions?

add the --update switch

@Stunt0265
Copy link

Stunt0265 commented Jul 23, 2024

Thanks. That worked, but now getting this error:

Management: Disconnected, reason: new wg interface: couldn't check or load tun module
Signal: Disconnected, reason: new wg interface: couldn't check or load tun module

*update - testing another Synology NAS, and after a reboot - as in the original NAS, I'm seeing the same error:

Error: status failed: new wg interface: couldn't check or load tun module

@Stunt0265
Copy link

I added the script referenced above as a startup script, and now things are working.

#!/bin/sh

Create the necessary file structure for /dev/net/tun

if ( [ ! -c /dev/net/tun ] ); then
if ( [ ! -d /dev/net ] ); then
mkdir -m 755 /dev/net
fi
mknod /dev/net/tun c 10 200
chmod 0755 /dev/net/tun
fi

Load the tun module if not already loaded

if ( !(lsmod | grep -q "^tun\s") ); then
insmod /lib/modules/tun.ko
fi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants