一文教会搭建私家服务器,享受自主可控的VIP网盘和影音系统

分类:必过网校动态日期:2024-07-27 02:52:20人气:


ethernets: enp1s0: dhcp4: false option: true enp2s0: option: truebridges: br0:interfaces: - enp1s0 地址: - 192.168.2.18/24 开启STP协议,防止环路; version: 2 renderer: 网络应用程序配置

Netplan适用4.3,Web远程管理实现利用驾驶舱管理面板实现远程管理。该软件有很多组件,可以根据自己的需要进行安装。这里安装了虚拟机管理组件cockpit-machine。

apt install cockpit cockpit-machine

一、需求规划

一文教会搭建私家服务器,享受自主可控的VIP网盘和影音系统

使用以下命令安装必要的证书并允许apt 包管理器通过HTTPS 使用存储库:

apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release 添加Docker 的官方GPG 密钥:

卷曲-fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 添加Docker 官方库:

回声34; | tee /etc/apt/sources.list.d/docker.list /dev/null 更新Ubuntu 源列表:

apt update 安装docker-ce、docker-compose

apt install docker-ce docker-compose5.1,创建docker网络Docker默认的bridge网络没有开启ipv6,这里创建一个支持ipv6的容器网络

docker 网络创建--ipv6 dnet65.2,docker-compose。安装开源应用程序并在您最喜欢的目录(例如:/me)中创建撰写文件以实现各种功能。

version: 34;34;docker network create --ipv6 dnet6--------------------服务启动---------------- -------------nginx反向代理(我只用它来代理密码库)--------34;4430:443需要在宿主机中创建nginx.conf配置文件首先目录- ./nginx/conf.d:/etc/nginx/conf.d - ./nginx/html:/usr/share/nginx/html - ./nginx/log:/var/log/nginxenvironment: - TZ=Asia/上海重启:始终dokuwiki: image: docker.io/linuxserver/dokuwiki:latest container_name: dokuwiki ports: - 8001:80 - 34;环境: - PUID=1000 - PGID=1000 - TZ=亚洲/上海: - 卷./dokuwiki:/config restart:始终vaultwarden: image: docker.io/vaultwarden/server:latest container_name:Vaultwarden ports: - 34;环境: - WEBSOCKET_ENABLED=true - LOG_FILE=/log/bitwarden.log - ADMIN_TOKEN=你的密码- ROCKET_TLS={certs=34;key=34;} ---------- ------ ----私有网盘--------------------34;5212:443存放自己生成的SSL证书depends_on: - aria2 aria2: container_name: aria2 image: docker .io/p3terx/aria2-pro restart: 始终为ports: - 34; environment: - RPC_SECRET=your-password ------------私有音视频平台-------------runtime: runc ports: - 34; - 34; - 7359:7359/udp - 1900:1900/udp 设置自己音视频文件的存储位置- ./media/path2:/data/media2:ro VAAPI/NVDEC/NVENC渲染节点重启:总是environment: - PUID=0 1000表示docker用户;0表示根用户; - TZ=亚洲/上海可选- 自动下载并安装中文字体以用于首次创建docker 可选- 如果在主机网络模式下运行,可能需要通过docker 健康检查- 34;进入compose.yml所在目录,执行以下命令拉取镜像并创建容器。

docker-compose up -d 注意:

1:对于喜欢使用podman的人,这里可以使用podman代替docker。 Cockpit 还有一个专门支持podman 的插件cockpit-podman,可以在Web 上实现podman 容器的图形化管理。

2:以上开源软件基本都可以启用HTTPS加密访问,但需要自己配置证书;

5.3.配置nginx反向代理,修改nginx配置文件:nginx目录/conf.d/default.conf:

服务器{ 监听443 ssl;听[:]:443 ssl;配置你使用的域名并填写真实服务器的ip和端口} 5.4. DDNS+IPv6可实现外网访问。由于ipv4地址资源非常紧张,目前一般的宽带网络已经没有ipv4公网地址了。但幸运的是,IPv6非常丰富,大多数人都可以获得可以从公网访问的IPv6地址。所以我们可以使用ddns+ipv6来实现远程访问。

Ddns选择:选择国外免费ClouDNS,可以申请免费二级域名; (国内花生壳/贝瑞的免费ddns有很多限制,很难用) 注册域名:cloudns是国外网站,默认情况下,中国用户是无法申请免费域名的,必须上网去申请它。申请流程比较简单,自己申请即可。配置动态域名:申请域名后,在cloudns管理后台添加AAAA记录,填写您主机的IPv6地址。然后点击AAAA记录旁边的动态按钮(动态域名),系统会弹出脚本下载窗口。因为我在Linux上,所以我选择下载perl脚本(其他脚本也是可以的)。定时运行脚本:将下载的脚本放在某个目录下,然后运行以下命令设置定时任务。 crontab -e 按i 并在文本末尾添加上下文: */5 * * * * /me/ddns/dynamic-url-perl.pl 。输入:wq保存退出。这样,IP的动态域名每5分钟更新一次。注意:由于perl脚本依赖于http:tiny模块,因此需要通过以下命令安装libhttp-tiny-perl。

apt 安装libhttp-tiny-perl

