synology nas setup

resources

Synology NAS Setup & Configuration Guide (2024) | WunderTech Marius Hosting – Trustworthy expert guide to your Synology NAS.

to-do

  • control panel > security >
    • account > account protection
    • firewall
    • protection > DoS protection
  • configure access for family shared data
  • set up time machine volume

changelog

2024-12-25

  • deactivated admin account
  • enabled SFTP on arjun
  • enabled SSH on arjun
  • set static IP in DSM and router
  • installed Container Manager (docker) on arjun

notes

partitions / volumes

Disk /dev/ram0: 640 MiB, 671088640 bytes, 1310720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram1: 640 MiB, 671088640 bytes, 1310720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram2: 640 MiB, 671088640 bytes, 1310720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram3: 640 MiB, 671088640 bytes, 1310720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram4: 640 MiB, 671088640 bytes, 1310720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram5: 640 MiB, 671088640 bytes, 1310720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram6: 640 MiB, 671088640 bytes, 1310720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram7: 640 MiB, 671088640 bytes, 1310720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram8: 640 MiB, 671088640 bytes, 1310720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram9: 640 MiB, 671088640 bytes, 1310720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram10: 640 MiB, 671088640 bytes, 1310720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram11: 640 MiB, 671088640 bytes, 1310720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram12: 640 MiB, 671088640 bytes, 1310720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram13: 640 MiB, 671088640 bytes, 1310720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram14: 640 MiB, 671088640 bytes, 1310720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram15: 640 MiB, 671088640 bytes, 1310720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/sata1: 10.9 TiB, 12000138625024 bytes, 23437770752 sectors
Disk model: ST12000VN0008-2YS101
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 1F84A64C-1818-468E-A8B8-181B9FC3B47D

Device          Start         End     Sectors  Size Type
/dev/sata1p1     8192    16785407    16777216    8G Linux RAID
/dev/sata1p2 16785408    20979711     4194304    2G Linux RAID
/dev/sata1p5 21257952 23437569791 23416311840 10.9T Linux RAID


Disk /dev/sata2: 10.9 TiB, 12000138625024 bytes, 23437770752 sectors
Disk model: ST12000VN0008-2YS101
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 5A71945D-100E-41E2-9F53-97C48D8A9FDA

Device          Start         End     Sectors  Size Type
/dev/sata2p1     8192    16785407    16777216    8G Linux RAID
/dev/sata2p2 16785408    20979711     4194304    2G Linux RAID
/dev/sata2p5 21257952 23437569791 23416311840 10.9T Linux RAID


Disk /dev/md0: 8 GiB, 8589869056 bytes, 16777088 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/zram0: 263 MiB, 275775488 bytes, 67328 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/zram1: 263 MiB, 275775488 bytes, 67328 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/zram2: 263 MiB, 275775488 bytes, 67328 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/zram3: 263 MiB, 275775488 bytes, 67328 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/md1: 2 GiB, 2147418112 bytes, 4194176 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/loop0: 32 MiB, 33554432 bytes, 65536 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


GPT PMBR size mismatch (239649 != 245759) will be corrected by write.
The backup GPT table is not on the end of the device. This problem will be corrected by write.
Disk /dev/synoboot: 120 MiB, 125829120 bytes, 245760 sectors
Disk model: DiskStation
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 9DC2E0B0-DD26-415B-931E-8EF85D81BB25

Device         Start    End Sectors Size Type
/dev/synoboot1  2048  67583   65536  32M EFI System
/dev/synoboot2 67584 239615  172032  84M Linux filesystem


Disk /dev/md2: 10.9 TiB, 11989150597120 bytes, 23416309760 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mapper/vg1-syno_vg_reserved_area: 12 MiB, 12582912 bytes, 24576 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mapper/vg1-volume_1: 10.9 TiB, 11988327464960 bytes, 23414702080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

packages

synopkg

synopkg man | Linux Command Library

synopkg status [package] needs to be run as root even though man page doesnt say so

by default, synopkg is managing these:

  • USBCopy
  • FileStation
  • StorageManager
  • ScsiTarget
  • ActiveInsight
  • OAuthService
  • HybridShare
  • SynologyPhotos
  • QuickConnect
  • UniversalViewer
  • SynoFinder
  • SynoOnlinePack_v2
  • SecureSignIn
  • Node.js_v20
  • SynologyDrive
  • SynologyApplicationService
  • BackupRestoreManager
  • Python2
  • SMBService
  • SupportService

full list

$ ls /bin

