基于LXD搭建实验室GPU服务器(三)——配置frp网穿并注册服务
1.基于LXD搭建实验室GPU服务器(一)——宿主机的基本配置2.基于LXD搭建实验室GPU服务器(二)——宿主机的深度学习环境安装
3.基于LXD搭建实验室GPU服务器(三)——配置frp网穿并注册服务
4.基于LXD搭建实验室GPU服务器(四)——LXD部署在之前博客中,我们对宿主机进行了基本配置和基本深度学习环境的配置,在本文中,我们将介绍如何对服务器进行frp网穿,本文的内容可用于后续的lxd容器中,实现每个容器皆可使用公网ip访问。
若不需要配置网穿,则可以跳过此文。
配置网穿可以在局域网外访问服务器,我们需要一台具有公网ip的服务器。
下载frp文件
我们首先下载frp文件,需要注意的是,frp文件很可能被Windows defender等杀毒软件当成病毒杀掉,可能需要临时关闭杀毒软件,或加白名单。下载链接为:
https://github.com/fatedier/frp/releases
对其进行解压可以发现里面有7个文件,其中frpc
相关的文件放在我们的GPU服务器上,以下称frp客户端
,frps
相关的文件放在我们的公网ip的服务器上,以下称frp服务端
,当然了,你也可以都留着。
# 解压
tar -zxvf frp_0.51.0_linux_amd64.tar.gz
# 解压后的文件
frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE
配置frp服务端
配置文件
我们把frps
相关的文件传至frp服务端
,编辑frps.ini
文件
# 修改为如下内容
[common]
bind_port = 7000 # frp客户端和frp服务端通信的端口
dashboard_port = 7001 # (非必需)管理面板的端口,可以通过ip:7001访问可视化界面
dashboard_user = admin # (非必需)管理面板的用户名
dashboard_pwd = 123456 # (非必需)管理面板的密码
token = <your_token> # (非必需,建议配置)frp客户端需要设置准确的token才可进行网穿
将frps注册为服务,且开机自启
以管理员权限编辑创建并编辑/etc/systemd/system/frps.service
文件,写入以下内容:
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/<path_to_frps>/frps -c /<path_to_frps>/frps.ini
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
开启服务,查看服务状态,设置开机自启等指令:
# 开启服务/停止服务/重启服务/查看状态/开机自启
sudo systemctl start/stop/restart/status/enable frps
配置frp客户端
配置文件
我们把frpc
相关的文件传至frp客户端
,编辑frpc.ini
文件
[common]
server_addr = <your_server_ip> # frp服务端的公网ip
server_port = 7000 # frp服务端配置的bind_port
token = <your_token> # frp服务端配置的token
[ssh_6004] # 注意不可重复
type = tcp
local_ip = 127.0.0.1
local_port = <local_port> # 本地端口,这里填设置的ssh端口
remote_port = <remote_port> # 服务器端口
# 即可以通过<server_ip>:<remote_port>访问本地的<local_port>
将frpc注册为服务,且开机自启
以管理员权限编辑创建并编辑/etc/systemd/system/frpc.service
文件,写入以下内容:
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/<path_to_frp>/frpc -c /<path_to_frp>/frpc.ini
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
开启服务,查看服务状态,设置开机自启等指令:
# 开启服务/停止服务/重启服务/查看状态/开机自启
sudo systemctl start/stop/restart/status/enable frps
开放端口
需要注意的是,我们需要开放frp服务端和客户端对应的端口才可完成网穿,对于本地的服务器(frp客户端)来说,一般开启端口或者关闭防火墙即可,对于公网ip服务器(frp服务端)来说,可能服务商有自己的防火墙,需要在控制台放行。
防火墙相关指令如下,需要注意的是,请在防火墙开启之前开放ssh端口,否则可能无法链接服务器:
# 查看防火墙状态
sudo ufw status verbose
# 开启/关闭防火墙
sudo ufw enable/disable
# 放行端口
sudo ufw allow <port_number>/<protocal>
# 禁用端口
sudo ufw delete allow <port_number>
# 重置防火墙
sudo ufw reset
# 重启防火墙
sudo ufw reload
# 查看端口是否开放
lsof -i:<port_number>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)