frp内网穿透
参考链接
目标
使用有公网的服务器(ubuntu,做服务器端)访问内网的电脑(archlinux,做客户端)
- 将
frpc
复制到内网服务所在的机器上。 - 将
frps
复制到拥有公网 IP 地址的机器上,并将它们放在任意目录。
安装
client 上可直接从aur中安装frpc
paru -S frpc
server上需从github仓库中下载合适的二进制包
运行
客户端frpc
-
修改frpc.toml文件(可以使用find命名寻找),设置serverAddr为frps的公网IP地址
# frpc.toml serverAddr = "118.xx.xx.xx" #服务器公网ip serverPort = 5000 #服务器frps.toml中的bindPort [[proxies]] name = "ssh" type = "tcp" localIP = "127.0.0.1" localPort = 22 remotePort = 2333 #最后想通过ssh连接的端口 -
启动frpc
sudo chmod +r frpc.toml #先添加权限 sudo frpc -c ./frpc.toml -
设置后台启动与开机自启
- systemctl建立链接
systemctl enable frpc 输出类似如下
Created symlink /etc/systemd/system/multi-user.target.wants/frpc.service → /usr/lib/systemd/system/frpc.service. -
修改
/usr/lib/systemd/system/frpc.service.
cat /usr/lib/systemd/system/frpc.service [Unit] Description=Frp Client Service After=network-online.target Wants=network-online.target [Service] Type=simple User=rani #注意这里原来是nobody, 会报错最好改成自己的用户名 Restart=on-failure RestartSec=5s ExecStart=/usr/bin/frpc -c /etc/frp/frpc.toml ExecReload=/usr/bin/frpc reload -c /etc/frp/frpc.toml [Install] WantedBy=multi-user.target -
检查ssh是否开机,如果没有需要设置
sudo systemctl enable sshd sudo systemctl restart sshd sudo systemctl status sshd 出现绿色“active (running)”, ssh状态正常
-
启动并检查frpc
systemctl start frpc systemctl status frpc 出现绿色“active (running)”, frpc状态正常
服务器端frps
-
修改server上的frps.toml文件来设置frp client连接的端口
# frps.toml bindPort = 5000 -
server上启动frps
sudo chmod +r frps.toml #先添加权限 sudo ./frps -c ./frps.toml -
设置后台启动(服务器不用开机器自启)
-
手动创建service文件
sudo vim /etc/systemd/system/frps_rani.service # 由于服务器上默认名称frps.service这个名称已经被其他用户使用,因此使用了自定义名称 添加如下内容
[Unit] Description=frps (Rani Instance) # 可以更换,方便识别即可 After=network.target [Service] Type=simple WorkingDirectory=/home/rani/rani_config/frp_0.61.1_linux_amd64/ #包含frps.toml与frps的文件夹 ExecStart=/home/rani/rani_config/frp_0.61.1_linux_amd64/frps -c ./frps.toml # frps路径 -c ./frps.toml ExecStop=/bin/kill -TERM $MAINPID Restart=always RestartSec=10s [Install] WantedBy=multi-user.target -
加载服务
sudo systemctl daemon-reload sudo systemctl enable frps_rani # 与frps_rani.service名称对应 sudo systemctl start frps_rani # 与frps_rani.service名称对应 sudo systemctl status frps_rani # 与frps_rani.service名称对应 出现绿色“active (running)”, frps状态正常
-
-
访问frpc成功
ssh -oPort=2333 rani@127.0.0.1 # 端口即为frpc.toml中的remotePort 注意这里的地址必须是127.0.0.1, 不能写公网ip -
退出使用
exit
即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现