feat: Initial commit
This commit is contained in:
128
content/articles/2024-03-15-unvr-as-nas.md
Normal file
128
content/articles/2024-03-15-unvr-as-nas.md
Normal file
@@ -0,0 +1,128 @@
|
||||
---
|
||||
tags: programming, networking, nas, how-to
|
||||
---
|
||||
|
||||
# UNVR as NAS
|
||||
|
||||
In this post, I'm going to show how to setup a Samba server on a Ubiquity UNVR so that it can be
|
||||
used as NAS (network attached storage). Be aware that this should be done with caution and may void
|
||||
any warranty on your UNVR as we are using it for purposes beyond it's original intent. It's also
|
||||
possible that this setup will break when / if updating the UNVR software. With that said, let's jump
|
||||
in.
|
||||
|
||||
This post follows along with
|
||||
[this reddit post](https://www.reddit.com/r/Ubiquiti/comments/11o7v8l/how_to_use_the_unvr_as_a_nas_instructions/),
|
||||
with some adaptations to get it to work on the latest Unifi-OS release of `3.2.12`.
|
||||
|
||||
## Step One - Setup SSH & Login
|
||||
|
||||
In your unifi network console you need to enable the `SSH` login option and set a secure password
|
||||
for the root user to login to the UNVR.
|
||||
|
||||

|
||||
|
||||
Once that is complete you can login to your UNVR using your terminal and the IP address of your UNVR
|
||||
on your network.
|
||||
|
||||
`ssh root@192.168.1.10`
|
||||
|
||||
## Step Two - Install Samba
|
||||
|
||||
First, we'll update the package registry information.
|
||||
|
||||
`apt-get update`
|
||||
|
||||
Next, install samba.
|
||||
|
||||
`apt-get install samba`
|
||||
|
||||
## Step Three - Setup Samba
|
||||
|
||||
In order to edit the configuration we are going to need to install your terminal based text editor
|
||||
of choice (generally nano or vim), for me I will install vim.
|
||||
|
||||
`apt-get install vim`
|
||||
|
||||
Create a backup of the default configuration.
|
||||
|
||||
`cp /etc/samba/smb.conf /etc/samba/smb.conf.bak`
|
||||
|
||||
Open the configuration file to be edited.
|
||||
|
||||
`vim /etc/samba/smb.conf`
|
||||
|
||||
Just above the `Share Definitions` section of the configuration, I added some global settings to
|
||||
make the samba server act better for time machine backups.
|
||||
|
||||
```
|
||||
#======================= MacOS Client Optimizations =======================
|
||||
vfs objects = fruit streams_xattr
|
||||
fruit:metadata = stream
|
||||
fruit:model = MacSamba
|
||||
fruit:posix_rename = yes
|
||||
fruit:veto_appledouble = no
|
||||
fruit:nfs_aces = no
|
||||
fruit:wipe_intentionally_left_blank_rfork = yes
|
||||
fruit:delete_empty_adfiles = yes
|
||||
|
||||
```
|
||||
|
||||
Also because we want users we create to be able to read and write to their home directories created
|
||||
on the samba server, we need to change the option under the `[homes]` share definition to be
|
||||
`read only = no`.
|
||||
|
||||
That is our primary configuration. You can add more share definitions at the bottom of the file to
|
||||
suit your use case, there are decent examples of this in the original reddit post, linked in the
|
||||
beginning.
|
||||
|
||||
Save and exit the file.
|
||||
|
||||
`:wq`
|
||||
|
||||
## Step Four - Start Samba
|
||||
|
||||
Use the following command to start the samba server.
|
||||
|
||||
`sudo service smbd start`
|
||||
|
||||
You can check the status, by running the following command.
|
||||
|
||||
`systemctl status smbd`
|
||||
|
||||

|
||||
|
||||
Enable the samba server to start on boot.
|
||||
|
||||
`systemctl enable smbd.service`
|
||||
|
||||
## Step Five - Create Users
|
||||
|
||||
Create a user with a home directory that they can use.
|
||||
|
||||
`useradd --create-home michael`
|
||||
|
||||
Give the user a password to login to the samba server.
|
||||
|
||||
`smbpasswd michael`
|
||||
|
||||
## Step Six - Login to Samba Server from Client
|
||||
|
||||
In the `Finder` app on macOS you can type `⌘k` to connect to a server.
|
||||
|
||||
In the text field enter `smb://<USER>@<UNVR_IP>` to connect to the samba server.
|
||||
|
||||

|
||||
|
||||
You can also automatically connect to the server when you login to your client device, for this to
|
||||
work you need the credentials to be stored in your keychain (ticking the box in the step above when
|
||||
you first connect to the server).
|
||||
|
||||
This is found in `System Settings -> General -> Login Items -> Open at Login`. Click the plus button
|
||||
and select the volume you would like to mount at login.
|
||||
|
||||

|
||||
|
||||
Once you have it setup so that the server is connected on login, you can also set it up as location
|
||||
for Time Machine Backups. `System Settings -> General -> Time Machine`
|
||||
|
||||

|
||||
Reference in New Issue
Block a user