在Linux服务器下搭建frp内网穿透服务
本文转自:frp内网穿透教程 略有改动
frp介绍
frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https等协议。
frp分为客户端与服务端
frp的工作原理:
- 服务端运行,监听一个主端口;
- 客户端通过主端口连接,并告知监听端口和转发类型;
- 服务端fork新的进程,监听客户端所指定的端口;
- 外网用户连接客户端指定的端口,服务端将数据发送给客户端;
- 客户端将数据转发到本地服务,从而实现内网主机对外暴露,即内网穿透。
frp内网穿透服务搭建
部署服务端
下载服务端 官网
本文使用frp_0.43.0_linux_amd64.tar.gz演示,请根据自己实际系统选择服务端。
使用wget命令下载
1 | wget https://github.com/fatedier/frp/releases/download/v0.43.0/frp_0.43.0_linux_amd64.tar.gz |
解压服务端
请确保自己在压缩文件所在目录
1 | tar -zxvf frp_0.43.0_linux_amd64.tar.gz |
进入解压后的文件夹
1 | cd frp_0.43.0_linux_amd64 |
配置frps.ini
没有的项亩建议添加进去
1 | [common] |
1 | dashboard_port = 7001 #监控页面端口 |
1 | log_file = /var/log/frps.log |
1 | authentication_method = token |
配置防火墙
将上一步中服务端所用的所有端口永久开放
1 | firewall-cmd --permanent --add-port 7000/tcp |
后续进行转发时,还要开放客户端指定的端口!
1 | firewall-cmd --permanent --add-port 客户端指定端口/tcp |
启用frp
首先
1 | cd frp_0.43.0_linux_amd64 |
确保在frp根目录中,执行
1 | ./frps -c ./frps.ini |
到这里,frp服务端已经可以使用了,但只是临时运行,如果想长期运行,可以采用两种方法。
方法一(建议使用)
使用systemd
方法二 (请在frp目录下执行)
使用nohup
1 | nohup ./frps -c ./frps.ini |
在终端如果看到以下输出说明运行成功:
1 | appending output to nohup.out |
部署客户端
下载客户端 官网
本文使用windows系统,使用frp_0.43.0_windows_386.zip演示。
解压客户端
解压好客户端后,进入文件夹中。
配置frpc.ini
1 | [common] |
以通过 SSH 访问内网机器为例
1 | [ssh] |
启用frp
方法一(正常启用)
方法二(bat批处理命令启用)
在目录下新建一个frpstart.txt文件,编辑内容
1 | frpc.exe -c frpc.ini |
保存退出
修改文件后缀为.bat,保存。
需要启用服务,只需要运行frpstart.bat文件即可。而且还可以创建一个快捷方式,然后放入“startup”目录下实现开机自启。右键快捷方式,点击“属性”,选择“快捷方式”,在“运行方式”处可以选择最小化。这样开机自启后文件会自动最小化,不会每次都弹出来。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小狼的学习笔记!
评论