校园网串流方案
Pasule Article Brief
先掌握这篇文章的结构,再开始往下读
🌟串流核心要点了解P2P原理和使用异地组网工具搭建内网环境使用ipv6 直连了解frp中转原理和使用中转服务器实现串流接触了解Sunshine和Moonlight工具
Reading For
适合谁读
适合希望把单篇文章读成一条可持续知识路径的读者。这篇内容会重点围绕 计网 / 服务器 / 内网穿透 展开。
Takeaways
你会拿到什么
- 你可以顺着 🤖串流软件配置 / Sunshine 基地版 / Moonlight v+ 这条目录主线快速建立结构感。
Reading Path
推荐怎么读
当前位于《计算机网络》第 1 / 1 篇,读完后继续往后接会更顺。
校园网串流方案
🌟串流核心要点
了解P2P原理和使用异地组网工具搭建内网环境
使用ipv6 直连
了解frp中转原理和使用中转服务器实现串流
接触了解Sunshine和Moonlight工具
🤖串流软件配置
Sunshine 基地版
Github地址:Releases · AlkaidLab/foundation-sunshine
安装
安装会给出许多安装组件
首次安装推荐所有组件都安装,非首次如图勾选
设置
配对(pin)
如图所示,配对码是后面Moonlight发送过来的
在应用中可以配置主页,steam,游戏等页面
在网络设置中将UPnP打开。IP改为IPv4+IPv6;注意下面Sunshine使用的端口,在防火墙中要放行这些端口。
将所有加密模式设为禁用
Moonlight v+
Github 地址:Releases · qiin2333/moonlight-vplus
在电脑端按win键,搜索cmd,回车,输入ipconfig
找到自己设备的ipv4地址
在局域网环境下,Moonlight中输入设备的ipv4地址,检索到设备。点击向Sunshine发送配对码,配对成功后完成基础设置
设置
在moonlight v+里可以设置串流时的分辨率和帧数,虚拟手柄,虚拟麦克风等等。
在高级设置里推荐开启性能监控图层,这个HUD非常舒服,能看到网络延迟,帧数,丢包率和编解码速度,帮助你更好地排除问题。
🛜IPv6直连方案
如果你的校园网很幸运地有ipv6地址,那么恭喜你,你可以直接通过IPv6直连。
👉 校园网 IPv6 =
免费高速公网 + 低延迟 + 可直连服务器
核心就是:
手机 / 笔记本(Moonlight)
↓(IPv6直连)
你的电脑(Sunshine)
前提条件
✅ 1. 两端都有 IPv6
- 校园网 ✔
- 手机:
- 流量:基本支持
- WiFi:看运营商
👉 测试:
Sunshine 主机配置
记录ipv6地址
例如:
[2408:xxxx:xxxx:xxxx::1234]
在地址中输入主机的IPV6地址,记得在主机防火墙放行Sunshine对应端口
优化
🚀 1. 强制走 IPv6(避免走 IPv4)
有时候系统会优先 IPv4
👉 Windows:
Bash
1 | netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 10 4 |
👉 或直接:
- 在 Moonlight 只填 IPv6(推荐)
👉 校园网 IPv6:
- 可以直接拉高码率(根据你校园网的带宽,ipv6受到的限制较小)
🛜异地组网P2P连接
当我们的两台设备处于不同的网络环境下,moonlight就没法实现串流,怎么解决呢,就是通过内网穿透工具ZeroTier/皎月连打孔,搭建一个虚拟网络,实现两台设备在一个虚拟的局域网内,这样moonlight就可以在同一个虚拟局域网下实现串流了
皎月连下载地址:皎月连一键内网穿透
服务端:
打开软件并登录,在左侧选择“服务端”
1.开启“组网模式”开关
2.输入6-20位页面访问密码(这个作用是限制其他组网进来的客户端访问控制页面)
3.点击左下方“开启服务”按钮,成功后按钮会变成黄色
客户端(这里以安卓举例):
打开软件并登录
1.在左上方列表中选择一个在线主机(服务端的主机名)
2.点击下方“连接”按钮,连接成功后按钮会变成黄色(安卓端第一次使用会询问是否授权,选择“是”)
3.记住映射列表中的局域网ip【10.6.22.1】 按手机home键将软件后台运行
4.打开应用软件(moonlight),输入虚拟局域网ip【10.6.22.1】建立连接
注意
有些校园网的NAT非常严格,UDP打洞几乎必然失败
校园网结构:
👉 对称 NAT(Symmetric NAT)
特点:
- 每个目标地址都会分配不同端口
- 外部无法“反向连接你”
🚫 二、防火墙 / 端口封锁
校园网通常会:
- ❌ 禁 UDP(尤其是高端口)
- ❌ 限制 47984 / 47989(Moonlight常用端口)
- ❌ 限制外网入站连接
👉 就算 NAT 可以,端口被封也会失败
博主本人的校园网环境就属于这种,通过皎月连无法实现异地组网。但还有第三种办法
🛜使用云服务器配合 FRP进行内网穿透
使用云服务器配合 FRP(Fast Reverse Proxy)进行内网穿透,是目前校园网环境下最稳定、成功率最高的串流方案。
整个过程分为三步:云服务器端配置(frps) -> 校园网电脑端配置(frpc) -> 连接测试。
云服务器配置
首先,你需要准备一台云服务器,如果你是个学生,那么很幸运,你可以通过阿里云学生认证,搞到一台半年的2核2G200Mbps的服务器😁,这种性能拿来搞FRP已经是杀鸡用牛刀了。(系统选Ubuntu 即可)
购买好服务器后,进入防火墙页面,把sunshine所需要的端口全部放行
配置好后,通过ssh登上服务器(这一步自找教程)。在服务器上搭载好frp服务
去 Github 下载对应架构的 frp 压缩包,Github地址:Releases · fatedier/frp(推荐本地下载好后上传到服务器,云服务器访问github地址经常中断,换镜像站也不好使)
下载完成后,执行解压命令(这里用的是v0.58):
Bash
1 | tar -zxvf frp_0.58.1_linux_amd64.tar.gz |
进入解压出来的文件夹:
Bash
1 | cd frp_0.58.1_linux_amd64 |
确认配置文件
进入文件夹后,我们要检查一下服务端配置文件 frps.toml。新版 FRP 默认的配置文件已经帮你写好了 bindPort = 7000,完全不需要你改代码!
你可以输入下面这个命令看一眼:
Bash
1 | cat frps.toml |
如果屏幕上输出了 bindPort = 7000,说明一切完美,直接进入下一步
试运行服务
现在,我们要让服务端跑起来,测试一下之前阿里云防火墙放行的 7000 端口通没通。输入:
Bash
1 | ./frps -c ./frps.toml |
成功的标志: 如果你按下回车后,屏幕上弹出了几行日志,并且最后一行写着类似 frps started successfully 或者 Run frps successfully,那么恭喜你!你的云服务器中转站已经成功启动了!
让 FRP 在后台静默运行
刚才的试运行状态下,如果你把 SSH 连接窗口关掉,FRP 就会跟着断开。为了让它 24 小时待命,我们需要把它挂在后台运行。
先在刚才的黑框里按 Ctrl + C,停掉试运行的程序。
然后,复制并执行这行“后台运行”命令:
Bash
1 | nohup ./frps -c ./frps.toml > frps.log 2>&1 & |
执行完后,屏幕可能会跳出一行提示(比如 [1] 12345),直接按一下回车键即可。 (这行命令的意思是:把 frps 放到后台静默运行,哪怕你现在关掉电脑、关掉阿里云页面,它也会一直在服务器里默默工作)
到这里,云服务器端的所有配置已经 100% 搞定了!
PC端FRP配置
在本地下载 Windows 版 FRP(注意版本与服务器端保持一致)
解压并修改配置文件
- 把下载的 zip 压缩包解压到一个你常用的文件夹(比如 D 盘的某个文件夹)。
- 在解压出来的文件夹里,找到
frpc.toml这个文件。- 右键 -> 打开方式 -> 记事本。
- 把里面的内容替换成下面这段代码
1 | serverAddr = "你的服务器公网地址" |
保存,之后我们还要做一些收尾工作。
把 FRP 文件夹加入“白名单”(以 Windows 自带的 Defender 为例)
如果你装了火绒或 360,请在它们的设置里找到“信任区/白名单”,把你frp所在的文件夹加进去。如果是 Windows 自带的安全中心:
点击电脑右下角的盾牌图标,打开 Windows 安全中心(或者在开始菜单搜“Windows 安全中心”)。
点击 “病毒和威胁防护”。
在“病毒和威胁防护设置”下,点击 “管理设置”。
往下滚动到底部,找到“排除项”,点击 “添加或删除排除项”。
点击 “添加排除项” -> 选择 “文件夹”,然后选中你的文件夹
设置FRP服务开机自启
- 在你电脑随便哪个位置(比如桌面,或者你的 FRP 文件夹里),右键新建一个 文本文档 (.txt)
- 打开它,把下面这两行代码原封不动地复制进去(这利用了 Windows 自带的 VBS 脚本功能,作用是后台静默执行刚才那段启动代码):
1 | Set ws = CreateObject("Wscript.Shell") |
保存文件,然后关掉记事本。
把这个文本文件的名字重命名为 **
start_frpc.vbs**(注意:后缀名一定要从.txt改成.vbs。如果你的电脑看不到后缀名,请先在文件夹顶部的“查看”里勾选“文件扩展名”)。测试一下: 双击运行这个
start_frpc.vbs。你会发现屏幕上没有任何反应(没有黑框弹出),但如果你此时去手机上打开 Moonlight,看看能否连接!
把脚本加入“开机自启”
现在它能隐身运行了,我们再让它开机自己启动:
按住键盘上的
Win + R键,调出“运行”窗口。输入
shell:startup并按回车。把刚才做好的那个
start_frpc.vbs文件,剪切并粘贴到这个“启动”文件夹里。
成果
使用中转服务器,主机连着网线的话,一般延迟是稳定在30ms左右的,当然,这也跟校园网的体质有关系。如果出现端口未转发的错误报告的话,检查一下服务器和主机的防火墙设置.Moonlight它一般会设置两个地址,一个局域网一个公网。局域网走不通会自动走公网。
如果延迟和丢包依然比较高的话,将码率降到10M以下,检查一下上行带宽是否正常。因为校园网有AP隔离和QOS策略
效果图

















