• 那是云首页
  • 快捷导航
  • 更多
    设为首页收藏本站
  • |
花生壳

frp进阶--穿透、代理全功能

威联通 QNAP  / 教程分享  / 只看大图  / 正序浏览   © 著作权归作者本人所有

#楼主# 2018-4-16 14:43

跳转到指定楼层
       因为工作的原因,需要国外国内来回跑,回国了上不了外网很不方便,尤其是跟客户沟通的社交工具用不了,出国了因为地域限制听不了国内的歌曲也很不方便,连优酷等视频都看不了,所以现在通过FRP+S*S解决两边的问题。       原先是想在梅林系统的路由里搭建FRP,弄好后发现路由CPU温度飙升,很吃力,放弃,改用威联通,为什么要用威联通而不用群晖,外观是第一因素,另外,这是习惯问题,并没有说哪个系统更好用,还有,如果哪一天群晖出个四个盘位左右的i3 cpu以上的话我会果断买一个。

       国外端,我有个qnap253b充当VPS,50M的当地电信网络,有动态公网IP,相当稳定,很适合做FRPS服务器,省了租VPS的钱。DDNS我是用威联通自带的。
       国内端,我有个qnap251,2M的移动宽带,无公网IP,打过几次移动电话求公网IP,都被拒绝了,说现在已经分配不了公网IP了,无语。无公网DDNS就是摆设,花生壳之类的又收费,所以就通过穿透实现。
      安装frp我用docker实现,为什么用docker,因为方便实时看到调试状态,而不用每次都打开log查看异常状况。按照方法我在另一篇文章里已经写的很详细。
      这里发下配置文件:





      服务端:
  1. [common]
  2. bind_port = 7000
  3. kcp_bind_port = 7000
  4. bind_udp_port = 7001                          
  5. vhost_http_port = 7500
  6. vhost_https_port = 7600                 
  7. dashboard_port = 5500                       
  8. dashboard_user = admin
  9. dashboard_pwd = admin
  10. privilege_mode = true                     
  11. privilege_token = 123456      
  12. privilege_allow_ports = 2000-3000,3001,3003,4000-50000,50000-60000        
  13. #max_pool_count = 50
  14. tcp_mux=true
  15. authentication_timeout = 0
  16. heartbeat_timeout = 30
  17. #log_file = ./frps.log
  18. #log_level = info
  19. #log_max_days = 7
复制代码
      其他的基本上清楚,有几个讲下。
       bind_port = 7000  是用于和客户端内网穿透传输数据的端口
       authentication_timeout = 900       假如客户端设备的时间和服务端的时间相差大于设定值,那么拒绝客户端连接。如果设置为0,则不验证时间,默认值为900秒,可自定义。
        heartbeat_timeout = 30   心跳包配置,默认30秒,超时应该就断开连接了,用来看调试结果。
        max_pool_count = 50  每个内网穿透可以创建的连接池上限,为什么注释掉,因为打开后发现一定几率的断网。
        开启服务端后frps处于等待链接状态:
Capture.PNG






        客户端
  1. [common]
  2. server_addr =ts253b.myqnapcloud.com
  3. server_port = 7000
  4. privilege_token = 123456      
  5. host_http_port = 7500
  6. host_https_port = 7600
  7. #protocol=kcp
  8. heartbeat_interval = 10
  9. heartbeat_timeout = 30
  10. #log_file = ./
  11. #log_level = info
  12. #log_max_days = 3

  13. [web]
  14. type = http
  15. custom_domains = ts253b.myqnapcloud.com
  16. privilege_mode = true
  17. use_gzip = true
  18. use_encryption = true
  19. local_ip = 192.168.1.111
  20. local_port = 8080
  21. #pool_count = 100

  22. [webs]
  23. type = https
  24. custom_domains = ts253b.myqnapcloud.com
  25. privilege_mode = true
  26. use_gzip = true
  27. use_encryption = true
  28. local_ip = 192.168.1.111
  29. local_port = 8443
  30. #pool_count = 100

  31. [tcp]
  32. type = tcp
  33. privilege_mode = true
  34. local_ip = 192.168.1.111
  35. local_port = 8080                                    
  36. remote_port = 55555

  37. [ssh]
  38. type = tcp
  39. local_ip = 192.168.1.111
  40. local_port = 22
  41. remote_port = 6222

  42. [tcp32400]
  43. type = tcp
  44. privilege_mode = true
  45. local_ip = 192.168.1.111
  46. local_port = 32400                                    
  47. remote_port = 53389

  48. [secret_ssh]
  49. type = stcp
  50. sk = 123456
  51. local_ip = 192.168.1.1
  52. local_port = 22

  53. [p2p_ssh]
  54. type = xtcp
  55. sk = 123456
  56. local_ip = 192.168.1.111
  57. local_port = 22

  58. [http_proxy]
  59. type = tcp
  60. remote_port = 6000
  61. plugin = http_proxy
  62. plugin_http_user = admin
  63. plugin_http_passwd = admin
  64. use_encryption = true
  65. use_compression = true

  66. [socks5]
  67. type = tcp
  68. remote_port = 6001
  69. plugin = socks5
  70. plugin_user = admin        
  71. plugin_passwd = admin
  72. use_encryption = true
  73. use_compression = true

  74. [l2pt_port1]
  75. type = udp
  76. local_port = 500
  77. remote_port = 5500

  78. [l2pt_port2]
  79. type = udp
  80. local_port = 4500
  81. remote_port = 54500

  82. [open歪屁恩_port]
  83. type = udp
  84. local_port = 1194
  85. remote_port = 51194

  86. [pptp_port2]
  87. type = tcp
  88. local_port = 1723
  89. remote_port = 51723

  90. [ss_port]
  91. type = tcp
  92. local_port = 8388
  93. remote_port = 58388

  94. [router]  
  95. type = tcp
  96. local_ip = 192.168.1.1
  97. local_port = 80
  98. remote_port = 5555
  99. #subdomain = router

  100. [routers]  
  101. type = tcp
  102. local_ip = 192.168.1.1
  103. local_port = 8443
  104. remote_port = 6666
  105. #subdomain = router

  106. [test_static_file]
  107. type = tcp
  108. remote_port = 55000
  109. plugin = static_file
  110. plugin_local_path = /
  111. plugin_strip_prefix = static
  112. plugin_http_user = admin
  113. plugin_http_passwd = admin

  114. ##[dns]
  115. #type = udp
  116. #local_ip = 8.8.8.8
  117. #local_port = 53
  118. #remote_port = 6000
复制代码



稍微解释下:

  1. server_addr =ts253b.myqnapcloud.com
  2. server_port = 7000
  3. privilege_token = 123456
  4. host_http_port = 7500
  5. host_https_port = 7600
  6. #protocol=kcp
  7. heartbeat_interval = 10
  8. heartbeat_timeout = 30
复制代码
       7000是用于和服务端传输数据的端口,ts253b.myqnapcloud.com是国外的那台qnap的自带DDNS,7500是用http访问内外的端口,https是7600,我也加入了心跳包检测,用于调试。


  1. [web]
  2. type = http
  3. custom_domains = ts253b.myqnapcloud.com
  4. privilege_mode = true
  5. use_gzip = true
  6. use_encryption = true
  7. local_ip = 192.168.1.111
  8. local_port = 8080
  9. #pool_count = 100
复制代码
       ts253b.myqnapcloud.com是国外的那台qnap的自带DDNS,以后将用http以7500端口来访问国内的qnap,国内的qnap的局域网地址和端口是:192.168.1.111:8080.
3.jpg



  1. [ssh]
  2. type = tcp
  3. local_ip = 192.168.1.111
  4. local_port = 22
  5. remote_port = 6222
复制代码
     SSH登陆端口,以后将用6222作为登陆内外qnap的SSH端口。
2.jpg


  1. [router]
  2. type = tcp
  3. local_ip = 192.168.1.1
  4. local_port = 80
  5. remote_port = 5555
  6. subdomain = router
复制代码
       用5555端口实现路由穿透访问。
4.jpg




  1. [test_static_file]
  2. type = tcp
  3. remote_port = 55000
  4. plugin = static_file
  5. plugin_local_path = /
  6. plugin_strip_prefix = static
  7. plugin_http_user = admin
  8. plugin_http_passwd = admin
复制代码
     用55000实现简单的文件访问,比如我要访问docker的跟目录,需要配置qnap的登陆账号。
5.jpg

  1. [http_proxy]
  2. type = tcp
  3. remote_port = 6000
  4. plugin = http_proxy
  5. plugin_http_user = admin
  6. plugin_http_passwd = admin
  7. use_encryption = true
  8. use_compression = true

  9. [socks5]
  10. type = tcp
  11. remote_port = 6001
  12. plugin = socks5
  13. plugin_user = admin        
  14. plugin_passwd = admin
  15. use_encryption = true
  16. use_compression = true
复制代码
      http proxy 或 socks5 插件, 浏览器设置 http 或 socks5 代理地址和端口为 ts253b.myqnapcloud.com:6000,通过客户端网络访问互联网,此时国外的IP已经变成了国内的移动IP。这里用了加密与压缩,否则数据流会被拦截,客户端会出现work connection closed, EOF提示。
       配置文件里还打通了另外几个常用的歪屁恩端口,比如open歪屁恩:
  1. [open歪屁恩_port]
  2. type = udp
  3. local_port = 1194
  4. remote_port = 51194
