<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>NAS on Margrop Blog</title>
    <link>https://blog.margrop.net/en/tag/nas/</link>
    <description>Recent content in NAS on Margrop Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-US</language>
    <lastBuildDate>Wed, 29 Jul 2026 08:00:00 +0800</lastBuildDate>
    <atom:link href="https://blog.margrop.net/en/tag/nas/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Your Photos May Have No Backup: Why a NAS Alone Is Not Enough</title>
      <link>https://blog.margrop.net/en/post/photo-backup-3-2-1-rule-%E7%85%A7%E7%89%87%E5%A4%87%E4%BB%BD/</link>
      <pubDate>Wed, 29 Jul 2026 08:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/photo-backup-3-2-1-rule-%E7%85%A7%E7%89%87%E5%A4%87%E4%BB%BD/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The short answer&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;If your photos exist only on a phone, a computer, and one NAS, you may not have three backups. You may have three doors leading to the same room. A lost phone, ransomware on the NAS, an accidental synchronized deletion, or a house fire can remove all three doors at once.&lt;/p&gt;&#xA;&lt;p&gt;The rule worth remembering is &lt;strong&gt;3-2-1: at least 3 copies, on at least 2 types of media, with at least 1 copy offsite&lt;/strong&gt;. The stronger version is 3-2-1-1-0: add 1 offline or immutable copy, and verify that recovery has 0 undetected errors.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>RAID Is Not Backup: How to Choose the Right NAS Layout for Synology, fnOS, and Unraid</title>
      <link>https://blog.margrop.net/en/post/nas-raid-selection-guide/</link>
      <pubDate>Sat, 11 Jul 2026 12:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/nas-raid-selection-guide/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The short answer&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;RAID primarily keeps a NAS available when one or more drives fail. Backup restores data after deletion, ransomware, filesystem damage, theft, fire, or a failed NAS. You normally need both.&lt;/p&gt;&#xA;&lt;p&gt;On Synology, SHR-1 is the practical default for many homes, while larger and more critical arrays deserve SHR-2 consideration. On fnOS, choose the filesystem, storage mode, drive count, and backup destination as one design. On Unraid, understand that the classic Array is not a conventional striped RAID: data disks keep independent filesystems while one or two parity disks provide failure recovery.&lt;/p&gt;&#xA;&lt;p&gt;A useful starting rule is: mirror two-drive systems; use single-drive redundancy when capacity matters and a separate backup exists; seriously consider dual-drive redundancy as drive count and individual drive capacity grow. Anything irreplaceable still needs an offline or off-site copy.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>The Password Was Right—So Why Did Synology Reject It? Rebuilding DSM’s RSA &#43; AES WebAPI Login</title>
      <link>https://blog.margrop.net/en/post/synology-webapi-login-encryption-deep-dive/</link>
      <pubDate>Sat, 11 Jul 2026 08:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/synology-webapi-login-encryption-deep-dive/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Some Synology WebAPI clients do more than post &lt;code&gt;account&lt;/code&gt; and &lt;code&gt;passwd&lt;/code&gt; to &lt;code&gt;auth.cgi&lt;/code&gt;. The implementation preserved in OpenStack Cinder first calls &lt;code&gt;SYNO.API.Encryption.getinfo&lt;/code&gt;, receives an RSA public modulus, server time, and two dynamic field names, then generates a one-use passphrase. RSA PKCS#1 v1.5 encrypts that passphrase; an OpenSSL-compatible AES-256-CBC envelope encrypts the URL-encoded login parameters; both Base64 values are finally placed inside the server-provided &lt;code&gt;cipherkey&lt;/code&gt; field.&lt;/p&gt;&#xA;&lt;p&gt;This is an authorized WebAPI compatibility technique—not a password bypass. A SID for &lt;code&gt;session=DSM&lt;/code&gt; is also not automatically the same thing as a complete browser UI login state. Parameter encryption does not replace HTTPS, because TLS still authenticates the server and protects integrity against an active intermediary.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Original cover: an RSA outer envelope and AES inner envelope protect a NAS login&#34; src=&#34;https://blog.margrop.net/post-images/synology-webapi-login-encryption-deep-dive/00-cover-original.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Do Not Buy the “Btrfs Drive” Blind: Cheap HM-SMR HDDs Are the 996 Version of Storage</title>
      <link>https://blog.margrop.net/en/post/smr-cmr-btrfs-disk-trap/</link>
      <pubDate>Thu, 09 Jul 2026 10:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/smr-cmr-btrfs-disk-trap/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A hard drive is not just capacity divided by price. CMR behaves like normal lanes on a road: random rewrites are relatively predictable. SMR behaves like roof shingles: tracks overlap, density improves, but changing one small area may require rewriting a larger zone. The most dangerous detail is that SMR is not one thing. Some SMR drives hide the complexity in firmware. Some expose zone controls. Some are &lt;strong&gt;host-managed SMR&lt;/strong&gt;, where the operating system and software stack must obey zone write rules. Recently, some very cheap large HDDs have been marketed as “Feiniu drives” or “Btrfs drives” on PDD-like listings. In many cases, the real risk is that these are host-managed SMR enterprise drives, not ordinary NAS drives.&lt;/p&gt;&#xA;&lt;p&gt;My buying rule is simple: &lt;strong&gt;no exact model, no purchase; no vendor datasheet, no purchase; Linux reports &lt;code&gt;host-managed&lt;/code&gt;, normal users should walk away; if the seller talks about Btrfs or Feiniu but avoids the SMR type, walk away.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Stop Fighting Over the Remote: Use DSM Scheduled Tasks to Lock a Kids&#39; Video Folder Automatically</title>
      <link>https://blog.margrop.net/en/post/synology-kid-video-acl-curfew/</link>
      <pubDate>Sun, 05 Jul 2026 06:50:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/synology-kid-video-acl-curfew/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is not an account lockout guide. The goal is narrower and cleaner: lock one kids&amp;rsquo; video folder on a Synology DSM 7.2.1 NAS during selected hours, while leaving the account, password, homework folders, photo folders, and other shares alone. The script inserts one temporary &lt;code&gt;deny&lt;/code&gt; ACL entry with &lt;code&gt;synoacltool&lt;/code&gt;, removes that entry during open windows, backs up the ACL before each change, and verifies the result after each operation.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Original cover: the kids&amp;rsquo; video folder is locked by schedule&#34; src=&#34;https://blog.margrop.net/post-images/synology-kid-video-acl-curfew/00-ai-cover.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Synology locked root behind three doors — I spent twenty minutes teaching it how to let me back in</title>
      <link>https://blog.margrop.net/en/post/synology-root-and-ssh-key/</link>
      <pubDate>Thu, 18 Jun 2026 16:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/synology-root-and-ssh-key/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Synology DSM, by design, ships with SSH &lt;strong&gt;disabled&lt;/strong&gt; and root login &lt;strong&gt;prohibited&lt;/strong&gt; — both sensible defaults. This guide walks you through &amp;ldquo;doing it the right way&amp;rdquo;:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Control Panel → Terminal &amp;amp; SNMP → Enable SSH&lt;/strong&gt; (open the gate)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Log in as a normal user, then &lt;code&gt;sudo -i&lt;/code&gt; to become root&lt;/strong&gt; (borrow the landlord&amp;rsquo;s key first)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Edit &lt;code&gt;/etc/ssh/sshd_config&lt;/code&gt; and set &lt;code&gt;PermitRootLogin yes&lt;/code&gt;&lt;/strong&gt; (tell the bouncer &amp;ldquo;root is family&amp;rdquo;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;synouser --setpw root xxx&lt;/code&gt; to set a root password, and append your public key to &lt;code&gt;~/.ssh/authorized_keys&lt;/code&gt;&lt;/strong&gt; (hand back a key that can never be lost)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Total time: about twenty minutes. I&amp;rsquo;ll explain &lt;em&gt;why&lt;/em&gt; every step exists using a &amp;ldquo;key and lock&amp;rdquo; metaphor, give you a 3-second vi crash course, list the error messages you&amp;rsquo;ll see, and answer the seven most common questions.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Moving Bedtime Out of the Living Room: Letting macOS launchd Disable Your Kids&#39; Synology Accounts at 22:00 and Quietly Re-enable Them at 08:00</title>
      <link>https://blog.margrop.net/en/post/synology-mykid-curfew-launchd/</link>
      <pubDate>Sun, 14 Jun 2026 08:20:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/synology-mykid-curfew-launchd/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Synology DSM has a &amp;ldquo;disable this account&amp;rdquo; checkbox in the Control Panel, but it does not run on a schedule. With macOS&amp;rsquo;s built-in &lt;code&gt;launchd&lt;/code&gt; and a 50-line bash script, you can flip the &lt;code&gt;expired&lt;/code&gt; flag on two local accounts at 22:00 every night and flip it back at 08:00. The script does a before-query, a change, an after-query, and &lt;code&gt;exit 1&lt;/code&gt; the moment the after state does not match expectations. &lt;code&gt;launchd&lt;/code&gt; writes stdout and stderr to dedicated log files. The interesting part is that the word &amp;ldquo;parent&amp;rdquo; quietly leaves the conversation: you no longer have to remind anyone to go to bed, the machine does it for you, on time, every day.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This post is not a comprehensive &amp;ldquo;family NAS management&amp;rdquo; guide. It is about one specific thing: turning a manual button click that depends on human memory into a system-level event that just happens on time.&lt;/p&gt;&#xA;&lt;p&gt;If you only want the picture, the overview diagram in Section 2 is the whole article in one frame.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Lights out at 22:00, lights on at 08:00&#34; src=&#34;https://blog.margrop.net/post-images/synology-mykid-curfew-launchd/05-curfew-overview.svg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>PhotoPrism Stuck for 5 Minutes on First Boot? A Postmortem on PHOTOPRISM_INIT=intel</title>
      <link>https://blog.margrop.net/en/post/photoprism-init-intel-stuck/</link>
      <pubDate>Sat, 13 Jun 2026 08:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/photoprism-init-intel-stuck/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;TL;DR (The Short Version)&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;The &lt;code&gt;PHOTOPRISM_INIT: &amp;quot;intel&amp;quot;&lt;/code&gt; line in PhotoPrism&amp;rsquo;s Plus Docker image is &lt;strong&gt;not&lt;/strong&gt; just a flag to enable Intel hardware acceleration at runtime — it&amp;rsquo;s a one-shot &lt;strong&gt;system-level installer&lt;/strong&gt; that runs &lt;code&gt;apt-get dist-upgrade&lt;/code&gt; against &lt;code&gt;archive.ubuntu.com&lt;/code&gt; and then installs 8 Intel/VA-API packages before the main process is allowed to start. On a fresh container this takes &lt;strong&gt;5–10 minutes&lt;/strong&gt; (sometimes more), during which nothing inside the container listens on port &lt;code&gt;2342&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Meanwhile: &lt;code&gt;docker ps&lt;/code&gt; says &lt;code&gt;Up&lt;/code&gt;, Portainer is green, &lt;code&gt;ss -ltn&lt;/code&gt; on the host shows &lt;code&gt;:2342&lt;/code&gt; LISTEN — but your browser gets &lt;code&gt;ERR_CONNECTION_RESET&lt;/code&gt; / &lt;code&gt;Connection reset by peer&lt;/code&gt;. Because host-side &lt;code&gt;docker-proxy&lt;/code&gt; accepts the connection and then tries to forward to a port inside the container that has no listener, the kernel sends back an RST.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; just remove or empty that one line. If you already pass &lt;code&gt;/dev/dri/renderD128&lt;/code&gt; via &lt;code&gt;devices:&lt;/code&gt;, the host&amp;rsquo;s drivers and userland libraries are perfectly usable from the container — there&amp;rsquo;s nothing to &amp;ldquo;install&amp;rdquo; in there.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>When a Seagate IronWolf Pro Throws a SMART Alert: My Full Path from Diagnosis to a Free RMA</title>
      <link>https://blog.margrop.net/en/post/seagate-ironwolf-pro-rma-rescue-flow/</link>
      <pubDate>Sat, 13 Jun 2026 08:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/seagate-ironwolf-pro-rma-rescue-flow/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A single line in a Synology alert — &amp;ldquo;Bad sector count on Drive 10 has increased&amp;rdquo; — was the starting point. The drive that triggered the alert wasn&amp;rsquo;t the one that actually scared me, and the drive that did turn out to be in trouble turned out to be a Taiwan-boxed IronWolf Pro still under Seagate&amp;rsquo;s 5-year warranty. This post walks through the entire path I took: SMART triage, fault classification, identifying a hidden link-layer problem on a different drive, the international region-transfer request, the email I actually sent, and the packaging lessons you only learn by reading Seagate&amp;rsquo;s return policy. If you ever get a similar alert, this is the playbook I wish I had on hand.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;A bit of context first: my home NAS is a Synology DS3617xs running DSM 10, up 7x24 with four 10 TB drives — two WD helium &amp;ldquo;white-label&amp;rdquo; drives, an HGST Ultrastar He10, and a Seagate IronWolf Pro 10 TB. The day the alert came in, everything had been quietly humming for almost three years.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Transfer] Installing and Configuring an ImmortalWrt Bypass Router</title>
      <link>https://blog.margrop.net/en/post/zhuan-immortalwrt-pang-lu-you-install-config/</link>
      <pubDate>Mon, 11 May 2026 21:10:55 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/zhuan-immortalwrt-pang-lu-you-install-config/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;This article is a full English translation of Egg Targaryen&amp;rsquo;s &amp;ldquo;ImmortalWrt旁路由安装与配置&amp;rdquo;. The original article is published under the &lt;code&gt;CC BY-NC-SA 4.0&lt;/code&gt; license. The operation order and screenshots are preserved, with minor formatting adjustments for this site.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Adding Proxmox VE local-lvm Usage and Link-Speed Monitoring to Uptime Kuma</title>
      <link>https://blog.margrop.net/en/post/proxmoxve-lvm-link-speed-uptime-kuma/</link>
      <pubDate>Tue, 05 May 2026 17:20:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/proxmoxve-lvm-link-speed-uptime-kuma/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Proxmox VE &lt;code&gt;local-lvm&lt;/code&gt; is usually an LVM-thin pool, not a normal mounted directory, so &lt;code&gt;df -h&lt;/code&gt; is not enough to catch it before it becomes full. Network link speed is another quiet failure mode: services may stay online while a NAS or router uplink falls back to 100 Mb/s and turns large file transfers into a crawl. A practical fix is to feed both checks into the Uptime Kuma you already use: expose a small HTTP health endpoint for &lt;code&gt;local-lvm&lt;/code&gt;, and push link-speed status from the Proxmox host with an &lt;code&gt;ethtool&lt;/code&gt; script.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This article walks through the design, the problems in a naive implementation, improved scripts, systemd units, Uptime Kuma configuration, verification steps, and safety notes. All addresses, tokens, host names, and environment-specific values are placeholders. Replace &lt;code&gt;&amp;lt;PVE_HOST&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;KUMA_URL&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;PUSH_TOKEN&amp;gt;&lt;/code&gt;, and &lt;code&gt;&amp;lt;INTERFACE&amp;gt;&lt;/code&gt; with values from your own environment.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Integrating Synology Operations as an OpenClaw / HermesAgent Skill: From One Sentence to Auditable NAS Automation</title>
      <link>https://blog.margrop.net/en/post/openclaw-hermesagent-synology-skill/</link>
      <pubDate>Tue, 05 May 2026 12:20:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/openclaw-hermesagent-synology-skill/</guid>
      <description>&lt;p&gt;I have already written two Synology CLI references on this blog:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.margrop.net/en/post/synology-ssh-commands/&#34;&gt;Synology SSH Commands Cheatsheet&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.margrop.net/en/post/synology-diskstation-cli-administration-guide/&#34;&gt;Synology NAS CLI Administration Guide&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Those posts answer the question: “What commands can a human run on a Synology NAS?” This article answers a different question: if I already use OpenClaw / HermesAgent, how can I turn those commands into an operations Skill so that I can ask the agent, in one sentence, to inspect the NAS, summarize evidence, prepare a maintenance plan, and execute approved commands only when the risk is acceptable?&lt;/p&gt;&#xA;&lt;p&gt;The short answer is: yes, but the Skill must not become an unrestricted root shell. The right design is:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Make Synology SSH access controlled, testable, and revocable.&lt;/li&gt;&#xA;&lt;li&gt;Put common Synology CLI operations into a Skill, together with command categories, risk levels, and output rules.&lt;/li&gt;&#xA;&lt;li&gt;Allow read-only diagnostics by default.&lt;/li&gt;&#xA;&lt;li&gt;Require explicit approval for service restarts, permission changes, user changes, network changes, deletion, and storage operations.&lt;/li&gt;&#xA;&lt;li&gt;Preserve commands, output, and reasoning so each operation remains auditable.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;If you only want the big picture, the diagram below summarizes the whole article.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;OpenClaw / HermesAgent Synology Skill overview&#34; src=&#34;https://blog.margrop.net/post-images/openclaw-hermesagent-synology-skill/01-overview-handdrawn.svg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Transfer] Synology NAS CLI Administration Guide</title>
      <link>https://blog.margrop.net/en/post/synology-diskstation-cli-administration-guide/</link>
      <pubDate>Thu, 30 Apr 2026 18:20:04 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/synology-diskstation-cli-administration-guide/</guid>
      <description>&lt;p&gt;This guide contains command tools that allow your applications to make use of the resources on Synology DiskStation and also includes a list of Synology Error Numbers for reference.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Transfer] Synology DiskStation Administration CLI Guide: Reading Notes and Command Cheatsheet</title>
      <link>https://blog.margrop.net/en/post/zhuan-synology-diskstation-administration-cli-guide/</link>
      <pubDate>Thu, 30 Apr 2026 18:14:05 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/zhuan-synology-diskstation-administration-cli-guide/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Synology&amp;rsquo;s official CLI administration guide is not a beginner manual for the DSM web interface. It is a compact reference for scripting, automation, and system integration. The useful parts cover local users, local groups, shared folders, network configuration, service management, Windows workgroup or ADS domain settings, and DSM error numbers.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This post is an English reading note and command cheatsheet based on Synology&amp;rsquo;s official PDF, &lt;em&gt;CLI Administrator Guide for Synology NAS&lt;/em&gt;. Because the original PDF is a copyrighted Synology document, this post does not reproduce or translate the full document verbatim. Instead, it reorganizes the material into a bilingual blog-friendly guide for quick reading and daily operations. For exact wording, parameter definitions, version-specific behavior, and legal notices, use the official PDF linked at the end.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why a NAS hostname with `speedtest` can sometimes be much faster</title>
      <link>https://blog.margrop.net/en/post/nas-speedtest-subdomain-acceleration/</link>
      <pubDate>Fri, 24 Apr 2026 09:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/nas-speedtest-subdomain-acceleration/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;If your NAS is painfully slow when accessed from outside your home, and you control both your domain name and your reverse-proxy entry, putting &lt;code&gt;speedtest&lt;/code&gt; into the subdomain can sometimes make a dramatic difference.&lt;br&gt;&#xA;This is not magic and it is not guaranteed, but it often appears to hit a more permissive carrier policy path for “speed-test-like” traffic.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This post was inspired by a discussion on the fnNAS forum. The original thread makes a very direct claim: some home broadband lines seem to throttle ordinary NAS access quite aggressively, but once the hostname contains &lt;code&gt;speedtest&lt;/code&gt;, the connection can suddenly behave much better.&lt;/p&gt;&#xA;&lt;p&gt;I am not repeating the forum post word for word. Instead, I am turning the idea into a longer-lived technical note that answers three questions:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Why this trick can work&lt;/li&gt;&#xA;&lt;li&gt;How to set it up with the least amount of moving parts&lt;/li&gt;&#xA;&lt;li&gt;When it will not work, or is not worth the effort&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
    <item>
      <title>When Docker Networks Collide with the Home LAN: Moving Auto-Allocated Subnets Back to 172</title>
      <link>https://blog.margrop.net/en/post/docker-network-subnet-conflict-migration-record/</link>
      <pubDate>Mon, 13 Apr 2026 08:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/docker-network-subnet-conflict-migration-record/</guid>
      <description>&lt;p&gt;This post records a very practical Docker networking failure: the number of containers kept growing, Docker&amp;rsquo;s auto-assigned user-defined bridge networks eventually started landing in &lt;code&gt;192.168.x.x&lt;/code&gt;, and those networks began colliding with the real home LAN. The symptoms were not dramatic at first. Nothing looked “broken” in the usual sense. Containers were still running, the host was still alive, and the dashboard still looked normal. But parts of the home network became unreliable, and once I dug into it on my NAS, the root cause turned out to be the Docker network allocation strategy rather than any single bad container.&lt;/p&gt;&#xA;&lt;p&gt;The fix was straightforward in principle, but important in practice: I moved Docker&amp;rsquo;s automatic network pool to &lt;code&gt;172.16.0.0/12&lt;/code&gt;, migrated the existing &lt;code&gt;192.168.*&lt;/code&gt; networks onto the 172 private range, and made sure future networks created through Portainer, Dockhand, or plain &lt;code&gt;docker compose&lt;/code&gt; would follow the same rule.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On the Importance of Mac Computers and TimeMachine</title>
      <link>https://blog.margrop.net/en/post/the-important-of-mac-and-timemachine/</link>
      <pubDate>Tue, 14 Sep 2021 16:55:10 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/the-important-of-mac-and-timemachine/</guid>
      <description>Today is September 14, 2021.&#xA;As of today, I have been using MacOS as my main system for about 2 years.&#xA;I have to say that I am deeply in love with MacOS now. If I need to buy my next laptop, I will definitely buy the MacBookPro high-end configuration.&#xA;#Main differences between MacOS and Windows&#xA;1. Shortcut keys Windows The well-known Ctrl + C and Ctrl + V below MacOS becomes Command(Win key) + C and Command(Win key) + V</description>
    </item>
    <item>
      <title>Overview of home network architecture based on PVE &#43; soft routing &#43; NAS (for technical personnel)</title>
      <link>https://blog.margrop.net/en/post/home-network-architecture-based-pve-and-soft-route-and-nas/</link>
      <pubDate>Fri, 03 Sep 2021 09:50:49 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/home-network-architecture-based-pve-and-soft-route-and-nas/</guid>
      <description>Home Network Overview The home network will not separate the &amp;ldquo;business plane&amp;rdquo;, &amp;ldquo;management plane&amp;rdquo; and &amp;ldquo;data plane&amp;rdquo; like a regular virtualization platform. What home networks need is convenience, so the three planes mentioned above need to be integrated together to share the network in order to facilitate management. The security of the home network is also very important. No one wants the network door at home to be open to the outside world all the time.</description>
    </item>
    <item>
      <title>China Telecom, How to Contact Customer Service to Apply for a Public IP</title>
      <link>https://blog.margrop.net/en/post/china-telecom-how-to-apply-a-public-ip-address/</link>
      <pubDate>Mon, 25 Jan 2021 22:12:32 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/china-telecom-how-to-apply-a-public-ip-address/</guid>
      <description>&lt;p&gt;Currently, among the three major carriers in China, China Telecom has the most abundant &lt;code&gt;公网IP&lt;/code&gt;.&#xA;However, as global &lt;code&gt;IPv4&lt;/code&gt; resources have been completely exhausted, even the wealthy families are running out of grain.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Run N2N on Synology (DSM) - Compilation Guide</title>
      <link>https://blog.margrop.net/en/post/how-to-use-n2n-dsm/</link>
      <pubDate>Fri, 15 Jan 2021 13:18:07 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/how-to-use-n2n-dsm/</guid>
      <description>&lt;p&gt;Synology (abbreviated as &lt;code&gt;DSM&lt;/code&gt; below) is currently the most famous &lt;code&gt;NAS&lt;/code&gt; system, bar none.&#xA;How to run &lt;code&gt;N2N&lt;/code&gt; directly on &lt;code&gt;DSM&lt;/code&gt;? Of course, cross-compilation is needed again 😂.&#xA;The following cross-compilation operations require a basic understanding of &lt;code&gt;Linux&lt;/code&gt; and proficiency in &lt;code&gt;vim&lt;/code&gt; operations.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
