0%

安装Caddy

运行以下命令:

1
2
3
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

配置文件

以下所有示例域名为toyoo.ml,请注意替换为自己的域名 !

1、服务器IP反向代理 下面是一个,用你服务器的IP来反向代理一个http协议的网站http://www.baidu.com 。

1
2
3
4
5
# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行!
echo ":80 {
gzip
proxy / http://www.baidu.com
}" > /usr/local/caddy/Caddyfile

服务器IP也可以反向代理HTTPS协议的网站,但是需要自签SSL证书,现在的浏览器一般都不会认自签的SSL证书,所以不建议这么做。

2、域名反向代理HTTP 下面是一个,用你的域名来反向代理一个http协议的网站http://www.baidu.com

1
2
3
4
5
# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行!
echo "http://toyoo.ml {
gzip
proxy / http://www.baidu.com
}" > /usr/local/caddy/Caddyfile

如果你需要反向代理HTTPS协议的网站,比如https://www.baidu.com,那么继续看下面步骤。

3、域名反向代理HTTPS 如果你有SSL证书和密匙的话,把SSL证书(xxx.crt)和密匙(xxx.key)文件放到/root文件夹下(也可以是其他文件夹,自己改下面代码),然后这样做:

1
2
3
4
5
6
# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行!
echo "https://toyoo.ml {
gzip
tls /root/xxx.crt /root/xxx.key
proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile

如果你没有SSL证书和密匙,那么你可以这样做:

下面的xxxx@xxx.xx改成你的邮箱,同时需要注意的是,申请SSL证书前,请务必提前解析好域名记录(解析后最好等一会,以全球生效),否则Caddy会申请并配置失败!

1
2
3
4
5
6
# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行!
echo "https://toyoo.ml {
gzip
tls xxxx@xxx.xx
proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile

如果一切正常,那么Caddy会自动帮你申请SSL证书并配置好,而且会定时续约SSL证书和强制http重定向至https

4、HTTP重定向为HTTPS 当你是手动指定SSL证书和密匙 来配置的话,Caddy只会监听443端口(https),并不会自动设置80端口(http)的重定向(如果是Caddy自动申请的SSL证书,那么就自动做好了),如果要做重定向的话,可以这样做:

下面的示例代码中,是把http://toyoo.mlhttp://233.toyoo.mlhttps://666.toyoo.ml三个域名都重定向到了 https://toyoo.ml

1
2
3
4
5
6
7
8
9
# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行!
echo "http://toyoo.ml ,http://233.toyoo.ml ,https://666.toyoo.ml {
redir https://toyoo.ml{url}
}
https://toyoo.ml {
gzip
tls /root/xxx.crt /root/xxx.key
proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile

修改完Caddy的配置文件后,重启Caddy即可。

1
/etc/init.d/caddy restart

脚本整体不需要做任何修改!如果你不理解AliDDNS 2.0的运行原理,请不要擅自改动!因乱改脚本核心导致运行崩溃,作者有权拒绝回答任何问题!

首先,登录你的服务器,安装必需组件:

For CentOS:

1
yum install -y wget curl cronie

For Debian 8+:

1
apt install -y wget curl cron

For Ubuntu/Debian 7:

1
apt-get install -y wget curl cron

然后下载AliDDNS脚本到你的服务器上:

1
wget -O /usr/sbin/AliDDNS-v2.0.sh https://ilemonrain.com/download/shell/AliDDNSv2.sh

下载地址请参考上面的 更新记录 & 下载地址 一节!

为脚本文件加上可执行属性:

1
chmod +x /usr/sbin/AliDDNS-v2.0.sh

执行脚本,开始配置:

1
/usr/sbin/AliDDNS-v2.0.sh

弹出启动菜单:

AliDDNS 工具 (阿里云云解析修改工具)

使用方法 (Usage): AliDDNS.sh run 配置并运行工具 (如果已有配置将会直接运行) AliDDNS.sh config 仅配置工具 AliDDNS.sh clean 清理配置文件及运行环境 AliDDNS.sh version 显示版本信息

[Info] 选择你要使用的功能:

  1. 配置并运行 AliDDNS
  2. 仅配置 AliDDNS
  3. 清理环境
  4. 退出

输入数字以选择: _

在这里,我们输入 1 (数字1) ,后按下回车,开始进入AliDDNS配置向导:

[Info] 请输入一级域名 (比如 example.com) (此项必须填写,查看帮助请输入“h”):

假如你需要设置AliDDNS的域名为ddns.example.com,那么请在这里输入 example.com

分解开就是 [ddns] . [example.com]

同时,登录阿里云云解析 https://dns.console.aliyun.com/,在需要DDNS的域名上,添加一个记录:

记录类型:A 主机记录:[请填写你的二级域名] 解析线路:默认 记录值:127.0.0.1 (或者随便填写一个IP地址) TTL: [请根据实际需要选择合适的TTL] 同步默认线路:是 (勾选)

简单粗暴的,看都不看的复制粘贴,作者也有权拒绝回答任何问题!

完成后按下回车键,继续填写二级域名:

[Info] 请输入二级域名 (比如 ddns) (此项必须填写,查看帮助请输入“h”):

同上面的范例,我们输入 ddns ,之后按下回车键继续:

[Info] 请输入记录的TTL(Time-To-Live)值: (默认为600,查看帮助请输入“h”):

如果你使用的是免费版的阿里云云解析,此处可以填写的数值范围为:600~86400; 如果你使用的是收费版(企业版)的阿里云云解析,此处可以填写的数值范围为:1~86400 **(根据你购买的产品类型决定)**。

填写完成后,按下回车键继续:

[Info] 请输入阿里云AccessKey ID (此项必须填写,查看帮助请输入“h”):

