build private network

zzyNorthPole

最近尝试为笔记本和台式机搭建私人网络,使用到了远程桌面、串流等多种技术,特此记录一下。

ddns-go

ddns-go用于将本地的动态IP绑定到特定的域名上方便寻址。在配置了ddns-go后,能够较为方便的通过域名来访问被用作服务器的主机。

在Ubuntu20.04平台上安装ddns-go的过程较为简单,首先从ddns-go 下载ddns-go文件,特别注意其解压后容易散,因此最好在一个专用文件夹内解压。之后使用命令 sudo ./ddns-go -s install安装ddns-go,其会自动配置systemd服务,开机自启动。此后打开ddns-go 就能进入ddns-go的配置界面。在配置阿里云域名的过程中,需要填入AccessKey ID和AccessKey Secret。之后在IPv4和IPv6的Domains填入你的域名。这样就能够通过域名远程访问的主机了。

sunshine and moonlight

sunshine和moonlight是串联工具。sunshine是服务端,moonlight是客户端。在我的配置中,moonlight是通过在ddns-go中配置好的域名直接访问sunshine,获得视频信号实现串流。

由于sunshine已经不支持Ubuntu20.04,因此我选择了最近支持Ubuntu20.04的版本 进行下载。在安装的过程中需要添加依赖 sudo apt install libmfx-dev libboost-filesystem-dev libboost-locale-dev libboost-log-dev libboost-program-options-dev miniupnpc libayatana-appindicator3-dev,此后通过sudo dpkg -i sunshine-ubuntu-20.04-amd64.deb进行安装。安装之后直接输入sunshine启动即可。特别注意,不建议将sunshine配置成为开机启动的服务,很不稳定。

下载moonlight ,直接安装后通过域名连接sunshine。

以上的方案特别不稳定,而且不支持开机启动,但是连上之后的串流效果较好。

rustdesk

rustdesk是远程桌面软件,可以通过ID直连,也能通过中继处理器转发。

在ubuntu20.04主机上安装rustdesk是通过链接 下载,运用 sudo dpkg -i rustdesk-1.3.8-x86_64.deb安装,安装前需要添加依赖 sudo apt install libxdo-dev gstreamer1.0-pipewire

在macos上安装rustdesk是点击通过链接 .

安装完成后可以通过ID和密码建立连接。

在服务器上安装rustdesk server需要下载hbbr hbbs ,通过 sudo dpkg -i *.deb安装。安装好后会自动配置成开机启动服务。可以如下命令激活:

1
2
3
4
5
sudo systemctl daemon-reload
sudo systemctl enable rustdesk-server-hbbr
sudo systemctl enable rustdesk-server-hhbs
sudo systemctl start rustdesk-server-hbbr
sudo systemctl start rustdesk-server-hhbs

注:

1
2
3
4
5
6
7
8
9
10
sudo systemctl enable service # 添加服务
sudo systemctl start service # 启动服务
sudo systemctl status service # 查看服务状态
sudo systemctl stop service # 停止服务
sudo systemctl disable service # 移除服务
systemctl --user enable service # 添加用户级服务
systemctl --user start service # 启动用户级服务
systemctl --user status service # 查看用户级服务状态
systemctl --user stop service # 停止用户级服务
systemctl --user disable service # 移除用户级服务

此后在 /var/lib/rustdesk-server目录下能够查找到id_ed25519.pub。将服务器的地址填入到客户端的Network设置ID/Relay server栏的ID server和Relay server条目中,将公钥填入到Key中,客户端会自动与服务器连接。特别注意的是,需要打开在服务器控制台打开防火墙的21115(TCP),21116(TCP/UDP),21117(TCP),21118(TCP/UDP),21119(TCP)端口。由此便能实现通过中继服务器转发远程桌面。

tailscale

tailscale用于组建虚拟局域网。在设备上登录tailscale官网,下载相关的app并安装,能够将同一个账号下的所有设备置于同一局域网下。

  • Title: build private network
  • Author: zzyNorthPole
  • Created at : 2025-03-06 10:31:12
  • Updated at : 2025-03-06 22:41:16
  • Link: https://zzynorthpole.github.io/2025/03/06/build-private-network/
  • License: This work is licensed under CC BY-NC-SA 4.0.
On this page
build private network