昶萌

frp内网穿透
概念解释NAS - 简单的说就是一个存储中心。Frp - 一种内网穿透技术。内网穿透 - 就是通过其他公网 IP ...
扫描右侧二维码阅读全文
13
2018/10

frp内网穿透

概念解释

  • NAS - 简单的说就是一个存储中心。
  • Frp - 一种内网穿透技术。

    • 内网穿透 - 就是通过其他公网 IP 来访问本地没有公网 IP 网络环境的一个技术。
    • 内网穿透
    • 内网穿透技术众多,比如花生壳内网穿透、Ngrok、Frp 都是现在主流的内网穿透技术。
      但我个人认为 Frp 是目前最好用配置最简单的(经过测试)。

  • 花生壳

    • 配置简单方便,比较傻瓜化。但要收费。虽然也有免费版,但由于免费版的流量限制,基本上没有什么实际作用。
  • Ngrok

    • 发布时间相对较长,对象较为成熟的一种内网穿透技术。但由于功能的强大。配置较为繁琐。因为折腾许久没有成功过,最后放弃。
  • Frp

    • 配置简单,第一次用就配置成功了。并且适用于各大主流平台设备。

具体过程

准备工作

一台有公网 IP 的服务器 (VPS、云主机)
之前注册了一个国外的 VPS, 准备做内网穿透和 vpn 用,但由于访问速度。果断放弃,最后换成了自己腾讯云 ECS。

NAS (客户端)

刷了梅林固件的路由器

基本步骤

由于 Frp 官网说明文档还是比较详细。我不过多做解释。

服务器端配置:

登录服务器,在 Release页面 下载自己服务器对应版本 Frp

https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz

实例中:我的腾讯云 ECS 用的 centos7 所以我选择 linux_amd64 64位的
使用 tar 指令解压 tar.gz 文件

tar -zxvf frp_0.21.0_linux_amd64.tar.gz

进入 frp 目录

cd frp_0.21.0_linux_amd64

删除不必要的客户端文件

rm -f frpc frpc_full.ini frpc.ini

版本不同可能稍有差异,frpc 为客户端文件 frps 为服务器端文件

配置服务器端文件

vi frps.ini

frps.ini 为服务器配置文件

编辑配置文件

[common]
bind_port = 7000
vhost_http_port = 8080
dashboard_port = 7500
dashboard_user = 用户名
dashboard_pwd = 密码
max_pool_count = 5
authentication_timeout = 900

subdomain_host = codea.cc

[ssh]
listen_port = 6000
auth_token = 和客服端 token 对应,自己随意配置
简单解释:

[common] 必填的
bind_port Frp 服务端口(可自定义)
vhost_http_port http 访问端口(可自定义)
dashboard_port dashboard 界面端口
dashboard_user 登录 dashboard 用户名
dashboard_pwd 登录 dashboard 密码
max_pool_count 最大连接池数量
authentication_timeout 超时验证时间
subdomain_host 自定义二级域名

[ssh]
listen_port ssh 访问端口
auth_token 用户身份认证

详细配置
点击官方

保存上面配置文件吗,启动 frp 服务器

./frps -c ./frps.ini

centos 7

Systemd 管理

复制文件

$ sudo cp frps /usr/local/bin/frps
$ sudo mkdir /etc/frp
$ sudo cp frps.ini /etc/frp/frps.ini

编写 frp service 文件,以 centos7 为例

$ vim /usr/lib/systemd/system/frps.service

内容如下

[Unit]
Description=frps
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target

启动 frp 并设置开机启动

$ sudo systemctl enable frps
$ sudo systemctl start frps
$ sudo systemctl status frps
Last modification:June 21st, 2019 at 06:01 pm

Leave a Comment