AccessKey ID 和 AccessKey Secret 推荐使用 子用户AccessKey(访问控制台RAM) 分配的权限!这样最安全!

使用子用户AccessKey,请分配 AliyunDNSReadOnlyAccess(只读访问云解析(DNS)的权限) 和 AliyunDNSFullAccess(管理云解析(DNS)的权限) 这两个权限!推荐有动手能力的用户使用子用户AccessKey!

如果不会操作或者图省事,请使用 全局AccessKey !但此时一定要注意!千万不要泄露你的全局AccessKey或者将你的全局AccessKey发布到公网上!这样等同于把你的号白送人,还可以名正言顺的白嫖你的阿里云账号!如果发生泄露,请立刻删除泄露的AccessKey!

填写完成后,按下回车键继续:

[Info] 请输入阿里云Access Key Secret (此项必须填写,查看帮助请输入“h”):

同上,填写你的AccessKey ID对应的AccessKey Secret。获取你的AccessKey Secret属于账号高风险操作,请准备好用来接收阿里云验证码的手机!

填写完成后,新版的AliDDNS 2.0如果没有激活专家模式,会直接进入执行流程;如果启动了专家模式,以下参数请在你理解的基础上填写!否则请一律留空!

[Info] 请输入获取本机IP使用的命令 (查看帮助请输入“h”):

输入获取本机IP地址使用的命令。如果你不懂或者不需要配置,请留空,直接回车!

[Info] 请输入解析使用的DNS服务器 (此项必须填写,查看帮助请输入“h”):

输入nslookup命令解析使用的DNS服务器。如果你不懂或者不需要配置,请留空,直接回车!

之后,会自动开始DDNS(测试)运行过程:

[Info] 检测到存在的配置,自动读取现有配置 如果你不需要,请通过菜单中的清理环境选项进行清除[Info] 正在写入配置文件…… [Info] 正在获取本机IP…… [Info] 本机IP:_..._ [Info] 正在获取 ddns.example.com 的IP…… [Info] 解析结果:ddns.example.com -> 127.0.0.1 [Info] 正在生成时间戳…… [Info] 获取到RecordID:* [Info] 正在更新解析记录…… {“RecordId”:”“,”RequestId”:”----“} [Info] 已经更新RecordID:* [Success] DDNS记录更新成功,新的IP为:...

出现最后的 DDNS记录更新成功 提示,即为DDNS记录同步成功,稍后等待DNS解析生效,即可完成DDNS域名更换!

3. Crontab (定时任务) 部署教程

首先,在命令行执行命令:

1
crontab -e

会弹出一个提示,问选择哪个编辑器,请按照自己的喜好选择一个文本编辑器:

Select an editor. To change later, run ‘select-editor’.

  1. /bin/nano <—- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny

Choose 1-3 [1]:

选择完成后,会打开一个文本编辑器,请在文件的最后添加如下一行:

1
*/5 * * * * /usr/sbin/AliDDNS-v2.0.sh run >/dev/null 2>&1 &

添加完成后,保存退出。

当提示 crontab: installing new crontab 时,表示crontab写入成功,执行命令重启cron进程:

For CentOS:

1
service crond restart

For Ubuntu/Debian:

1
service cron restart

并将Cron加入开机启动项:

For CentOS:

1
chkconfig crond on

For Ubuntu/Debian:

1
systemctl enable cron

即可完成定时任务的部署。

什么是 AdGuard Home

AdGuard Home 是一款全网广告拦截与反跟踪软件,AdGuard Home 项目是著名广告拦截器提供商 AdGuard 开源的一个 DNS Server 版本。AdGuard Home 可以将广告与追踪相关的域名屏蔽,同时你不再需要安装任何客户端软件。AdGuard Home 的工作原理是在 DNS 的域名解析过程里拦截网页上的广告。

简单来说 AdGuard Home 是一个支持广告过滤和家长控制的开源公共 DNS 服务,如同 Google 的公共 DNS 服务 8.8.8.8。AdGuard Home 同时也支持 DNS over TLSDNS over HTTPS

项目地址:https://github.com/AdguardTeam/AdGuardHome

AdGuard Home 的主要功能介绍

  • 拦截随处可见的广告
  • 注重隐私保护
  • 家庭保护模式
  • 自定义过滤规则

在继续讲解前,我们先来看一看 AdGuard Home 强大的功能演示和管理后台。

安装 AdGuard Home

AdGuard Home 使用 Golang 开发,具有良好的原生跨平台性。它可以部署在 X86 架构的各种操作系统上,也可以部署在树莓派上,甚至你还可以借助 Docker 部署在群晖 NAS 上。

使用预编译的二进制版本安装

这里我们以 Linux 系统为例,其它系统可参考官方帮助文档:https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#installation

1
2
3
4
5
6
7
8
# 下载并解压 AdGuard Home
$ wget https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.100.6/AdGuardHome_linux_amd64.tar.gz
$ tar -zxvf AdGuardHome_linux_amd64.tar.gz

# 为了方便使用,我们将二进制文件拷贝到 PATH 所包含的位置
$ cd AdGuardHome_linux_amd64
$ cp ./AdGuardHome /usr/local/bin/

上面的方法,很显然是在前台运行的。前台运行必然还是存在一些弊端的,比如:当前 SHELL 中断必然会引起程序中断等。如果你想长期稳定的运行 AdGuard Home,最后好方法必然是将 AdGuard Home 运行成一个服务。要想将 AdGuard Home 在各平台部署为服务也是很简单的,只需运行下面这一条命令就可实现。

1
2
# Linux 下使用的服务管理器是 systemd 、Upstart 或 SysV,macOS 下使用的服务管理器是 Launchd。
$ ./AdGuardHome -s install复制代码

AdGuard Home 服务安装后好,你可以使用以下命令来管理它。

