内网穿透 frp搭建

内网穿透,拥有属于你的本地服务器

作者:小张 发表时间:2021-12-01

材料准备

  1. frp服务端(frps)
  2. frp客户端(frpc)
  3. 一台云主机
  4. 域名(非必须)

frp简介

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

下载及文件介绍

首先前往GitHub下载frp服务端,我以Ubuntu为例,下载地址:https://github.com/fatedier/frp/releases 进入下载页面我们会看到这样页面
frp_xz-1a69c8a6-bbce-45d7-b5c2-629af429e8b0
我这边是腾讯云的主机所以我要下载linux_amd64的压缩包,根据自己的主机下载适合自己的压缩包,下载完成后解压里面会有这样的一些文件
frp_file-abf04568-4ad8-452a-a0d7-bdb2d43a2c41

  1. 服务端
    frps是服务端的程序,frps.ini是服务端的配置文件,frps_full.ini是告诉用户应该怎样设置服务端配置文件。
    这里建议在配置文件里添加一个token,如token=123456
  2. 客户端
    frpc是客户端的程序,frpc.ini是客户端的配置文件,frpc_full.ini是告诉用户应该怎样设置客户端配置文件。 如果上面设置了token,要在客户端配置文件里的[common]下面一行填写上面设置的参数token=123456

服务端安装

首先将解压后的文件frps和frps.ini上传到云主机,上传完成后使用./frps -c frps.ini看到下面这样的输入就表示运行成功了
frps_cg-dfe2bc2e-bf63-4050-9e35-62eb77e6651f

服务端配置文件

frps_ini-162c9887-5fcb-4939-a6b2-778f77b4bea6
上面的图就是服务端的配置文件,第2行是设置主程序的端口号,第3行是我自己加的,通过简单地设置就可以使用了。

客户端安装

客户端使用的主机不一样用到的客户端程序也有所不同,如果你是用的主机是常用的电脑或笔记本并且系统刚好是linux的系统就可以直接使用上面的客户端软件,否则请看下面
我这里的客户端是我不用的旧安卓机,我在里面使用软件运行了Ubuntu的系统,所以我要重新下载客户端软件因为运行的是linux的系统手机处理器是arm64的所以我应该下载linux_arm64的压缩包,将压缩包解压后只要里面的frpc文件别的文件直接删除,再将之前设置好的客户端配置文件传输过来运行方式和服务端一样./frpc -s frpc.ini

客户端配置文件

frpc_ini-ee86ff29-bb5d-4672-8926-ade93548a88f
[common]下面是服务端的设置第3行的x.x.x.x是服务器的公网IP地址,第2行是我自己加的,因为服务端的配置文件添加了这一项所以客户端中也必须加。下面的就是自己设置了,type = tcp中的tcp是可以修改的可以改成udp、http、https等等。local_ip:需要穿透的内网ip。local_port:需要穿透的内网端口号。remote_poet :穿透后的公网IP端口号。

注意事项

  1. 如果服务端设置token千万不要忘记在客户端也添加上。
  2. 如果服务端和客户端的系统和主机不同记得换不同的程序
  3. 上面说一个压缩包可能只能用里面服务端或客户端还需要下载另一个压缩包出现这种情况,下载的两个或多个压缩包版本必须是一样的才行哟。
  4. 修改配置需要重启程序。

frpc开机自启动(systemd)

打开frp_linux_amd64文件夹下的systemd目录,编辑frpc.service文件(frpc@.service文件只是多了个自定义ini文件的功能),将其中的user=nobody改为user=myserver(即本机的用户名),如果不改,启动时候会报错无法写入日志文件,权限禁止
然后修改ExecStart、ExecReload中的路径为自己的文件路径
将修改后的frpc.service文件复制到/etc/systemd/system/sudo cp ./frpc.service /etc/systemd/system/
激活frpc开机启动:systemctl enable frpc
手动运行frpc服务:systemctl start frpcservice frpc start
手动停止frpc服务:systemctl stop frpcservice frpc stop
手动重启frpc服务:systemctl restart frpcservice frpc restart
查看frpc运行状态:systemctl status frpcservice frpc status
关闭frpc开机启动systemctl disable frpc

小张 / -  views