前言
-
对于没有公网 IP 的内网用户来说,远程管理或在外网访问内网机器上的服务是一个问题。
-
今天给大家介绍一款好用内网穿透工具 FRP,FRP 全名:Fast Reverse Proxy。FRP 是一个使用 Go 语言开发的高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务。FRP 支持 TCP、UDP、HTTP、HTTPS等协议类型,并且支持 Web 服务根据域名进行路由转发。
FRP 的作用
-
利用处于内网或防火墙后的机器,对外网环境提供 HTTP 或 HTTPS 服务。
-
对于 HTTP, HTTPS 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个 80 端口。
-
利用处于内网或防火墙后的机器,对外网环境提供 TCP 和 UDP 服务,例如在家里通过 SSH 访问处于公司内网环境内的主机。
FRP 安装
FRP 服务端配置
[common] # frps的ip地址 server_addr = xxx.xxx.xxx.xxx # frps的端口 server_port = 7000 # 认证token token = xxx # 日志 log_file = ./frpc.log log_level = info log_max_days = 3
#远程桌面配置 [dangkou] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 3389 use_encryption = true
#http配置 [web-xinhu] type = http # 本地http服务地址 local_ip = 127.0.0.1 # 本地http服务端口 local_port = 80 # 使用压缩 use_compression = true # 分配自定义域名访问穿透服务 假如没有域名,则此处请填为frps服务端的服务器(IP) custom_domains = xxx.xxx.xxx # 设置认证的用户名 #http_user = abc # 设置认证的密码 #http_pwd = abc # 重定向到本地域名 host_header_rewrite = xinhu.test #[ssh] #type = tcp #local_port = 22 #local_ip = 127.0.0.1 # 在服务端注册端口 服务端将监听 7022 ssh root@118.118.118.118 -p 7022 即可代理到本机 ssh 登录 #remote_port = 7022
执行命令 $ ./frpc -c frpc.ini
http/https 服务是在服务端定义的端口,客户端指定协议后会自动关联,ssh 等使用 tcp 的则是在客户端定义好,服务端注意防火墙开放此端口即可。
FRP 默认给出两个服务端配置文件,一个是简版的 frps.ini,另一个是完整版本 frps_full.ini。
[common] #监听地址 bind_addr = 0.0.0.0 #服务端口 bind_port = 7000 #认证token token = xxx #面板界面 dashboard_addr = 0.0.0.0 dashboard_port = 7500 dashboard_user = xxx dashboard_pwd = xxx #http服务端口 vhost_http_port = 7080 #https服务端口 vhost_https_port = 7443
#日志
log_file = ./frps.log
log_level = info
log_max_days = 3
#Web 服务增加自定义二级域名
subdomain_host = ***.com #其次在 FRP 客户端配置文件配置 subdomain 参数 通过 subdomain.subdomain_host 就可以访问到内网的 Web 服务
放到后台运行:
方式一(终端退出后会被清除):jobs
执行命令 $ ./frps -c frps.ini &
查看后台工作
jobs
将后台暂停的工作恢复到前台执行
fg %工作号
把后台暂停的工作恢复到后台执行
bg %工作号
方式二:screen
$ screen -S frp #创建一个窗口
$ ./frps -c frps.ini #启动
ctrl + a + d #推出当前窗口
$ screen -ls #查看窗口
$ screen -X -S frp quit #删除窗口
https://man.linuxde.net/screen
客户端和服务器起来后第三方通过 访问 xxx.xxx.xxx:7080 就可以访问到内网的 xinhu.test。
推荐
windows下注册服务软件 snnm https://blog.csdn.net/mc_linfen/article/details/82115439
linux下注册服务软件 supervisor
另一款穿墙软件 zeroTier
参考:
https://www.jianshu.com/p/00c79df1aaf0
http://www.chuantou.org/47.html