1
2
3
4
5
6
7
8
9
10
11
12
# 启动 AdGuardHome 服务
$ ./AdGuardHome -s start

# 停止 AdGuardHome 服务
$ ./AdGuardHome -s stop

# 重启 AdGuardHome 服务
$ ./AdGuardHome -s restart

# 查看 AdGuardHome 服务状态
$ ./AdGuardHome -s status

使用 Docker 来安装

如果你会一点点 Docker 知识的话,我们当然还是建议你直接使用 Docker 来安装。虽然通过预编译的二进制版本安装已经很简单了,但如果使用 Docker 来安装,你会发现仅仅只需一条指令就可以搞定了。

1
2
3
$ docker pull adguard/adguardhome
# -v 参数后面指定的宿主机上的目录主要用作永久保存 AdGuard Home 的数据文件和配置文件,可自行根据实际情况修改。
$ docker run --name adguardhome -v /home/mike/workdir:/opt/adguardhome/work -v /home/mike/confdir:/opt/adguardhome/conf -p 53:53/tcp -p 53:53/udp -p 67:67/udp -p 68:68/tcp -p 68:68/udp -p 80:80/tcp -p 443:443/tcp -p 853:853/tcp -p 3000:3000/tcp -d adguard/adguardhome复制代码

你可能会发现上面一共是两条指令,前面不是说好了是一条指令的吗?是不是发现被骗了,我怎么可能骗你呢,这绝对是不可能的!其实这两条指令,你只需直接执行第 2 条指令就可以完成所有安装操作了。这里分开写出来仅仅是为了完整演示 Docker 整个运行过程,能让一些还不会 Docker 的同学能更容易理解一些。前面既然啰嗦了这么多,这里就再延伸说一点 Docker 容器的基本管理操作。

1
2
3
4
5
6
# 启动 AdGuard Home 容器
$ docker start adguardhome
# 停止 AdGuard Home 容器
$ docker stop adguardhome
# 删除 AdGuard Home 容器
$ docker rm adguardhome复制代码

使用 AdGuard Home

使用默认配置来设置 AdGuard Home

运行 AdGuard Home 后,我们需要通过浏览器打开 http://IP:3000AdGuard Home 进行初始化设置。首次初始化会要求设置服务运行端口、账号、密码等信息,配置过程中设置的密码一定请牢记,下次登录管理后台时需要使用。

首先,我们点击 “开始配置” ,来设定网页管理界面和 DNS 服务的端口。

其次,点击 “下一步” 后,为 AdGuard Home 网页管理界面设置一个用户名和密码。

最后,点击 “下一步” 后,AdGuard Home 会展示以上配置的汇总信息。

至此,使用 AdGuard Home 默认配置的设置就算大功告成了。

使用 AdGuard Home 默认配置设置完成后,我们可以在「仪表盘」上看到 DNS 查询次数、被过滤器封锁的网站、查询 DNS 请求的客户端 IP 地址等等信息。

AdGuard Home 配置进阶

AdGuard Home 默认的配置比较简单,为了更强力地拦截广告,我们可以对 AdGuard Home 配置进行一些优化。

  1. 常规设置

AdGuard Home 默认配置的情况下只勾选了「使用过滤器和 Hosts 文件以拦截指定域名」这一个选项,你可以根据自身情况决定是否启用「使用 AdGuard 浏览安全网页服务」、「使用 AdGuard 家长控制服务」和「强制安全搜索」等特性。

不仅如此,你还可以很方便的屏蔽一些比较流行的网站。当然这些网站本来对我们都是不可用的,也就不用多此一举进行设置了,哈哈!

  1. 设置上游 DNS

AdGuard Home 默认使用 CloudflareDNS over HTTPS 作为上游服务器。如果你在国内使用 Cloudflare DNS 做为上游 DNS,可能延迟会比较高。

我们可以设置为国内的公共 DNS,如:腾讯的 119.29.29.29、阿里的 223.5.5.5114.114.114.114 等,但坏处是这些国内公共 DNS 暂时不支持 DNS over TLS

这里有一个比较折中的解决方法就是通过启用 「通过同时查询所有上游服务器以使用并行查询加速解析」选项来在每次查询的时候对所有的上游 DNS 同时查询,以加速解析速度。

  1. 过滤器

虽然 AdGuard Home 本身内置了比较知名的 AdGuardAdAway 广告过滤规则,但这些规则在国内显然有点水土不服。如果你想要更完美的实现广告屏蔽还需要自己添加规则,比较幸运的是 AdGuard Home 是可以兼容 Adblock 过滤规则语法的。这样,你就可以很方便的使用一些比较知名的 Adblock 过滤规则,比如:由 Adblock Plus 团队维护的 EasyList

目前好用的广告过滤规则还是有很多的,它们都针对不同的用途。下面推荐一些比较常用的:

1. EasyList China : 国内网站广告过滤的主规则。

链接:https://easylist-downloads.adblockplus.org/easylistchina.txt

2. EasyPrivacy : EasyPrivacy 是隐私保护,不被跟踪。

链接:https://easylist-downloads.adblockplus.org/easyprivacy.txt

3. CJX’s Annoyance List : 过滤烦人的自我推广,并补充 EasyPrivacy 隐私规则。

链接:https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjx-annoyance.txt

4. 广告净化器规则 : 支持国内大部分视频网站的广告过滤。

链接:http://tools.yiclear.com/ChinaList2.0.txt

5. I don’t care about cookies : 我不关心 Cookie 的问题,屏蔽网站的 cookies 相关的警告。

链接:https://www.i-dont-care-about-cookies.eu/abp/

除了使用已有的过滤规则外,当然你也可以根据自己的需求自定义过滤规则,要自定义过滤规则其实也很简单。

下面是自定义过滤规则的一些语法说明。

