frp 使用
frp 使用
安装 frp
搭建 frp 还需要一台能够在外网访问的机器。
去 https://github.com/fatedier/frp/releases 下载 frp 执行文件。
frps 和 frps.yaml 放在具有公网 ip 的机器上。
frpc 和 frpc.yaml 放在内网环境的机器上。
基于 frp 实现内网穿透
frp 最大的使用场景是内网穿透。
比如下图,家里的 Nas 是在家庭局域网的,别人无法访问,可以借用一台有公网 IP 的 VPS 实现从任何地方访问家里的 Nas。
我们需要分别启动两个服务
- 一个在有公网的机器上,叫 frp server,配置文件是 frps.yaml
- 一个在内部的机器上,叫 frp client,配置文件是 frpc.yaml
# frps.yaml
bindPort: 10001 # 用于被 frp client 连接
vhostHTTPPort: 8080 # 用于访问,比如让 nginx 把一些域名的请求代理过来
auth: # 鉴权方式
method: token
token: abcabc # token 相当于密码,自己定义
# frpc.yaml
serverAddr: "<frps-domain>" # frp server 的域名或 ip
serverPort: 10001 # frp server 监听的端口,就是上面的 bindPort
auth:
token: abcabc # 密钥
proxies: # 穿透的代理配置
# 这是一个最常见的内网穿透配置,表示 test1.laily.net 这个域名的请求会被转发到本机的 8081 端口。
- name: "test1"
type: "http"
localIP: 127.0.0.1
localPort: 8081
customDomains = ["test1.laily.net"]
# 另一种有意思的用法,它会在 frp server 的机器上的 10086 端口上开启一个 socks5 代理,通过这个代理可以访问到本机
- name: socks
type: tcp
remotePort: 10006
plugin:
type: socks5
username: <username>
password: <password>
启动,分别在机器上启动 ./frps -c ./frps.yaml
和 ./frpc -c ./frpc.yaml
就好了。
然后配置好域名(或者直接用 ip + port)就可以访问了。
Read other posts