5. 群晖 / Synology 5.2 5529

  我有一台群辉放在房间的角落里,用来集中存储家庭照片和视频。为了在外面也能方便的访问到家里 NAS上 的数据,将群晖也通过 tinc 连入 home_vpn。我的群晖是 x86 配置的,运行的操作系统为群辉 DSM 5.2 5529。可以理解为一台运行群晖 DSM 的定制 PC 机。DSM 从本质上说就是个 Linux 的定制包,因此可以类比 Linux 去理解和操作。

VPN 设置:

项目 数据
VPN 网络名称 home_vpn
VPN 主机名称 notebook
VPN IP 10.0.0.101
VPN 子网掩码 255.255.255.0
VPN CIDR 10.0.0.101/24
tinc 端口 655(默认)

安装 tinc

  截止本章截稿,群辉官方商店中没有找到 tinc,需自行安装。最正统和彻底的做法是下载 tinc 的源代码,然后在群晖上进行编译。但这么做的话,群辉默认没有所需的工具链,需要先下载和配置一堆东西(内核、头文件、编译器、编译工具……),这显然超出了本教程的范围。所以我用了一个取巧的办法:复制一个能用的版本。

  用 SSH 登录到群晖上(登录名为“root”,密码就是安装群晖时输入的管理员帐号的密码),查看一下相关信息,确认该版本的群辉 DSM 用 gcc 4.7.3 编译的,核心版本是 3.10.35,x86_64位版本,支持 SMP(多CPU)。

  从 Ubuntu Server 16.04 系统中复制 /usr/sbin/tincd,复制到群晖上,按群晖 DSM的存放规范,放到 /usr/sbin/tincd,然后记得 chmod +x /usr/sbin/tincd,赋予其可执行权限。

  从 Ubuntu Server 16.04 系统中复制 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0,按群晖 DSM 的的存放规范,放到 /lib64。

  这个是取巧的办法,思路是:既然群晖运行在 x86_64 上,本质上是个 Linux,所以复制一个对应环境已编译好的 Linux 版本,应能正确运行。

  我将需要复制的文件打了个压缩包,可以 点这里下载

创建配置文件

1.建立网络配置目录(网络名称为 home_vpn):

sudo mkdir -p /etc/tinc/home_vpn/hosts

2.建立配置文件 tinc.conf

sudo vi /etc/tinc/home_vpn/tinc.conf

编辑 tinc.conf 内容如下:

Name = nas
ConnectTo = tinc_ali

指明本主机的主机名为 nas。ConnectTo 指定启动时,自动连接核心主机 tinc_ali。

3.建立启动和关闭脚本 创建启动脚本 tinc-up

sudo vi /etc/tinc/home_vpn/tinc-up

编辑 tinc-up 内容如下:

#!/bin/sh

ifconfig $INTERFACE 10.0.0.103 netmask 255.255.0.0

创建启动脚本 tinc-down

sudo vi /etc/tinc/home_vpn/tinc-down

编辑 tinc-down 内容如下:

#!/bin/sh

ifconfig $INTERFACE down

赋予脚本可执行权限:

sudo chmod +x /etc/tinc/home_vpn/tinc-up
sudo chmod +x /etc/tinc/home_vpn/tinc-down

4.创建本主机描述文件(主机名称为 nas

sudo vi /etc/tinc/home_vpn/hosts/nas

编辑 nas 内容如下:

Subnet = 10.0.0.103/32

生成密钥

  执行 tincd 生成脚本, -n 指定网络名称,-K 指明生成密钥,可以在 -K 后以数字指定密钥长度,普通用途用默认值(2048)即可。命令执行过程中,需要指定文件名,不用管直接两次回车用默认值即可。

sudo tincd -n home_vpn -K

运行完成以后,会生成私钥文件 /etc/tinc/home_vpn/rsa_key.priv,并更新本主机的描述文件 /etc/tinc/home_vpn/hosts/nas。

交换密钥

将本主机的 /etc/tinc/home_vpn/hosts/nas 复制到核心主机的同样位置。

复制核心主机的 /etc/tinc/home_vpn/hosts/tinc_ali 到本主机的同样位置。

设为自启

  在 /usr/syno/etc/rc.d/ 下新建一个文件 S99tinc.sh,文件内容为 “/usr/sbin/tincd -n home_vpn”,记得不要忘记 “chmod +x /usr/syno/etc/rc.d/S99tinc.sh”。

重启系统:

sudo reboot

测试

重启完成后,通过 ping 来验证网络是否互通。

在 nas 上:

ping -c 10.0.0.254

在 tinc_ali 上:

ping -c 10.0.0.103

如果您是严格按照教程做,无意外的话已经能相互 ping 通了。如果ping不通,请检查双方,尤其是 tinc_ali 的防火墙设置是否正确。

完成

  群辉加入后,无论身在何处,都可以用 http://10.0.0.103:5000/webman/index.cgi 来访问,非常的方便。如何使用和配置群辉不在本教程范围内,其自带的 帮助中心 可以解决大部分的问题。

results matching ""

    No results matching ""