多平台方案:快速利用FRP实现NAS内网穿透

frp 是什么?

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。关于 frp 的详细介绍详见 Github。从 frp 的架构体现了两个端:服务端 frps 和 客户端 frpc。本文主要讲述在 Windows 下部署服务端、在 Docker 下部署客户端的实现步骤。

为什么要内网穿透?

目前遇到了 2 个业务需求,需要内网穿透来解决:

  1. 公司局域网内服务器部署了 Web 站点,需要在公司外访问;
  2. 云服务器需要定时向内网服务器发送请求;

本文分别记录了在 Linux 和 Windows 环境下部署 FRP 客户端与服务端的步骤。

  • 服务端 1:公网 CentOS 7.4 (x64)
  • 服务端 2:公网 Windows Server 2008 (x64)
  • 客户端1:Linux 环境下的 Docker (x64)
  • 客户端2:Windows 10 (x64)

1.1. Linux 服务端

  • 选择 frp_x.xx.x_linux_amd64.tar.gz
    解压后取出 frps 和 frps.ini 两个文件,放到 frp 目录下。

不同系统下 frps.ini 内容相同,可参考的参数如下(注释请删掉):

[common] bind_addr = 0.0.0.0 bind_port = 9001 dashboard_port = 9000 // 控制面板端口 dashboard_user = admin // 控制面板用户名 dashboard_pwd = admin // 控制面板密码 vhost_http_port = 8000 vhost_https_port = 4430 log_file = ./frps.log log_level = error log_max_days = 3 token = thisisarandomstring // 自定义15位以上的连接密钥 max_pool_count = 50 tcp_mux = true 

打开终端进入 frp 目录下,先 chmod 后再运行:

cd frp chmod 775 frps chmod 775 frps.ini nohup ./frps -c frps.ini & 

命令说明:
nohup :在退出帐户之后继续运行相应的进程,不挂起( no hang up)。
& :在后台运行某个作业,使终端不被该作业占据。

1.2. Windows 服务端

  • 选择 frp_x.xx.x_windows_amd64.zip
    解压后取出 frps.exe 和 frps.ini 两个文件,放到 frp 目录下。

不同系统下 frps.ini 内容相同,可参考上面的配置,此处不赘述。

使用管理员身份启动 cmd 终端,进入 frp 目录下运行:

cd frp frps -c frps.ini 

启动任务管理器,出现了 frps.exe,说明 frps 已经在后台运行了。
注:终端运行后不能关掉。

1.3. 开放安全组

由于公网系统是云主机,因此还要到安全组里开放相应的端口。

腾讯云安全组:
image

阿里云安全组:
image

至此,服务端的 frp 服务已经部署完成了。

2.1. Docker 部署客户端

这里建在 /home 中,可以通过 SSH 登录并操作:

cd /home sudo mkdir frp 

首先进入到 /home/frp 中,使用 vi 创建 frpc-docker-compose.yml,写入:

version: '3' services: frpc: image: cloverzrg/frpc-docker volumes: - ./frpc.ini:/conf/frpc.ini container_name: frpc network_mode: host</code></pre> 

再使用 vi 创建 frpc.ini,可参考的参数内容如下(注释请删掉):

[common] server_addr = x.x.x.x // 服务端的公网IP地址 server_port = 9001 token = thisisarandomstring // 自定义的连接密钥 [自定义名字] type = tcp local_ip = 127.0.0.1 local_port = 80 // 本地端口 remote_port = 9002 // 远程端口 use_encryption = true use_compression = true 
docker-compose -f frpc-docker-compose.yml up -d 

2.2. Windows 部署客户端

  • 选择 frp_x.xx.x_windows_amd64.zip
    解压后取出 frpc.exe 和 frpc.ini 两个文件,放到 frp 目录下。

不同系统下 frpc.ini 内容相同,可参考上面的配置,此处不赘述。

使用管理员身份启动 cmd 终端,进入 frp 目录下运行:

cd frp frpc -c frpc.ini 

启动任务管理器,出现了 frpc.exe,说明 frpc 客户端已经在后台运行了。
注:终端运行后不能关掉。

参考资料

原文链接:https://www.cnblogs.com/conne/p/15215623.html

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