'['                           htop                       pykmip-server
 7z                           id                         python
 accept                       identify                   python3
 addgnupghome                 inetd                      python3.8
 afpd                         initdb                     qrencode
 apcsmart                     install                    qt-faststart
 apple_dump                   iostat                     raw-identify
 applygnupgdefaults           ip                         readlink
 ash                          ip6tables                  realpath
 awk                          ip6tables-legacy           redis-cli
 b2sum                        ip6tables-legacy-restore   redis-sentinel
 base32                       ip6tables-legacy-save      redis-server
 base64                       ip6tables-restore          reindexdb
 basename                     ip6tables-save             reject
 bash                         ipcalc                     renice
 bcmxcp_usb                   ipcs                       repmgr
 bind_driver                  iperf                      repmgrd
 blazer_usb                   ippfind                    reset
 brctl                        iptables                   richcomm_usb
 bunzip2                      iptables-legacy            riello_usb
 bzip2                        iptables-legacy-restore    rm
 cancel                       iptables-legacy-save       rmdir
 capsh                        iptables-restore           rsync
 cat                          iptables-save              runcon
 chattr                       iptables-xml               run-parts
 chcon                        join                       scp
 chgrp                        journalctl                 scriptindex
 chmod                        jpegtran                   sed
 chown                        jq                         seq
 chronyc                      kbxutil                    setcap
 chroot                       keyctl                     setsid
 cksum                        kill                       sftp
 clear                        killall                    sh
 clusterdb                    killps                     sha1sum
 cmp                          kinit                      sha224sum
 cnid_dbd                     klist                      sha256sum
 cnid_metad                   kmod                       sha384sum
 comm                         ldapmodify                 sha512sum
 compare                      ldappasswd                 shred
 composite                    ldapsearch                 shuf
 convert                      lftp                       simple_dcraw
 corepack                     lftpget                    slabtop
 cp                           link                       slapacl
 createdb                     ln                         slapadd
 createuser                   locale                     slapauth
 csplit                       localedef                  slapcat
 cupsaccept                   logger                     slapcat32
 cupsd                        login                      slapdn
 cupsdisable                  loginctl                   slapindex
 cupsenable                   logname                    slappasswd
 cupsfilter                   logrotate                  slaptest
 cupsreject                   lpadmin                    sleep
 curl                         lpc                        slogencrypt
 cut                          lpoptions                  slogkey
 date                         lpq                        slogverify
 db_recover                   lpr                        smartctl
 db_stat                      lprm                       snmpd
 dcraw                        lpstat                     snmp-ups
 dcraw_emu                    ls                         snmpwalk
 dd                           lsattr                     sort
 debsig-verify                lspci                      split
 df                           md5sum                     sqlite3
 diff                         metasys                    ssh
 dir                          minissdpd                  sshd
 dircolors                    mkdir                      ssh-keygen
 dirmngr                      mkfifo                     ssmtp
 dirmngr-client               mknod                      sss_cache
 dirname                      mktemp                     sssctl
 djpeg                        montage                    sssd
 dmesg                        more                       sss_debuglevel
 dnsdomainname                mount                      sss_override
 dpkg                         mv                         sss_seed
 dpkg-deb                     natpmpd                    stat
 dpkg-divert                  ndisc6                     stdbuf
 dpkg-query                   netatalk                   stty
 dpkg-split                   netstat                    su
 dpkg-statoverride            netxml-ups                 sudo
 dpkg-trigger                 nginx                      sum
 dqtool                       nice                       sync
 drbdadm                      nl                         synodd
 drbdadm-83                   nohup                      synonode
 drbdadm-84                   normalizer                 syslog-ng
 drbdmeta                     nproc                      syslog-ng-ctl
 drbdsetup                    nslookup                   systemctl
 drbdsetup-83                 nsupdate                   systemd-analyze
 drbdsetup-84                 ntfs-3g                    systemd-notify
 dropdb                       ntfs-3g.probe              systemd-tmpfiles
 dropuser                     numfmt                     tac
 du                           nutdrv_atcl_usb            tail
 echo                         nutdrv_qx                  tar
 ecryptfs-add-passphrase      od                         taskset
 ecryptfs-rewrap-passphrase   omron_usb                  tee
 ecryptfs-stat                openssl                    telnetd
 ecryptfs-unwrap-passphrase   openssl-3                  test
 ecryptfs-wrap-passphrase     opentftp                   time
 egrep                        optiups                    timeout
 env                          ovs-appctl                 top
 ethtool                      ovsdb-client               touch
 exiv2                        ovsdb-tool                 tr
 expand                       ovs-docker                 traceroute
 expr                         ovs-dpctl                  traceroute6
 factor                       ovs-ofctl                  tripplite_usb
 false                        ovs-vsctl                  true
 ffmpeg                       paste                      truncate
 fgrep                        pathchk                    tset
 find                         pdftotext                  tsort
 fio                          pdftotext-0.x              tty
 flashcache_create            persist-tool               uconv
 flashcache_destroy           pg_archivecleanup          udevadm
 flashcache_disable           pg_basebackup              ulockmgr_server
 flashcache_enable            pgbench                    umount
 flashcache_expand            pg_controldata             uname
 flashcache_load              pg_ctl                     unexpand
 flashcache_rescue            pg_dump                    uniq
 flock                        pg_dumpall                 unlink
 fmt                          pg_isready                 unrar
 fold                         pg_receivewal              unxz
 free                         pg_recvlogical             upnpd
 ftpd                         pg_resetwal                upsc
 fusermount                   pg_restore                 upsdrvctl
 gawk                         pg_rewind                  uptime
 gawk-5.0.0                   pg_test_fsync              usbhid-ups
 getcap                       pg_test_timing             usbip
 get_key_value                pg_upgrade                 usbipd
 getopt                       pg_verify_checksums        users
 getpcaps                     pg_waldump                 uuidgen
 google-authenticator         php                        vacuumdb
 gpg                          pidof                      vdir
 gpg-agent                    ping                       vi
 gpgconf                      ping6                      vim
 gpg-connect-agent            pinky                      vimdiff
 gpgparsemail                 pkill                      vmtouch
 gpgscm                       poff                       watchgnupg
 gpgsplit                     pon                        wc
 gpgtar                       postgres                   wget
 gpgv                         postmaster                 which
 gpg-wks-server               powercom                   who
 grep                         powerpanel                 whoami
 gunzip                       pr                         xargs
 gzip                         printenv                   xtables-legacy-multi
 hdparm                       printf                     xxd
 head                         ps                         xz
 hostapd                      psql                       xzcat
 hostapd_cli                  pstree                     yes
 hostid                       ptx                        zcat
 hostname                     pwd                        zip
