很久没有更新内容了,主要原因是在目前LLM的发展形势下,大部分技术问题,与其在互联网搜索答案,直接问AI,甚至直接使用Agent解决才是最高效的方式。所以慢慢的也就懒得再记笔记了。但是这并不是一个好的做法,因为通过AI解决的问题并不能直接的累积成个人的知识或经验,在下次遇到同样或类似的问题时,还是需要问AI,这样不停增强的依赖令我感到不安。因此,利用难得的国庆假期,我决定重新开始维护这里,至少让在这个时代,为自己保留一份独立的记录(也顺便省一些token的费用)。
方法来源:Kimi
之前一直在使用Zerotier保持自己的台式机可以被远程访问到,但是它在国内的稳定性和速度已经几乎没有可用性而言了,因此我向Kimi提问并选择了一个相对简单的解决办法,利用VPS和frp,进行内网穿透。(我没有选择Tailscale之类的Zerotier替代方案是因为这样的虚拟局域网如果直接使用第三方的服务器,还是会面临无法连接的问题,自己本地部署中继,似乎对于我的这样简单需求而言又有些太过了)选择的工具确定了,具体操作就比较简单了
服务器端部署frps
-
解压文件
tar xvf frp_<version>.tar.gz
cd frp_<version>
- 准备服务器端配置文件
frps.toml
# file: frps.toml
bindPort = xxxx # frpc 连过来的端口
auth.token = "换成一段强随机字符串" # 防陌生人连你的 frps
# 可选:Web 面板,方便看哪些客户端在线
webServer.addr = "127.0.0.1"
webServer.port = yyyy
webServer.user = "用户名"
webServer.password = "另一个强密码"
- 安装
frps可执行文件并设置systemd常驻
sudo cp frps /usr/local/bin
# file: /etc/systemd/system/frps.service
[Unit]
Description=frp server
After=network.target
[Service]
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.toml
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
- 在
/etc中创建配置文件夹并复制配置文件
sudo mkdir /etc/frp
sudo cp frps.toml /etc/frp/
- 启动
frps服务
sudo systemctl enable --now frps
- 放行对应端口(
frps.toml中的xxxx和yyyy两个端口,以及准备用于转发台式机用的端口zzzz)
sudo ufw allow xxxx/tcp
sudo ufw allow yyyy/tcp
sudo ufw allow zzzz/tcp
如果vps提供商对于端口访问有额外限制,需要进一步在提供商的一侧打开端口。
本地部署frpc
本地端的设置与服务器基本对称
-
解压文件
tar xvf frp_<version>.tar.gz
cd frp_<version>
- 准备客户端配置文件
frpc.toml
# file: frpc.toml
serverAddr = "VPS公网IP"
serverPort = xxxx
auth.token = "和服务端一致的token"
[[proxies]]
name = "服务器的名称"
type = "tcp"
localPort = 22
remotePort = zzzz # 对外暴露的端口:SSH VPS的zzzz = 连家里22
- 安装
frpc并设置systemd
sudo cp frpc /usr/local/bin/
# file: /etc/systemd/system/frps.service
[Unit]
Description=frp client
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.toml
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
- 配置文件
sudo mkdir /etc/frp
sudo cp frpc.toml /etc/frp/
- 启动服务
sudo systemctl enable --now ssh # 如果没有启动ssh的话,别忘了启动
sudo systemctl enable --now frpc
- 安全加固(关闭密码登录)
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
发表回复