frp 内网穿透安装配置使用

2023年 8月 23日 46.3k 0

文档先发一下(好像要科学上网)
Github 项目地址

查看系统架构

需要一个服务器当做服务端进行端口转接,连接服务器之后,输入以下命令查看系统

uname -a

frp 内网穿透安装配置使用-1

拉取程序包

输入以下命令下载 frp 程序包,按版本号改第一个命令,按系统改拉取的文件类型,我这里是 0.49.0 的,上面系统显示我是 Linux 系统 arm64 架构,所以命令如下

# 设置变量FRP版本号
export FRP_VERSION=0.49.0
# 创建/etc/frp文件夹
sudo mkdir -p /etc/frp
# 打开/etc/frp文件夹
cd /etc/frp
# 下载符合要求的程序包,按需更改系统和架构
sudo wget "https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_arm64.tar.gz"
# 解压程序包
sudo tar xzvf frp_${FRP_VERSION}_linux_arm64.tar.gz
# 将解压出来的文件夹内的文件全部移动到/etc/frp文件夹
sudo mv frp_${FRP_VERSION}_linux_arm64/* /etc/frp

frp 内网穿透安装配置使用-2

frp 解压之后有两个端,分别是服务端(frps)和客户端(frpc),还有他们的配置文件 frps.ini 和 frpc.ini
拉取文件示例

服务端配置目录下的 frps.ini

frps.ini 配置转接端口和仪表盘信息,下面是配置示例

[common]
# 服务端绑定的端口
bind_port = 7000
# 仪表盘绑定的端口
dashboard_port = 7500
# 客户端与服务端连接时配置的token
token = 123456789
# 仪表盘用户名
dashboard_user = admin
# 仪表盘密码
dashboard_pwd = 123456
# 设置监听 HTTP 请求端口
vhost_http_port = 7080

frp 内网穿透安装配置使用-3

直接启动服务的命令

./frps -c ./frps.ini

frp 内网穿透安装配置使用-4

放行 7500 端口,可以看到已经可以访问到仪表盘了
frp 内网穿透安装配置使用-5

使用 systemctl 配置后台运行和开机自启

sudo vim /lib/systemd/system/frps.service

在 frps.service 里写入以下内容

[Unit]
# 服务描述:frps服务
Description=frps service
# 在network.target和syslog.target之后启动
After=network.target syslog.target
# 需要network.target服务
Wants=network.target

[Service]
# 服务类型为简单类型
Type=simple
# 执行启动frps服务的命令,并指定配置文件路径为/etc/frp/frps.ini
ExecStart=/etc/frp/frps -c /etc/frp/frps.ini

[Install]
# 安装为多用户目标所需
WantedBy=multi-user.target

frp 内网穿透安装配置使用-1

使用 systemctl 启动 frps

sudo systemctl start frps

打开自启动

sudo systemctl enable frps

其他

如果要重启应用,sudo systemctl restart frps
如果要停止应用,sudo systemctl stop frps
如果要查看应用的日志,sudo systemctl status frps

如果启动时 7000 端口被占用

#查看端口号
netstat -anp|grep 7000
或

#查看端口号
lsof -i:7000
或

#查看程序进程
ps -ef|grep frps
得到进程id(pid)之后,使用下面命令杀掉进程

kill pid

客户端配置目录下的 frpc.ini

frpc.ini 配置需要穿透的信息,下面是配置示例

[common]
# frp服务端ip
server_addr = frp服务端ip
# frp服务端绑定的端口
server_port = 7000
# frp服务端配置的token
token = 123456789

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 7022

frpc.ini示例配置

如果服务端是国外服务器的话需要挂代理才能链接上,不然会报i/o deadline reached
需要在客户端的配置文件的 common 里面添加代理

protocol = tcp
http_proxy = http://user:pwd@代理ip:端口

使用下面命令直接启动

./frpc -c ./frpc.ini

直接启动客户端服务示例

上面示例客户端配置 ssh 穿透,服务器将 7022 防火墙端口打开,测试使用内网穿透连接,可以正常连接
内网穿透连接ssh示例

使用 systemctl 配置后台运行和开机自启

sudo vim /lib/systemd/system/frpc.service

在 frpc.service 里写入以下内容

[Unit]
# 服务单元:frpc service
Description=frpc service
# 在network.target和syslog.target之后启动
After=network.target syslog.target
# 需要network.target服务
Wants=network.target

[Service]
# 服务类型:简单
Type=simple
# 启动超时时间:10秒
TimeoutStartSec=10
# 重启延迟时间:30秒
RestartSec=30s
# 总是自动重启
Restart=always
# 执行启动frpc服务的命令,并指定配置文件路径为/etc/frp/frpc.ini
ExecStart=/etc/frp/frpc -c /etc/frp/frpc.ini

[Install]
# 安装为多用户目标所需
WantedBy=multi-user.target

frpc.service内容示例

使用 systemctl 启动 frpc

sudo systemctl start frpc

打开自启动

sudo systemctl enable frpc

其他

如果要重启应用,sudo systemctl restart frpc
如果要停止应用,sudo systemctl stop frpc
如果要查看应用的日志,sudo systemctl status frpc

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论