[运维] 内网穿透最佳实战-基于frp

序言: 几年前写了一篇全面的,但是涉及管制被删,最近发现身边不少朋友也在用这个(英雄所见略同),而且发现新版本的frp可以用来实现负载均衡了(而且是可以跨机房的),感觉很赞,所以打算重新写一篇关于它的文章,这篇文章只介绍frp这个工具的使用方法,不涉违法。
  1. 什么是内网穿透:如你在家里的电脑的ip地址是192.168.1.100, 有这个ip你是无法在公司通过这个局域网ip访问到家里的电脑的,内网穿透的任务就是让你可以在公司访问到家里的电脑
  2. 可以去github上去下载frp和阅读完整文档https://github.com/fatedier/frp, 本文比官方文档接地气一些,实践经验。
  3. frp 的工作原理
    在这里插入图片描述
    3.1. 在公网服务器上的服务器运行 frp的服务端frps, 这台公网服务器的ip得是可以直接访问的(假设这个ip是111.114.114.114)。
    3.2. 在内网电脑上运行frp的客户端frpc, 把内网的某ip( 假设这个ip是192.168.1.100)的某端口映(假设 22)射到公网服务器的某些端口上(假设10022)。
    3.3. 那么在非局域网访问111.114.114.114:10022和你在局域网访问192.168.1.100:80是等效的。
  4. 这一过程的服务端配置文件 frps.ini
[common]  bind_port = 10000  bind_udp_port = 10001  kcp_bind_port = 10002  vhost_http_port = 10080  token = sfmam23tmmmfeti4  log_file = ./frps.log  log_max_days = 7  log_level = info  dashboard_addr = 0.0.0.0 dashboard_port = 10003 dashboard_user = admin dashboard_pwd = admin  allow_ports = 10000-50000  max_pool_count = 15  max_ports_per_client = 0 
  1. 启动服务端的方案,我们一般需其后台运行
    5.1. Mac/Linux/Unix (./frps -c frps.ini &) 或者 nohup ./frps -c frps.ini &
    5.2. Mac/Linux/Unix 关闭ps -ef |grep frps |awk '{print $2}'|xargs kill -9 (找到进行id,kill掉即可)
    5.3. Windows 后台运行需要写个脚本 start_frpc.bat
%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit .\frps.exe -c frps.ini 
  1. 客户端配置frpc.ini
[common]  server_addr = 111.114.114.114  server_port = 10001  token = sfmam23tmmmfeti4  log_file= log.txt   [my_pc_80] type = tcp local_ip = 127.0.0.1 local_port = 80 remote_port = 10080  [my_pc_vhost_frontend] type=tcp local_ip = local.frontend.funshop.io local_port=80 remote_port=10081  [my_pc_ssh] type=tcp local_ip = 192.168.1.100 local_port=22 remote_port=10022 
  1. 启动客户端,和启动服务端类似
    6.1. Mac/Linux/Unix (./frpc -c frpc.ini &) 或者 nohup ./frpc -c frpc.ini &
    6.2. Mac/Linux/Unix 关闭ps -ef |grep frpc |awk '{print $2}'|xargs kill -9 (找到进行id,kill掉即可)
    6.3. 对于windows系统可以写一个.bat脚本如下实现后台运行
%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit .\frpc.exe -c frpc.ini 
  1. 浏览器访问111.114.114.114:10003可以查看连接情况。

原文链接:https://blog.csdn.net/sinat_34820292/article/details/88056890

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享