$ ls /usr/local/bin
abb-cli           notification_send   smbd                 synomibtool
cifsdd            notification_utils  smbpasswd            synosaschatbot
epck              npm                 smbspool             synoscimprofile
feasibilitycheck  ntlm_auth           smbstatus            system_conf.sh
ldbadd            nvm                 smbtree              tdbbackup
ldbdel            pdbedit             supportservicetool   tdbdump
ldbedit           python2             synobrm-network.sh   tdbtool
ldbmodify         python2.7           synocheckiscsitrg    testparm
ldbrename         rpcclient           synoguest            util.sh
ldbsearch         samba               synoiscsiep          wbinfo
net               samba-tool          synoiscsitop         winbindd
nmbd              smbcacls            synoiscsiwebapi
nmblookup         smbclient           synology-backupd
node              smbcontrol          synomibclient-event

time machine

How do I back up files from my Mac to NAS using Time Machine? - Synology Knowledge Center

  • create a TM compatible shared folder in DSM
  • uses SMB / bonjour
  • make a dedicated user account for time machine

Time Machine separate users for each Mac : r/synology

  • need to set storage quotas (limits) or else TM will use the entire volume for snapshots

My “TimeMachine” volume on my Synology has the TimeMachine backups for for my old iMac, 3 of my old MacBooks, my current MacBook, an old Mac mini, 2 current Mac mini’s, 2 of my wife’s old MacBooks, and my wife’s current MacBook. TimeMachine magically handles keeping them all in separate folders named after the computer in question. (comment link)

The issue only occurs when one machine tries to backup while another machine is also backing up. If you use Time Machine Editor you can schedule your various Macs to backup at different times of day than each other, thus mostly avoiding the problem.

You could also just make separate volumes for each Mac’s TimeMachine backup, but that felt very inelegant and ugly to me, so I’ve stuck with the “make sure they all backup at different times” solution (comment link)

NAS with two partition for Media Center and Time Machine : r/synology

Yes, but don’t create two volumes. You only need one volume with 2 shared folders. Use storage quota on the TM shared folder. (comment link)

security

IP Block List – Marius Hosting

Synology: How to Correctly Set Up Firewall on DSM 7 – Marius Hosting

q&a

what is @eaDir?

Modern solution to stopping the generation of @eaDir folders? : r/synology

Short answer: you don’t.

Long answer: You don’t because those files contain important stuff like media/file indexing metadata, metadata used for mounting encrypted shares, user quota info, macOS extended attributes, etc. You cannot disable its creation, and deleting that stuff can and will make your NAS start acting up. If you don’t want to see it, don’t use NFS, use Samba, WebDAV, iSCSI, or any other protocol.

preventing @eaDir from being created : r/synology

Those are created by the indexer.

This may be relevant — adapt to modern DSM as needed: https://mikebeach.org/2012/12/12/disable-indexing-and-generation-of-eadir-directories-on-synology-nas/

And yes, I agree, they are annoying and indexer as the whole on a diskstation is resource consuming useless turd.

certificates?

investigate