1
2
3
4
5
6
example.org^ – 拦截 example.org 域名及其所有子域名
@@example.org^ – 放行 example.org 及其所有子域名
127.0.0.1 example.org – 将会把 example.org(但不包括它的子域名)解析到 127.0.0.1。
! 注释符号,表示这是一行注释
# 这也是注释符号,同样表示这是一行注释
/REGEX/ – 正则表达式模式复制代码

更多规则可以参考官方帮助文档:https://kb.adguard.com/en/general/dns-filtering-syntax

  1. 查询日志

AdGuard Home 管理界面中也为我们提供了 DNS 请求日志查询功能,在这里,我们不但能看见所有设备最近 5000 条的 DNS 请求日志记录。你还可以根据 DNS 请求日志记录来针对某个域名进行快速的拦截和放行操作。

  1. 调整配置参数,以提升 QPS 能力

AdGuard Home 所有的配置参数都保存在一个名为 AdGuardHome.yaml 的配置文件中。这个配置文件默认路径通常为 AdGuard Home 二进制文件 AdGuardHome 所在的目录,比如:/usr/local/bin/AdGuardHome.yaml

这里我们只需调整以下两个参数,就是可以明显提升 AdGuard HomeQPS 能力。

  • ratelimit : DDoS 保护,客户端每秒接收的数据包数。默认值是 20,建议禁用该参数(将值改为 0)。
  • blocked_response_ttl : TTL 缓存时间,默认值是 10,建议设置为 60 。

这里在把 AdGuard Home 的配置文件完整版本也展示一下,有兴趣的同学可以自行研究下其它参数的用途哟!。

1
2
$ cat AdGuardHome.yaml

设置客户端 DNS

所有以上设置完成后,最后当然是修改所有客户端的 DNS 设置,来享用 AdGuard Home 带来的强大的去广告功能。

这个其实真的不用写,我想聪明的你应该都知道这个怎么设置。写这个标题仅仅是为了保持文档完整性,如果你真的不会设置,那就请自行使用「一些好用」的搜索引擎搜索相关方法吧!

总结

AdGuard Home 不但支持了 macOSWindowsLinux、树莓派等多个系统平台,也提供了二进制和 Docker 的部署方式,让安装变得非常简单。AdGuard Home 自身提供的强大和直观的管理和统计系统,让它使用起来也是非常方便的。如果你打算自建一个支持去广告功能的公共 DNSAdGuard Home 是非常值得一试的不二选择。

参考文档

  1. https://www.google.com
  2. https://zhuanlan.zhihu.com/p/56804257
  3. https://www.xiaoz.me/archives/12318
  4. https://www.yangcs.net/posts/adguard-home/
  5. https://github.com/AdguardTeam/AdGuardHome#getting-started

作者:运维之美 链接:https://juejin.im/post/5d91666ef265da5b7326d71d 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

准备实现的功能:

搭建Linux(基本操作百度有很多我不打算给大家演示)

局域网分享通过SAMBA NFS

流媒体服务器 PLEX  点击我跳转安装教程

文件可视化管理 分享  kodexplorer(可道云) owncloud

无线音箱Airplay (支持音频的电脑可用)

KODI (选装可以省下一个硬盘网络盒子)

rutorrent (PT客户端 方便挂PT)点击我跳转安装教程

管理面板这个我在搜索资料找到适当的在发吧暂时保留!

因为都写在一个文章内 文章太长的缘故我已经把部分教程分开写了


基础篇:

准备硬盘的时候有一个问题需要注意你的主机要是有阵列卡的请配置好你阵列卡的硬盘然后再做系统的时候手动分区把其他分区分好了以后剩下的所有容量都分到home下,

如果你没有阵列卡 安装系统默认分区即可然后在Linux做软阵列 至于阵列模式根据自己的情况而定然后在按照下面的教程操作

ubuntu切换root权限并开启外网登录root权限

sudo passwd root (提示输入你现在用户的密码 然后在输入两次新密码 root账户就可以登录了)

su -l (输入之后输入上一个指令新建的密码)

apt-get update -y

apt-get install ssh -y (安装ssh)

vi /etc/ssh/sshd_config (在配置文件中找到PermitRootLogin这行吧后面的删掉改为YES即可)

service ssh restart

配置硬盘

lsblk(查看硬盘结构)

另类玩法用Linux做私有服务器NAS Linux 第1张

红色框框内就是需要我们配置的硬盘以及自动挂载

fdisk -l (查询硬盘)
root@LINUXNAS:~# fdisk /dev/sdb (硬盘写你自己的位置)
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xa654af95.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won’t be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

命令(输入 m 获取帮助): p (查看硬盘情况)

Disk /dev/sdb: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders, total 209715200 sectors
Units = 扇区 of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa654af95

设备 启动 起点 终点 块数 Id 系统

命令(输入 m 获取帮助): n (新建分区)
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p (新建主分区)
分区号 (1-4,默认为 1): 1 (需要分几个分区 我个人建议分一个)
起始 sector (2048-209715199,默认为 2048):(默认回车)
将使用默认值 2048
Last sector, +扇区 or +size{K,M,G} (2048-209715199,默认为 209715199): +98G(+的容量要小于实际容量一点 原因为啥自己百度 后面的单位必须为大写)

命令(输入 m 获取帮助): w (保存指令)
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

mkfs.ext4 /dev/sdb1 (格式化新加的硬盘)

开机自动挂载硬盘

mkdir /home/nas

查看更多关于 nas 的文章

(建设一个想要当NAS的根目录)

vi /etc/fstab (添加开机启动挂载目录)

/dev/sdb1 /home/nas

查看更多关于 nas 的文章

  ext4   defaults    0      0  (粘贴在最后一行下面)

reboot (重启)

lsblk (查看是否挂载成功)

另类玩法用Linux做私有服务器NAS Linux 第2张

