My last post about the Synology DS718+ I purchased talked about unboxing it and getting the basics of the storage device running. In this post, I’d like to talk about adding more functionality to the device that goes above and beyond being just a drive I can access from my computers.
Functionality to Install
More specifically I want make the storage addressable by our mobile devices so that we can see files and photos in an organized manner and so that we can upload photos in a sensible manner. I also want to investigate the possibility of using it as a VPN.
- Install the Drive app
- Install the Photo Station app
- Research the VPN Server app
While I mentioned in my last post that I’d like to install the media server the above uses are the most important for the moment. Given that, I’ll leave the media server out for the moment since the post is getting pretty long even when only covering installation and very basic use of these items.
Given that I would like to be able to work on this setup from my local coffee shop or brewery the VPN server is going to be the first thing that I setup from my list. This will allow me to continue on setting up the other features remotely if so desired. As such, here we go:
Searching the package center shows me the following app that is maintained by Synology:
The install of the app goes quickly and, upon opening, the first screen I see is:
I will note that the help in the web UI of the DiskStation does not show anything for the VPN Server app. As always Google is our friend and leads us to the Synology website where there is a guide for setting up a VPN server.
The VPN options supported are PPTP, OpenVPN, and L2TP/IPSEC as seen in the picture. I’ve setup an OpenVPN server on a machine I have here in my home before and, after a quick google search, I found that OpenVPN is recommended above the others fairly often. Given that, I’ll use OpenVPN on this server.
After setting up my desired settings according to the guide, I clicked apply and, in another instance of good design, was reminded to make sure that my router was forwarding the correct port to the device. Because this is handled differently on each router I’d recommend searching for how to do it on your particular router. There happened to be a “port forwarding” section of the advanced settings of my router and, from there, it was fairly painless to get the correct address forwarded to the correct IP address. On a side note, I’d recommend assigning your DiskStation a static IP address so that you only have to setup port forwarding once.
Once the settings have been applied I was able to export the “configuration.” This gave me a zip file with the appropriate configuration files to modify and a readme file that had instructions broken down by Operating System (Windows, Mac, and Linux). It doesn’t have instructions for install on iOS (that is, iPhones and iPads). I will put a section below on iOS devices below.
There are a few things that I felt the need to setup a few of which required editing the configuration file to accomplish (the configuration file is the file with the OVPN extension). If there are any security folk below that have recommendations for better settings for me, PLEASE PLEASE PLEASE let me know.
I got a warning from Tunnelblick that I wasn’t using very secure encryption after leaving it at the default. I changed it on the site and edited the DiskStation then edited the configuration file. I landed on AES-256-CBC for the encryption mostly because I recognized it and wasn’t certain of the other options.
After changing the encryption, I changed the authentication method to SHA256 and updated the configuration file.
Redirecting traffic through the VPN
Just because you’ve got a VPN setup doesn’t mean all of your web browsing automatically goes through the encrypted VPN tunnel. My understanding is that, with the defaults setup by the DiskStation, that only the traffic accessing things inside of your house go through the VPN. To get this to work requires editing of the config file. That being said, there is a section of the configuration file that will handle this:
Uncomment the redirect-gateway command and set the dhcp-option DNS to your normal network router since it handles the DNS for your local network.
After these items were edited in the configuration file, my VPN worked well. Now on to the side tasks.
Side Task: Installing on iOS
In order to install on iOS, download the OpenVPN Connect app from the app store. After this is installed you’ll need to get the OVPN configuration file to your device. To do this connect your phone to your computer and start iTunes. Select your device so that you can add the file and sync:
Once your device loads, click on File Sharing, then click Add and choose the configuration file. Ignore the ca.crt file on my screen as it shouldn’t be necessary:
Go ahead and sync at this point and, once done, open the OpenVPN connect app. It should tell you that there is a new configuration available. Click on the green plus sign and, once it’s added, try to connect.
Side Task: Setting Up Dynamic DNS For My Domain
Quite a while ago, I registered a domain for my family through NameCheap at the recommendation of this blog from OutColdMan that has a walk through of setting up VPN and file sharing on an Ubuntu linux server. The purpose of Dynamic DNS, in this case, is to update DNS records with your current IP address from your internet provider granted that you don’t have a static IP. This service should update the DNS records on a regular basis so that, if your external IP address ever changes, you’ll still be able to get to your VPN / DiskStation.
Given that I already have this domain and had Dynamic DNS setup on my Ubuntu server, I thought it would be a good idea to transfer this setup over to the Synology device since it is replacing my Ubuntu server.
The screen to set this up is in the External Access section of the control panel:
Clicking Add will bring up the dialog box that allows you to add a Dynamic DNS provider that needs to be updated. However, upon looking through the list of service providers, I did not notice NameCheap:
After a quick search, I found that clicking the Customize button from the DDNS page above will allow you to enter a custom provider. NameCheap gives the information here needed to fill out the following dialog to create a custom service provider:
Note that the variables they list come from the DDNS add dialog that you will be filling out later. It should be possible to use those variables in place of the actual values in the URL.
After filling that out with the appropriate values an entry is created for me. I will note that the DiskStation responds with an error message saying that it couldn’t connect to the NameCheap server. I’ve found that this is a known issue even with the most recent version of the DiskStation OS as of the time I wrote this post (DSM version 6.2). Some of the comments from other folks that use NameCheap say that their DNS record gets updated even if the DiskStation reports an error. When I’ve got a change in external IP from my internet provider I will be happy to update this with a comment stating whether my DNS record was updated successfully. I would presume that, if you use Synology’s DNS service, you wouldn’t have this problem.
The Drive App
My main goal with the Drive app is to use Synology’s iOS Drive app to access documents from my family’s iPhones. This task was thankfully easy and didn’t require extensive research to get going on my DiskStation. I found and installed the Drive app from the Package Center:
Once installed, I opened it, went to the Team Folder section and enabled the folder I wanted accessible from my devices:
After this was setup, the overview shows that it is running and healthy:
Once that was setup, I downloaded the Synology Drive iOS app. Upon starting the app, I was presented with a simple screen to login to my DiskStation’s Drive app:
After logging in, I was presented with the folder that I had shared:
Clicking on the options icon on the top left shows the current settings:
Clicking on the gear wheel at the top of this screen allows for changing of the server you’re logged into in addition to other settings.
Overall, given that my main goal was to make my file share accessible from my iOS devices, Drive was an easy option to setup with the default settings. It looks like there are a fair amount of options that would be useful in an office setting such as versioning, logging, and per user settings.
Photo Station and DS Photo
My wife sells Lula Roe (shameless plug) and takes a lot of pictures with her phone. One of the sore points she’s had is getting those photos off of her phone since they take up a lot of space. Additionally, sorting and posting the photos becomes much easier if they’re accessible from a computer. While the Drive app allows for copying photos from an iPhone over to the DiskStation, I thought that it would be nice to try an interface that is tailored specifically to photos to see if it makes things easier/better/prettier for my wife.
Upon searching the Package Center for the application I noticed that the applications don’t have exactly the same name. On the DiskStation, it is Photo Station and on the iPhone it is DS Photo. Here is Photo Station in the Package Center of the DiskStation:
It turns out that Photo Station has a dependency on PHP and the Package Manager asks to install it:
After the installation finished and I opened the app I was taken to another web page hosted by the DiskStation (which makes the PHP dependency make sense):
Photo Station looks to be based around albums of which I’ve not created any yet. There are lots of settings available for an admin user:
On a side note, I tried logging in as a non-administrative user and the only settings available to them are general settings about their user (name, password, email, etc) and none of them were update-able. This is fine by me. The non-administrative user, however, isn’t able to create albums by default. To enable this go to settings, click on “Photo Station and General Settings”, click on the user, and click Edit:
Creating a album is as simple as clicking “Add Album” and giving it a name and description. From there, adding photos can be done by clicking the “Add” dropdown and selecting “Upload Files.” The dialog that comes up gives the choice of uploading files from the DiskStation. In my case, this is nice because the photos are already there in other folders.
Photo Station allows users to tag their photos then search based on their tags. This is a nice feature and the searching works quickly once photos are tagged. Getting ALL of the photos tagged is gigantic task if your photo library contains more than a few photos. Additionally, if you’re already using another photo management solution, there may be some problems getting whatever form of “tagging” the other system uses into the format that Photo Station uses. That is the topic for a different post and caveat emptor.
I realize that I’ve not given that much of a description of the actual use of Photo Station. This is because I’ve just tried to document the process of setting it up here. After my wife and I have had a period of time to use it I’ll be happy to write up a post on it’s usage if you leave a comment letting me know that you’d like to see it.
DS Photo iOS App
I’ll give a tour of the DS Photo app for iOS devices though, like my tour of the Photo Station web app, it will be short because it’s got a lot of options and my thought is that my wife will be the one making the most use of it. If this is something you all want to see please let me know and I’ll be happy to review it once we’ve had a chance to really figure out how we’re managing our photos with this app.
The initial screen of the DS Photo app is a login screen much like that of the Drive app. Give it the location or name of your DiskStation and the user name and password you’d like to use and it will log you in. The initial screen that is shown is simply the albums:
Clicking on an album opens it and allows you to see the photos and videos there. Clicking on the three dots icon in the upper right corner of the app brings up the contextual menu. For albums, that looks like this:
One nice feature on an iPhone is the ability to upload from either the camera or your photo library as seen here:
Lastly there is a veritable plethora of options as I’ve noticed in other apps with the DiskStation. One thing I’ll note is that the uploads are queued as “tasks” when uploading several pictures at a time from the photo library on your phone. Clicking the “Tasks” link shows the current tasks and their state of completion.
In conclusion for this DS Photo and Photo Station: So far so good!
BONUS: A Small Issue With Addressing the Device By Name
This section is partly responsible for the time it has taken to write this post and for dropping the setup of the media server from this post. It is a small problem that I got distracted by and, given that I did, I thought I’d tell you about it. I spent some time trying to connect to the device in different ways and ran into a problem addressing it by name. In some cases I’ve found that I can use the name of the server and in some cases I can’t. This is a frustrating problem!
The cases where I can connect by name:
- Finder on MacOS finds the server by name correctly
- Connecting to the device’s website in Chrome on Windows
- Ping on Windows
- Mapping a drive on Windows by IP Address
The cases where I cannot connect by name are:
- Connecting to the device’s website in Safari on MacOS
- Ping on MacOS. (Pinging by name appending “.local” to the name succeeds)
- Mapping a drive on Windows by server name
Note: Appending “.local” to the name causes everything to work on MacOS. This, however, feels like a hack because I would like to be able to address the server by name across all of my devices no matter the brand / OS.
This led me to the following options:
- Running a DNS Server on the Synology DS718+
- Using Apple’s Bonjour) on Windows to address devices by name with with “.local” appended.
Running DNS Server
I looked up the help section for the DNS Server app on the Synology app. After briefly reading through the General section of the help, it was clear to me that the app is intended to act as a DNS server on the internet and not as a local DNS server. Given that I don’t want to do that, I decided NOT to go this route just in case I mis-configured something and made my device a target on the internet (more than it would already be anyway).
Using Bonjour on Windows
After searching for a bit, I found that Bonjour is installed with iTunes (awesome!). The name of the executable is mDNSresponder.exe. Given that name I tried pinging my Windows machine with .local from my MacBook and, sure enough my Windows machine responded to the ping.
After that success I had hoped to be able to use Bonjour to access other devices on the network by attaching “.local” to their name. I did not have any luck with this and, after a while, I realized that I had gone WAY down the rabbit hole on Google. Since I’m able to connect to everything on all of my machines this issue is, while annoying, not important enough to justify more time on.
The DiskStation is a device that has been relatively easy to setup and has the potential to solve a lot of problems for my wife and I. It is actively providing:
- Lots of storage with mirrored drives.
- A VPN so that I can connect to it from outside of the house
- The Drive app for easy access to the files from our iOS devices
- The Photo Station app for photo management.
I anticipate that the storage and photo management aspects of this device will be the most used by us. I’m excited to check this device out further and see what I can do to make it better for us. The areas that I will continue to work on are getting the deciding how best to use the photo management services of Photo Station, securing the DiskStation (including HTTPS and whatever other areas that I find are necessary), and getting the media server up and running.
Because this is the only device that I’ve used so far I cannot personally compare it to the other options out there but I would certainly recommend it to others. Please, as always, leave me a note if you have questions about my experience with the product or recommendations for security and functionality.