5.5.客户端使用的知识库(wiki):直接网页访问,客户端只要有浏览器就可以顺利访问;音视频系统:直接web访问,也可以安装jellyfin官方提供的app,或者与kodi集成;密码库:浏览器安装bitwarden插件,自动记录密码,一键自动填写密码;网络磁盘:可以通过web访问电脑,也可以使用Raidriver软件使用webdav协议映射本地磁盘。手机可以使用solidexplorer文件管理器连接并使用webdav。后端管理:可以通过cockpit提供Web管理,也可以通过ssh进行命令行配置。

二、系统架构图

6.1。配置intel-vt 和iommu 直通。由于我的机器是intel CPU,因此我需要启用intel-vt和intel_iommu功能。

Intel-vt 功能:在主机BIOS 中启用。如果是AMD CPU,则需要启用AMD-v虚拟化功能。 Intel-iommu功能:在ubuntu系统中执行命令vi /etc/default/grub。修改行示例:GRUB_CMDLINE_LINUX_DEFAULT=34;修改完成后,执行更新grub update-grub6.2的命令,下载openwrt镜像,在openwrt官网的镜像选择器中选择下载。

这里我根据自己的CPU架构选择了x86/64,选择了软件的最新release版本,并下载了openwrt-22.03.5-x86-64-generic-ext4-combined.img.gz。

三、环境准备

直接通过scp上传,命令如下:

scp d:\download\openwrt-22.03.5-x86-64-generic-ext4-combined.img.gz user@serverip:/data/

四、系统安装及初始化

gzip -d openwrt-22.03.5-x86-64-generic-ext4-解压combined.img.gz后,得到openwrt-22.03.5-x86-64-generic-ext4-combined.img文件。

五、docker平台安装

访问座舱管理页面并以root用户登录;打开虚拟机选项卡并单击导入虚拟机;在import vm界面中,名字好记。磁盘镜像选择之前解压的img文件。对于操作系统,选择debian。 (因为openwrt是基于debian的):

六、虚拟机搭建op软路由+zerotier内网穿透

在驾驶舱页面点击openwrt虚拟机进入配置页面,在主机设备选项卡中添加无线网卡透传(这里是AR93xx无线网络适配器);启动虚拟机,openwrt启动成功后才会识别到虚拟网卡,自动将其视为LAN接口;通过虚拟机:vi中的命令行界面修改LAN网络配置/etc/config/networkconfig界面39;可选装置39;选项协议39;选项网络掩码39;选项ipaddr 39; 39;6039;192.168.1.254 根据需要替换网关列表dns 39;这里的IP可以暂时改为我们局域网内可用的IP地址,添加如下配置即可实现单臂路由上网。

配置完成后,输入以下命令重启。重启完成后,就可以通过之前设置的IP(默认用户root,无密码)登录openwrt web图形界面了。所需主要操作如下:系统自动提示您设置密码,更新菜单“system:软件”下的列表,安装luci-i18n-base-zh-cn软件提供中文支持;菜单“系统:管理权限”下设置SSH访问root密码;在“系统:软件包”菜单下安装“kmod-ath9k”,为无线网卡提供驱动支持(不同的网卡需要安装不同的程序)。在“系统:软件包”菜单下安装“hostapd”,提供无线AP软件支持。重新启动系统后,菜单中将添加“无线”选项卡;在菜单“网络:无线”中配置您想要的无线网络(SSID和密码)并将无线绑定到局域网;

6.3、上传openwrt镜像

Virtual in cockpit 在机器界面进入虚拟机配置,添加一块网卡作为WAN,并将网卡设置为bridge to lan。在虚拟机全局配置的网络配置中,添加一个名为“私有”模式的网络,并将其设置为隔离网络(目的是为了将LAN和WAN连接到不同的网络,避免DHCP和Internet数据流混淆);将原来的LAN设置端口的网卡模式连接到“私有”网络;在cockpit虚拟机配置页面,关闭openwrt虚拟机,然后再次启动虚拟机,使网卡更改生效;进入虚拟机后,将LAN口的IP更改为你想要的。所需的IP网段,并删除网关和dns配置;将笔记本电脑连接到openwrt的无线网络,通过web界面登录openwrt;在菜单“Network:Interface”中添加接口“wan”并绑定“eth1”;在wan接口配置上网IP(静态IP/掩码/网关/dns);

6.4、解压镜像

web登录openwrt,在菜单“System:Package”中搜索“zerotier”,在搜索结果中安装“zerotier”通过ssh登录openwrt,使用以下命令配置zerotieruci set Zerotier .openwrt_network=zerotieruci add_list Zerotier.openwrt_network.join=39;uci set Zerotier.openwrt_network.enabled=39;uci commit Zerotier 返回Web界面,在菜单“Network:Interface”添加一个接口“named Zerotier”,绑定接口改为zerotier的虚拟接口,防火墙选择定制(名称“dmz”);

6.5、 创建虚拟机

配置dmz区域规则:在防火墙接口中添加区域设置,名称dmz,目标区域不指定,入站、出站、转发均为ACCEPT,ip伪装不勾选;修改lan区域规则:在lan规则中将dmz区域添加到允许转发的网络中;

6.6、 添加无线网卡直通

由于篇幅限制,以上记录尽量简化(根据自己搭建笔录简化),但主要步骤全部保留,私服、VIP网盘、VIP音视频功能系统可以完全实现。当然,可以结合容器安装更实用的开源软件,实现更多功能。只要你的小主机还有资源。

版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。

本文永久网址:

获取方案
咨询电话
13697281325
TOP 在线咨询
TOP TOP