frp 使用,关键词:内网穿透
- 参考
服务端安装
-
arch
看下server架构,后面好选择下载那个版本,一般都是amd64架构的“X86_64“ - 下载对应架构的 frp 版本
1 2 3 4
wget https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz # 解压 tar -zxvf frp_0.34.3_linux_amd64.tar.gz
- 修改
frps.ini
1 2 3 4 5 6 7 8
[common] bind_port = 7000 token = 12345678 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = admin vhost_http_port = 10080 vhost_https_port = 10443
- “bind_port”表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。
-
“token”是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。
- “dashboard_port”是服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为VPS的IP)查看frp服务运行信息。
- “dashboard_user”和“dashboard_pwd”表示打开仪表板页面登录的用户名和密码,自行设置即可。
- “vhost_http_port”和“vhost_https_port”用于反向代理HTTP主机时使用,本文不涉及HTTP协议,因而照抄或者删除这两条均可。
-
运行frps的服务端:
./frps -c frps.ini
-
配置systemctl来控制,服务端运行
新建
/usr/lib/systemd/system/frp.service
文件模板在 frp_0.34.3_linux_amd64/systemd/ 目录下面,调整下frp的目录就好:
1 2 3 4 5 6 7 8 9 10 11 12 13
[Unit] Description=Frp Server Service After=network.target [Service] Type=simple User=root Restart=on-failure RestartSec=5s ExecStart=/root/frp/frp_0.34.3_linux_amd64/frps -c /root/frp/frp_0.34.3_linux_amd64/frps.ini [Install] WantedBy=multi-user.target
在 Ubuntu 系的系统,就将
frps.service
文件拷贝到/lib/systemd/system/
下面。CentOS 系的系统,拷贝到/usr/lib/
/systemd/system/` 下面。重新加载服务的配置文件
systemctl daemon-reload
启动/停止/重启,查看状态,设置开机自启/关闭开机自启
1 2 3 4 5 6
systemctl start frp systemctl stop frp systemctl restart frp systemctl status frp systemctl enable frp systemctl disable frp
Openwrt
- 服务 > Frp内网穿透
- 全局设置
- 服务器: frps地址
- 端口: 7000
- 令牌: token
- 添加 RDP 穿透,示例如下,其他雷同
- 服务列表 > 添加
- 开启状态:启用
- Frp协议类型: TCP
- 远程端口: 自己看,这里假设 8000
- 内网主机地址: Openwrt 内网中主机的IP地址
- 内网主机端口: 3389
- 保存&应用
- 使用RDP工具,远程访问 your-frp-server-ip:8000 就可以连接了
客户端
frpc.ini
1 2 3 4 5 6 7 8 9 10 11 12 | [common] server_addr = 远程frp服务器ip server_port = 远程frp服务器端口 token = 远程frp服务器token [http] type = http local_ip = 127.0.0.1 local_port = 本地端口号 remote_port = 远程frp服务器的http服务端口号 custom_domains = 自定义配置的域名 subdomain = 匹配服务端配置的subdomain_host |
示例
1 2 3 4 5 6 7 8 9 10 11 12 | [common] server_addr = xx.xx.xx.xx server_port = 7000 token = 123 [web] type = http custom_domains = xx.xx.xx.xx local_ip = 127.0.0.1 local_port = 8080 custom_domains = xxx.xxx.xxx subdomain = k2p |
启动
1 2 3 4 | ./frpc -c ./frpc.ini
# 后台启动
nohup ./frpc -c ./frpc.ini &
|
Windows 客户端
使用命令提示符或Powershell进入该目录下 cd C:\frp
并执行 ./frpc -c frpc.ini
运行frpc程序,窗口中输出如下内容表示运行正常。
- 客户端后台运行及开机自启
1 2 3 4 5 6 7 8 | @echo off if "%1" == "h" goto begin mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit :begin REM cd C:\frp frpc -c frpc.ini exit |