如图所示 挂载成功!! 基本准备到此结束!!!


安装SAMBA NFS:

更换ubuntu的源地址为阿里源

mv /etc/apt/sources.list sources.list.bak (备份原文件)

vi /etc/apt/sources.list (新建文件之后把下面的粘贴进去)

-——————————————————————————————–
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse


apt-get update (更新)

安装SAMBA:

apt-get install samba

查看更多关于 samba 的文章

-y (安装SAMBA)

sudo smbpasswd -a root (用户名)

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.original

sudo install nano -y

sudo nano /etc/samba/smb.conf

-————将下面的内容,复制粘贴进去———————

[global]
netbios name = Linux NAS
server string = The Pi File Center
workgroup = WORKGROUP
hosts allow =
remote announce =
remote browse sync =

[Linux NAS] (名字随意)
path = /home/nas (需要连接的目录)
comment = No comment
browsable = yes
read only = no
valid users =
writable = yes
guest ok = yes
public = yes
create mask = 0777
directory mask = 0777
force user = root
force create mode = 0777
force directory mode = 0777
hosts allow =

-————-分界线———————————–

sudo service smbd restart

另类玩法用Linux做私有服务器NAS Linux 第3张

在Windows电脑内网络内搜索 如果没有 就在运行内输入\192.168.1.45(IP修改成你自己的)访问即可 SAMBA 安装以及配置到此结束!

安装NFS:

安装nfs:

apt-get install nfs-kernel-server

配置NFS

修改配置文件
vi /etc/exports

在最后一行添加 目录位置写你自己的

/home/nas *(rw,sync,no_root_squash,no_subtree_check)

前面那个目录是与nfs服务客户端共享的目录,*代表允许所有的网段访问(也可以使用具体的IP)
rw:挂接此目录的客户端对该共享目录具有读写权限
sync:资料同步写入内存和硬盘
no_root_squash:客户机用root访问该共享文件夹时,不映射root用户。(root_squash:客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户)
no_subtree_check:不检查父目录的权限。
2.2-nfs是一个RPC程序,使用它前,需要映射好端口,通过rpcbind 设定:

重启nfs服务

service nfs-kernel-server restart

Magi 是什么?

Magi 是由 Peak Labs 研发的基于机器学习的信息抽取和检索系统,它能将任何领域的自然语言文本中的知识提取成结构化的数据,通过终身学习持续聚合和纠错,进而为人类用户和其他人工智能提供可解析可检索可溯源的知识体系。

Magi 能做什么?

如果您是从 magi.com 来到这里的话,那么恭喜您发现了 Magi 的一半!这个长得很像搜索引擎的网站就是 Magi 的公众版本,但与搜索引擎不同,Magi 不仅收录互联网上的海量文本,还会去尝试理解并学习这些文本中蕴含的知识和数据。

不妨在 magi.com使用帮助)尝试搜索一些您关心的事物,或者直接提出问题,Magi 都将竭力为您提供高度聚合的结构化知识结果:

[video width=”1280” height=”620” mp4=”http://www.jarods.org/wp-content/uploads/2019/12/webui.mp4" loop=”true” autoplay=”true” preload=”auto”][/video]

每条信息会用颜色表示其可信度,点击可展开看到 Magi 是从哪些具体来源习得的该知识。

我们为 Magi 从零研发了一套互联网搜索引擎,所以 magi.com 同时提供全网规模的普通搜索结果。因此,即使不巧没有结构化结果,您也不会白来。

值得一提的是,上述的学习过程是在无人干预的情况下 7 x 24 小时不间断运行的,实时新闻事件中的知识一般只需要 5 分钟就会被掌握。随着可交叉验证的信息源不断增加,先前学习到的知识的可信度会被重新评估,使结果中的错误被自动纠正。

Magi 的使命

目前,互联网上只有极少数知识被人类手工整理成了机器可以解析的格式,如各种百科栏目和垂直领域数据库,然而这些信息仅仅是沧海之一粟,无论是覆盖范围更新频率可靠程度都无法满足日益增长的自动化和智能化需求。

其根本矛盾在于:读懂自然语言对人类来说不难,但人的精力有限,无法跟上有价值信息的产生速度,也不能保证稳定和客观;机器虽然不知疲倦且速度超群,但面对纷繁复杂的自由文本却难以利用,使得不可估量的价值被埋没于字里行间。

试想一下,假如有一个不断自动更新的数据库,包含着互联网各处的文本信息提取而成的便于程序和算法处理的数据结构,那么也许:

  • 各种语音助手不会再对您说:“对不起,我不清楚。”;
  • 商业智能可获得广泛的背景知识来做出更好的判断;
  • 金融信息服务的数据收集与验证的效率将显著提升;
  • … …

作为公众版本的 magi.com 为人类用户提供了与互联网数据交互的新方式,而 Magi 系统背后的技术平台则承载着另一半重要的意义:让机器像人一样能理解并充分利用互联网中无穷无尽的知识

Magi 的技术

在目前相关领域的尝试中,机器问答终究还是面向人类的服务,依照文本问题给出的文本回答并不能供下游任务直接利用。同时,问答模型本身无论从容量还是更新效率都无法满足规模化的需求,更致命的是模型中的知识存在于由浮点数组成的“黑箱”中,在我们看来将这些无法解读和溯源的信息直接呈现给用户并不是最负责任的做法。另外,基于文档检索的方案同样无法满足结构化的需求,在实时线上服务中效率限制会导致其难以评估全部文档来获得全局最优,而且其对用户输入的查询要求较高。

综上所述,我们认为知识提取的重要性远高于单纯地回答问题,主动发现潜在知识并持续提炼修正则显著强于被动地根据输入的问题去匹配结果。让机器去理解语言已经十分困难,而 Magi 更是选择面对其中最复杂的目标:开放领域的互联网文本,去直面规模化准确度这一组知识工程中的核心矛盾点。

[video width=”816” height=”720” mp4=”http://www.jarods.org/wp-content/uploads/2019/12/extraction.mp4" loop=”true” autoplay=”true”][/video]

一个简单的句子就包含大量交错重叠的信息,而 Magi 要以整篇文章为单位处理语法松散又充满错误的互联网文本,其难度可想而知。

为了提升信息的利用率,Magi 必须尽可能彻底地从每一段质量参差不齐且主题各异的文本中提取出全部知识。这决定了一切现有的技术方案都不可用:这不再是一个清晰的序列标注问题,交错叠加的关系使得搜索空间爆炸式增长,不受限制的领域还意味着根本没有可用的训练数据。

我们用了多年时间从零设计研发了整个技术堆栈:采用原创 succinct 索引结构的分布式搜索引擎、使用专门设计的 Attention 网络的神经提取系统、不依赖 Headless 浏览器的流式抓取系统、支持混合处理 170 余种语言的自然语言处理管线、… 。与此同时,我们默默耕耘并收获了独一无二的训练/预训练数据。

这个系统通过引入传统搜索中的 query-independent 质量因素,使得优质可靠的消息源会更被重视;其基于多级迁移学习的提取模型则完全摒弃了人工规则、角色标注、依存分析等限制泛化能力的环节,并且可在 zero-resource 的前提下直接应用到各种外语文本上并取得令人满意的效果;而随着数据的积累以及来源多样性的扩充,这个系统还能够持续学习与调整,自动消除学习到的噪音和错误结果;…

这些努力共同作用将 Magi 呈现于此。作为独特且具有前瞻性的项目,Magi 的部分数据与相关研究成果将定期公开于 Zenodo 和 arXiv 等平台。

Magi 的愿景

Magi 现在还远算不上成熟,但其特性决定了它无穷的可能性和成长空间。

从最棘手的互联网开放领域信息入手,Magi 证明了其作为 the One system to rule them all 的可能性。面对各种领域的文本信息,Magi 的技术方案则从逐项击破跃进到了大一统,这代表着有限到无限的区别。

随着数据量和可信度的不断增长,Magi 将作为知识的 ImageNet 来赋能各行各业。各个专业细分领域的信息提取任务,都可以通过利用少量数据对 Magi 模型进行 fine-tuning 来实现更优的方案。

也许在不远的未来,伴随着整个行业的进步,Magi 所构建的包容万事万物的结构化网络将成为通向可解释人工智能的基石。

了解更多

ProXmoX VE 介绍

Proxmox VE是一款套开源的虚拟化管理软件,用户可通过网页的方式来管理服务器上使用 kvm 以及 lxc 技术运行的虚拟机。同时提供了一些先进功能的支持,如集群、HA等。

PVE虽然是开源,却是由一个商业公司在运营、更新以及维护

ProXmoX VE 安装

基础准备

16G以上U盘一个(非必须,这个U盘是用来安装PROXMOX的,也可以直接装硬盘上,GEN8比较特殊,使用U盘引导比较方便,所以我安装在U盘上);4G以上U盘一个;

支持虚拟化技术的CPU;

如果要虚拟软路由,需要有2个网口以上,最好千兆

安装过程

首先去proxmox下载安装包,目前最新版本是5.2-1,推荐使用种子下载,速度会比较快,下载完成后务必使用使用工具进行SHA256校验,防止下载错误

然后使用软碟通把下载的ISO文件刻录进4G的U盘(本人使用GEN8的ILO4远程安装,有GEN8的朋友应该知道咋弄)。

接着把4GU盘和16GU盘插入电脑,BIOS中开启虚拟化支持(具体方法百度,BIOS太多,我就不放图了),一个网口接入路由,使用4GU盘引导启动很快就会进入安装界面。

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

此处选择第一项回车,稍微等待一会,进入下图界面

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

选择 I agree

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

这里选择你要安装的的硬盘或者U盘,选定后点击Next

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

这里一般会默认china,如果没有那就输入china,其他默认,点击Next

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

输入两遍管理密码和邮箱,点击Next

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

这里注意,查看一下是不是你局域网的网段,如果不是,很可能和路由之间网络不通,另外,Hostname这项的格式需为*.*,默认的是无法下一步的,我这里使用PVE.LEN,点击next,等待安装完成,出现如下界面时,说明安装已经完成,点击reboot,

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

然后拔掉4GU盘,等待重启完成,如果顺利,会出现如下界面

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

用另外一台电脑在浏览器中输入上面的地址进行访问

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

language选择chinese就可以中文访问啦,用户名输入root,密码为刚才安装时候输的两遍管理密码

ProXmoX VE 初始配置

 

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

由于proxmox一些功能是需要付费订阅的,虽然可以免费使用,但是每次登陆时候都会弹出如上让你订阅的通知,比较烦,我们这里通过技术手段把它屏蔽掉。

首先点击确定把它关掉,然后通过winscp打开以下文件/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js,或者直接在

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

shell中使用VI等工具编辑,找到if(data.status!==’Active’){,

替换为

if(false){

这条位置比较靠后,大约在800行,替换完成后保存文件,注销登陆,清理浏览器缓存,再次登陆,发现已经不再弹窗让你订阅啦。

接下来下来我们更新一下proxomx的软件,proxmox的底层毕竟是个debian系统,刚安装还是要更新一下的,在shell中输入aptupdate && apt dist-upgrade,回车,发现报错无法更新,查看官方文档发现需要更改一些设置,在shell输入

rm -f/etc/apt/sources.list.d/pve-enterprise.list

添加新的

echo“debhttp://download.proxmox.com/debian/pve stretch pve-no-subscription”>/etc/apt/sources.list.d/pve-install-repo.list

下载秘钥

Wget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg-O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg

再次输入apt update && apt dist-upgrade

已经可以正常更新,等待更新完成,更新完成后重启一下虚拟机

ProXmoX VE 磁盘映射

如果你的proxmox是直接安装在硬盘上的,那已经可以正常使用了,如果你和我一样是安装在U盘的,因为U盘空间比较小,需要弄个硬盘用来安装虚拟机

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

在磁盘中看下哪个是你要挂载的硬盘,一般推荐SSD,我这里需要挂载的设备目录为/dev/sdb,

在shell中输入mkdir /mnt/sdb创建sdb文件夹用来给磁盘挂载

输入fdisk /dev/sdb管理这个硬盘,给它分区

输入n新建分区

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

输入p建立主分区,

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

输入1创建一个分区,

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

这里是让输入这个分区的扇区起始位置,我们选择默认,直接回车

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

分区的扇区结束位置,默认,直接回车,到此就分区完成了,我们输入p查看一下

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

分区已经完成,目录为/dev/sdb1

输入w,保存并退出fdisk工具

输入mkfs -t ext4/dev/sdb1格式化一下

输入 mount/dev/sdb1 /mnt/sdb进行挂载

输入vim/etc/fstab 编辑一下这个文件,在最后追加

/dev/sdb1 /mnt/sdbext4 defaults 0 0

保存退出

使proxmox可以开机自动挂载.

然后依次点击数据中心-存储-添加-目录

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

ID随意,目录输入刚才挂载的目录,内容都选上,点添加,

最后点OS查看一下是否正常识别

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

基础安装完工,下篇主要内容为虚拟软路由的安装配置,敬请期待

一、环境介绍

PVE版本:Proxmox Virtual Environment 5.4-3

LEDE版本:openwrt-koolshare-mod-v2.31-r10822-50aa0525d1-x86-64-combined-squashfs.img.gz

二、环境创建

1、点击“创建虚拟机”按钮,勾上“高级”,勾上“开机自启动”(软路由一般情况下开机启动),名称填入虚拟机名称(例如LEDE),点击“下一步”

487-1.png

2、操作系统选择“Linux”,版本选择“4.X/3.X/2.6 Kernel”即可,选择“不适用任何介质”,点击“下一步”

487-2.png

3、系统默认即可,点击“下一步”

487-3.png

4、硬盘,这边随便设置,之后会删除的,点击“下一步”

487-4.png

5、CPU按照实际情况选择,点击“下一步”

487-5.png

6、内存大小设置,也是根据实际情况选择,点击“下一步”

487-6.png

7、网络模型选择“intel E1000”,关闭防火墙(勾去掉),点击“下一步”

487-7.png

8、直接点击“完成”

487-8.png

9、选择“LEDE” –> “硬件”,找到硬盘,选中点击“分离”

487-10.png

10、硬盘分离后,选中未使用的磁盘0,点击“删除”

487-9.png

三、磁盘设置

1、解压openwrt-koolshare-mod-v2.31-r10822-50aa0525d1-x86-64-combined-squashfs.img.gz文件,解压出openwrt-koolshare-mod-v2.31-r10822-50aa0525d1-x86-64-combined-squashfs.img重名为openwrt.img(原来文件名太长,输命令比较麻烦)

2、使用WinSCP把openwrt.img上传到根目录

487-11.png

3、添加磁盘。选择Shell,输入qm importdisk 100 /openwrt.img local-lvm 会看到vm-100-disk-0正在创建

100是虚拟机编号,openwrt.img是刚才上传的lede镜像

487-12.png

4、添加磁盘。进入LEDE硬件设置,选中未使用的磁盘0,点击编辑,弹出窗口默认配置即可,直接点击添加

487-13.png

487-14.png

5、调准磁盘大小,选中硬盘,点击“调整磁盘大小”,弹出框 输入要增加的磁盘大小。

487-15.png

四、启动顺序

LEDE选项,引导顺序,改为硬盘

487-16.png

五、启动LEDE并配置(略)

这里我就不详细说明了。

487-17.png

六、添加网卡(略)

关闭lede,添加网卡,配置好LEDE的lan之后再添加网卡会比较方便不容易出问题。

至此,PVE安装LEDE就差不多完成了。

一、环境介绍

1、Proxmox VE(以下简称PVE) 5.4-3

2、黑群晖引导(本教程采用DSM3617-1.03b引导)由Jun大神提供(相关文件可从网盘下载)

3、黑群晖系统PAT安装包(本教程安装DSM3617  6.2-23739版本)可从网盘下载,也可以从官网下载

二、环境创建

1、点击“创建虚拟机”按钮,勾上“高级”,勾上“开机自启动”(软路由一般情况下开机启动),名称填入虚拟机名称(例如DSM),点击“下一步”

488-1.png

2、操作系统选择“Linux”,版本选择“4.X/3.X/2.6 Kernel”即可,选择“不适用任何介质”,点击“下一步”

488-2.png

3、系统默认即可,点击“下一步”

488-3.png

4、硬盘,随便设置,之后会删除的,点击“下一步”

488-4.png

5、CPU按照实际情况选择,点击“下一步”

488-5.png

6、内存大小设置,也是根据实际情况选择(如果仅当下载机用的话,设置2G内存就足够了;如果多套件使用,建议设置8G以上内存),点击“下一步”

488-6.png

7、网络模型选择“intel E1000”,点击“下一步”

488-7.png

8、确认配置,直接点击“完成”

488-8.png

9、删除硬盘,选择“DSM” –> “硬件”,找到硬盘,选中点击“分离”

488-9.png

10、硬盘分离后,选中未使用的磁盘0,点击“删除”

488-10.png

三、硬盘设置

1、使用WinSCP把下载的.img引导文件改成英文的文件名synoboot.img并上传到PVE的根目录

2、进入DSM虚拟机Shell,输入qm importdisk 101 /synoboot.img local-lvm回车,会看到vm-101-disk-0正在创建

(101是虚拟机编号,synoboot.img是刚才上传的引导镜像)

488-11.png

3、添加磁盘。进入LEDE硬件设置,选中未使用的磁盘0,点击编辑

488-12.png

4、总线/设备选择SATA和0,磁盘镜像选择vm-101-disk-0

488-13.png

5、引导顺序,改为硬盘,Disk ‘sata0’

488-14.png

6、添加一块系统盘,点击“硬件”,添加“添加”下拉菜单中的“硬盘”,总线/设备选择SATA和1,存储选择local-vm,根据你的具体情况设置磁盘的大小(本教程设置为16G)

488-17.png

488-18.png

四、群晖安装

1、启动DSM虚拟机

2、内网访问网页http://find.synology.com,找到未安装的群晖

488-15.png

3、用户协议,勾上确定,下一步

488-16.png

4、点击“设置”。(如果你直通了硬盘并且之前已经在群晖系统中正常使用的,此时系统会显示“还原”或者“恢复”。建议把硬盘的第一个分区格式化一次后再重新来安装)

488-19.png

5、点击“手动安装”,选择从下载好的DS3617xs的6.2-23739.pat安装包(需要注意的是引导必须和安装包要匹配,否则安装教程中会报错),点击立即安装

488-20.png

488-22.png

6、会提示硬盘1、2数据会被删除,1是引导盘,2是系统盘

488-21.png

7、等待安装完成

488-23.png

8、DSM初次进入的配置(略)

9、进入到DSM桌面后的图

488-24.png

至此,黑群晖安装完毕,需要注意的是如果你的物理网卡不能进行升级,一旦升级就启动不了。

Proxmox VE(以下简称PVE)免费版本,每次登陆都要弹出订阅窗口,提示没有有效订阅“You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options.”

486-1.png

解决方法:

1、5.4版本

修改文件/usr/share/pve-manager/js/pvemanagerlib.js,大概37959行

486-2.png

Proxmox.Utils.checked_command(function() {}); // display subscription status 改成
//Proxmox.Utils.checked_command(function() {}); // display subscription status

2、5.2版本

修改文件/usr/share/pve-manager/js/pvemanagerlib.js,大概352行

if (data.status !== ‘Active’) {
改为
if (false) {

修改方法可能多种多样,不同的版本可能也会有不一样

3、也可以到SSH下输入命令去除订阅:

1
sed -i.bak "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service

前面介绍过一个PVE下给群晖添加E1000e网卡的教程:《在ProxmoxVE (PVE)系统下给群晖添加E1000e网卡,让它支持DSM最新版本》,但是这个方法仅对某个虚拟机而已。今天介绍另外一种方法,把E1000e网卡添加到PVE系统里面,这样在新增虚拟机的时候,就可以直接选择。

本教程在PVE6.09下测试通过,其他的PVE版本请自行测试。需要注意的是:修改有风险,修改前请自觉做好文件备份!

具体操作如下:

一、电脑打开WinSCP,以root用户登录PVE,找到 /usr/share/perl5/PVE 目录下的 QemuServer.pm 文件,用Notepad++编辑,大约在837行找到这行内容:

把原内容:

1
my $nic_model_list = ['rtl8139', 'ne2k_pci', 'e1000', 'pcnet', 'virtio','ne2k_isa', 'i82551', 'i82557b', 'i82559er', 'vmxnet3','e1000-82540em', 'e1000-82544gc', 'e1000-82545em'];

改成:

1
my $nic_model_list = ['rtl8139', 'ne2k_pci', 'e1000', 'e1000e', 'pcnet', 'virtio','ne2k_isa', 'i82551', 'i82557b', 'i82559er', 'vmxnet3','e1000-82540em', 'e1000-82544gc', 'e1000-82545em'];

确认一下修改无误后保存退出;

二、找到 /usr/share/pve-manager/js 目录下的 pvemanagerlib.js 文件,用Notepad++编辑,大约在1813行找到这行内容:

把原内容:

1
if ((match_res = p.match(/^(ne2k_pcie1000e1000-82540eme1000-82544gce1000-82545emvmxnet3rtl8139pcnetvirtione2k_isai82551i82557bi82559er)(=([0-9a-f]{2}(:[0-9a-f]{2}){5}))?$/i)) !== null) {

改成:

1
if ((match_res = p.match(/^(ne2k_pcie1000e1000ee1000-82540eme1000-82544gce1000-82545emvmxnet3rtl8139pcnetvirtione2k_isai82551i82557bi82559er)(=([0-9a-f]{2}(:[0-9a-f]{2}){5}))?$/i)) !== null) {

确认一下修改无误后保存退出;

三、在当前文件向下拉,大约在4555行处找到这些内容:

把原内容:

1
2
3
4
5
['e1000', 'Intel E1000'],
['virtio', 'VirtIO (' + gettext('paravirtualized') + ')'],
['rtl8139', 'Realtek RTL8139'],
['vmxnet3', 'VMware vmxnet3']
]

改成:

1
2
3
4
5
6
['e1000', 'Intel E1000'],
['e1000e', 'Intel E1000e'],
['virtio', 'VirtIO (' + gettext('paravirtualized') + ')'],
['rtl8139', 'Realtek RTL8139'],
['vmxnet3', 'VMware vmxnet3']
]

确认一下修改无误后保存退出;

四、关掉WinSCP,回到PVE管理界面,关掉所有的虚拟主机,重启PVE;

五、宿主机重启完成以后重新登录PVE,这时我们去新建一个PVE的虚拟机,配置到网络模型的时候,就会发现比之前多出“E1000e”这个网卡,能不能好好的把DSM升级到最新版本就看大家了。