复制代码
     这里用51194作为open歪屁恩端口,国内的qnap只要开启open歪屁恩即可,下载配置文件后导入到其他机子客户端,改下域名即可。
11.jpg


  1. [ss_port]
  2. type = tcp
  3. local_port = 8388
  4. remote_port = 58388
复制代码
     开启S*S,如何安装及开启S*S具体看另一篇文章。这里用58388来穿透配置好的8388端口。

9.jpg

      因为现在是国外翻到国内,所以我选择仅代理中国大陆IP,另外定义了只有酷我音乐等几个需要验证地域的app通过S*S,其他的app绕过,这样一点都不影响速度。

      配置好客户端文件后开启客户端:
1.jpg

      再来看看服务端调试记录:
0.jpg
      通过浏览器查看 frp 的状态以及代理统计信息展示:
6.jpg
7.jpg
8.jpg





「真诚赞赏,手留余香」
TVS-682
- CPU: i5-6600
- RAM: 16GB DDR4 2133
- GPU: MSI 1050 4GT LP
- PSU: Corsair SF450
分享淘帖
回复 印象

使用道具

0

精华

4

回帖

17

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
15
精华
0
pengtao 发表于 2021-2-22 10:39 来自 中国上海
楼主文章太详细了,收藏了。
回复 支持 反对 印象

使用道具 举报

0

精华

302

回帖

4158

积分

搞机大神

Rank: 3Rank: 3

云币
0
贡献
2
活跃
3996
精华
0
linnan318 发表于 2019-2-27 12:03 来自 中国海南海口
谢谢分享!学习了!
回复 支持 反对 印象

使用道具 举报

0

精华

1

回帖

8

积分

入门用户

Rank: 1

云币
1
贡献
0
活跃
7
精华
0
爱生活爱梦梦 发表于 2018-6-14 09:58 来自 中国山东济南
非常感谢楼主的分享!谢谢
回复 支持 反对 印象

使用道具 举报

0

精华

75

回帖

1451

积分

发烧玩家

Rank: 2

云币
5
贡献
74
活跃
1035
精华
0
laomms 发表于 2018-5-2 21:18 来自 泰国
你就照抄这个config配置文件,域名改下你自己的,服务端frps.ini和客户端frpc.ini。
回复 支持 反对 印象

使用道具 举报

0

精华

9

回帖

30

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
25
精华
0
wyxzyf 发表于 2018-5-2 21:00 来自 中国山西阳泉
laomms 发表于 2018-5-2 17:58
没想到国外居然没有公网IP,那你国内的装服务端FRPS,国外的装客服端FRPC,没公网IP的装客户端,有公网IP的 ...

能给个具体设置吗??谢谢
回复 支持 反对 印象

使用道具 举报

0

精华

9

回帖

30

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
25
精华
0
wyxzyf 发表于 2018-5-2 20:10 来自 中国山西阳泉
请问如何设置呢??能给个设置吗??谢谢!!!
回复 支持 反对 印象

使用道具 举报

0

精华

75

回帖

1451

积分

发烧玩家

Rank: 2

云币
5
贡献
74
活跃
1035
精华
0
laomms 发表于 2018-5-2 17:58 来自 泰国
本帖最后由 laomms 于 2018-5-2 17:59 编辑

没想到国外居然没有公网IP,那你国内的装服务端FRPS,国外的装客服端FRPC,没公网IP的装客户端,有公网IP的装服务端。

点评

能给个具体设置吗??谢谢  详情 回复 发表于 2018-5-2 21:00
回复 支持 反对 印象

使用道具 举报

0

精华

9

回帖

30

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
25
精华
0
wyxzyf 发表于 2018-5-2 17:11 来自 中国山西阳泉
我只需要web服务,他的frpc连接到我的frps,frps怎么把端口转成ss服务器的呢?谢谢
回复 支持 反对 印象

使用道具 举报

0

精华

9

回帖

30

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
25
精华
0
wyxzyf 发表于 2018-5-2 17:09 来自 中国山西阳泉
我需要在朋友家装一个ss服务器和frpc。在我家装一个ss客户端和frps。然后如何设置呢??谢谢
回复 支持 反对 印象

使用道具 举报

0

精华

9

回帖

30

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
25
精华
0
wyxzyf 发表于 2018-5-2 17:07 来自 中国山西阳泉
谢谢您的回复
回复 支持 反对 印象

使用道具 举报

123下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于作者

laomms

发烧玩家

  • 主题

    17

  • 帖子

    92

  • 关注者

    15

etsme
快速回复 返回列表 搜索 官方QQ群
懒人地图| 手机版|小黑屋| 智能生活 , 上那是云 |闽ICP备2020018196号-1 |网站地图