使用FRP工具穿透内网

一、什么是FRP
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。主要他是一个开源的。

https://github.com/fatedier/frp

第一步:下载frp

https://github.com/fatedier/frp/releases

使用FRP工具穿透内网

第二步:配置服务器端frp的frps.ini

  1. [common]
  2. bind_addr =12.34.56.78    #服务器端监听的IP地址,多网卡时候需要可以设置,可省
  3. bind_port = 7000   # 用于接收 frpc 连接的端口
  4. log_file = ./frps.log  #log 文件,可省
  5. log_level = info   # 记录日志的级别,可省
  6. dashboard_port = 750   # web页面端口,可省
  7. [ssh]  # ssh 为代理的自定义名称,可以有多个,不能重复,和frpc中名称对应
  8. auth_token = 123   #服务器端和客户端认证口令,一致才能认证通过
  9. bind_addr =  12.34.56.78   #服务器端监听的IP地址,多网卡时候需要可以设置,可省
  10. listen_port = 6000  # 最后将通过此端口访问后端服务
  11. [web01]
  12. auth_token = 123
  13. bind_addr = 12.34.56.78
  14. listen_port = 1111  # 最后将通过此端口访问后端服务

备注:所涉及端口, 请在服务器中的安全规则添加信任放行

第三步:配置内网端frp的frpc.ini

  1. server_addr = 12.34.56.78  # frps 所在服务器绑定的IP地址
  2. server_port = 7000  #服务器端的IP地址
  3. log_file = ./frpc.log   #log 文件,可省
  4. log_level = info   # 记录日志的级别,可省
  5. auth_token = 123  #服务器端和客户端认证口令,一致才能认证通过
  6. [ssh]  # ssh 需要和 frps.ini 中配置一致
  7. local_port = 22  # 需要转发的本地端口
  8. use_encryption = true  # 启用加密,frpc与frps之间通信加密,默认为 false
  9. [web01]
  10. type = http
  11. local_ip = 12.34.56.78
  12. local_port =80
  13. use_gzip = true
  14. pool_count = 1111  #服务器端用于转发开启的端口

第四步:启动 frpc

服务器端

  1. ./frps -c ./frps.ini

客户端run.sh

  1. #! /bin/bash
  2.  cd /frp
  3. ./frpc -c ./frpc.ini ~

第五步:访问

在浏览器访问http://win.javen.abc.com:9988
实际上是映射到本地的http://localhost:8080

备注:Nginx端口映射

  1. server {
  2.                 listen       80;
  3.                 server_name  *.javen.abc.com;
  4.                 access_log  /home/nginxlog/frp_access.log;
  5.                 location / {
  6.                         proxy_redirect          off;
  7.                         proxy_set_header Host $host:$server_port;
  8.                         proxy_set_header X-Forwarded-For $remote_addr;
  9.                         client_max_body_size      20m;
  10.                         client_body_buffer_size 128k;
  11.                         proxy_connect_timeout   600;
  12.                         proxy_send_timeout      600;
  13.                         proxy_read_timeout      900;
  14.                         proxy_buffer_size       4k;
  15.                         proxy_buffers           4 32k;
  16.                         proxy_busy_buffers_size 64k;
  17.                         proxy_temp_file_write_size 64k;
  18.                         proxy_pass http://127.0.0.1:9988/;
  19.                 }
  20.         }
  • 我的微信
  • 使用微信扫一扫
  • weinxin
  • IT运维交流群
  • 使用QQ扫一扫
  • weinxin
༺小ʚɞ寞༻

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: