Steam Frame只使用6Ghz接收器上网和串流

Steam Frame只使用6Ghz接收器上网和串流

· json · rss
Subscribe:

About

原理倒也不复杂,通过隧道NAT上网,本文提供一个方法,可以直接让agent执行,使用此教程前请确保你已经开启SSH,并通过Frame的热点IP(10.35.78.1)连接SSH

一、登录到Frame SSH

依此执行

sudo steamos-readonly disable #关闭文件系统只读

sudo pacman -S wireguard-tools plasma-nm #安装wireguard vpn和kde网络管理工具

二、配置Windows网络共享和Wireguard,因为我的内网已经在使用FRC1918所有地址段,此处借用CGNAT段来使用

下载wireguard 点击此处

安装完成后按照图示添加隧道,添加完成后点击连接

[Interface]
PrivateKey = WCgDldEWNM3Goa+JvkvoqSsjr2ROfIHOD9sCpZm1asU=
Address = 100.64.0.1/32

[Peer]
PublicKey = 79DvHfCNKO8au9txa8spidOh29uGpu7JuwRxiNedBX8=
AllowedIPs = 100.64.0.0/24
Endpoint = 10.35.78.1:51820
PersistentKeepalive = 25

配置Windows NAT上网,不要用傻逼的PowerShell,WIN + R执行ncpa.cpl,找到你上网的网卡,按顺序点击,剩下的什么都不需要做。

三、为节省时间直接提供wg对端配置,Frame编辑sudo vim /etc/wireguard/wg0.conf

注意修改DNS = 为你内网实际在使用的dns

[Interface]
Address = 100.64.0.2
ListenPort = 51820
PrivateKey = nh8YQ7N2rnbtJjjbwJyeSW2lnVw4VROvRlZpUmt6vLI=
DNS = 10.10.0.13

[Peer]
PublicKey = 9g7gza8pQrIr/DKvSDiTevUKR+g5BN6BQXUW4a1Yc1E=
AllowedIPs = 0.0.0.0/0

接着终端执行

sudo systemctl start wg-quick@wg0 #启用接口(重启后失效)

(可选)sudo systemctl enable wg-quick@wg0 #frame开机时自动启用接口(如果你要处理自动逻辑,比如连接wifi自动关闭wg,后续会写)

如果发现wg隧道故障无法上网,可以打开桌面模式关闭隧道

四、处理自动逻辑,开机检测/动态检测wlan0状态,连接时关闭wg隧道,断开wifi开启wg隧道

sudo vim /etc/systemd/system/wg-autotoggle.service

[Unit]
Description=Auto toggle WireGuard based on wlan0 status
After=network.target NetworkManager.service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/wg-autotoggle.sh
RemainAfterExit=true

[Install]
WantedBy=multi-user.target

sudo vim /usr/local/bin/wg-autotoggle.sh

#!/bin/bash

check_wifi() {
    if ip addr show wlan0 2>/dev/null | grep -q "inet "; then
        return 0
    else
        return 1
    fi
}

if check_wifi; then
    echo "detected wlan0 status UP, stop wg0..."
    systemctl stop wg-quick@wg0
else
    echo "detected wlan0 status DOWN, start wg0..."
    systemctl start wg-quick@wg0
fi

sudo vim /etc/NetworkManager/dispatcher.d/99-wg-toggle.sh

#!/bin/bash
INTERFACE=$1
ACTION=$2

if [ "$INTERFACE" = "wlan0" ]; then
    /usr/local/bin/wg-autotoggle.sh
fi

sudo chmod +x /usr/local/bin/wg-autotoggle.sh

sudo chmod +x /etc/NetworkManager/dispatcher.d/99-wg-toggle.sh

sudo systemctl daemon-reload

sudo systemctl enable --now wg-autotoggle.service