服务器安装配置frp内网穿透教程

前言

本文将详解在服务器上安装frp内网穿透服务,使用群晖NAS或梅林固件路由器安装frp客户端来实现内网穿透.

本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.

一、服务器端安装frps

你需要一台公网固定IP的服务器来安装frp服务器端,推荐使用阿里云腾讯云等国内服务商的云服务器.

安装frps文件

登录服务器
进入安装目录(本文以/usr/local/为例)

cd /usr/local

官方下载frp最新版(本文以Linux CentOS7.6 64位为例)

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

解压文件

tar -xzvf frp_0.24.0_linux_amd64.tar.gz

创建frps文件夹

mkdir frps

拷贝下载的服务器端文件到frps文件夹

cd frp_0.24.0_linux_amd64
cp frps frps_full.ini frps.ini ../frps

删除无用文件和文件夹

cd /usr/local
rm -rf frp_0.24.0_linux_amd64 frp_0.24.0_linux_amd64.tar.gz

配置frps

编辑frps.ini文件

cd frps
vi frps.ini

修改参照

[common]
bind_addr = 0.0.0.0
bind_port = 7000
bind_udp_port = 7001
kcp_bind_port = 7000
vhost_http_port = 80
vhost_https_port = 443
dashboard_addr = 0.0.0.0
dashboard_port = 6443
dashboard_user = admin
dashboard_pwd = xxxxxxxxx     //这里设置你的管理面板密码
log_file = ./frps.log
log_level = info
log_max_days = 3
token = xxxxxxxxxxxxxx       //这里设置你的frp token
allow_ports = 2000-3000,3001,3003,4000-50000
max_pool_count = 50
max_ports_per_client = 0
subdomain_host = frps.com
tcp_mux = true

注意:阿里云腾讯云服务器需在安全组添加7000,6443端口开放.

启动frps

启动frps命令

./frps -c ./frps.ini

保持后台运行frps命令

nohup ./frps -c ./frps.ini &

配置systemctl来控制frps

登录服务器
创建frps.service

sudo vim /lib/systemd/system/frps.service

在frps.service里添加以下内容

注意"ExecStart="之后的路径要填写你的frps安装路径(本文以安装到/usr/local/为例)

ESC退出编辑
输入:wq回车即可保存

[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/usr/local/frps/frps -c /usr/local/frps/frps.ini  //启动服务的命令(此处写你的frps的实际安装目录)

[Install]
WantedBy=multi-user.target

使用systemctl命令来控制frps

启动frps

sudo systemctl start frps

服务器开机自动启动frps

sudo systemctl enable frps

重启frps

sudo systemctl restart frps

停止frps

sudo systemctl stop frps

查看日志

sudo systemctl status frps

检查服务器端安装情况

输入http://xxx.xxx.xxx.xxx:6443来查看frps服务状态

xxx.xxx.xxx.xxx为你的frp服务器IP

1.jpg

二、群晖NAS安装frpc

如果你有一台群晖NAS,建议把客户端frpc安装在群晖NAS中,运行更加稳定.如果没有群晖NAS也可以继续阅读本文在梅林固件路由器中安装frpc客户端的教程.

设置域名解析

登录你的域名服务商
域名解析
设置域名A记录到你的frp服务器地址
2.jpg

安装frpc文件

开启群晖SSH功能
控制面板
终端机和SNMP
启动SSH功能
应用
3.jpg
打开终端并SSH登陆到群晖

ssh xxxx@192.168.x.x //xxx为群晖管理员账号,IP为群晖内网IP.
输入密码-回车
sudo -i  //获得root权限
输入密码-回车

进入安装目录(本文以/usr/local/为例)

cd /usr/local

官方下载frp最新版

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

解压文件

tar -xzvf frp_0.24.0_linux_amd64.tar.gz

创建frpc文件夹

mkdir frpc

拷贝下载的客户端文件到frpc文件夹

cd frp_0.24.0_linux_amd64
cp frpc frpc_full.ini frpc.ini ../frpc

删除无用文件和文件夹

cd /usr/local
rm -rf frp_0.24.0_linux_amd64 frp_0.24.0_linux_amd64.tar.gz

配置frpc

编辑frpc.ini文件

cd frpc
vi frpc.ini

修改参照

[common]
server_addr = 254.254.254.254   //填写你的服务器IP或者地址
server_port = 7000              //与frps.ini的端口保持一致,默认为7000.
token = xxxxxxxxxxxxx           //与frps.ini设置的token保持一致

[web1]                         //任意命名,不可重复.
type = http                    //http协议
local_ip = 127.0.0.1           //默认无需修改
local_port = 80                //http使用80端口
custom_domains = www.ioiox.com //填写你的域名

[web2]                         //任意命名,不可重复
type = https                   //https协议
local_ip = 127.0.0.1           //默认无需修改
local_port = 443               //https使用443端口
custom_domains = www.ioiox.com //填写你的域名

启动frpc

启动frpc命令

./frpc -c ./frpc.ini

保持后台运行frpc命令

nohup ./frpc -c ./frpc.ini &

设置群晖NAS重启开机自动运行frpc

控制面板
任务计划
4.jpg
新增
触发的任务
用户自定义脚本
5.jpg
常规
填写任务名称
用户账号和事件保持默认
6.jpg
任务设置
用户自定义脚本
填写你的frpc安装路径
确定

/usr/local/frpc/frpc -c /usr/local/frpc/frpc.ini

7.jpg
选中新增的脚本
运行
8.jpg
勾选新增的脚本
保存
9.jpg

进阶配置群晖NAS端口

根据实际需求,分为以下两种方案:

  1. 群晖NAS没有安装Web Station,只需要用域名登录群晖DSM管理页面,Drive,Moments.
  2. 群晖NAS已经安装Web Station,同时需要用域名登录群晖DSM管理页面,Drive,Moments和Web Station上部署的网站.

方案一

如果只需要用域名访问群晖DSM管理页面,我们把80/443端口给群晖DSM,这样无需输入端口号就可以访问群晖.

查询或修改群晖DSM端口(本文以5000/50001为例)
控制面板
网络
DSM设置
10.jpg
编辑frpc.ini

[common]
server_addr = 254.254.254.254   //填写你的服务器IP或者地址
server_port = 7000              //与frps.ini的端口保持一致,默认为7000.
token = xxxxxxxxxxxxx           //与frps.ini设置的token保持一致

[web1]                         //任意命名,不可重复
type = http                    //http协议
local_ip = 127.0.0.1           //默认无需修改
local_port = 5000              //这里填写DSM的http端口5000
custom_domains = www.ioiox.com //填写你的域名

[web2]                         //任意命名,不可重复
type = https                   //https协议
local_ip = 127.0.0.1           //默认无需修改
local_port = 5001              //这里填写DSM的https端口5001
custom_domains = www.ioiox.com //填写你的域名

重启frpc服务

./frpc -c ./frpc.ini

如诺未生效,可多次运行frpc启动命令,或者重启你的群晖NAS.

检查客户端安装情况
输入http://xxx.xxx.xxx.xxx:6443来查看frps服务状态

xxx.xxx.xxx.xxx为你的frp服务器IP

11.jpg
12.jpg
配置完成
现在可以使用域名无端口访问群晖NAS了
13.jpg
14.jpg
还可以使用域名无端口访问Drive和Moments套件
http://www.你的域名.com/?launchApp=SYNO.SDS.Drive.Application
http://www.你的域名.com/?launchApp=SYNO.Photo.AppInstance

方案二

为你的群晖DSM解析一个二级域名到frp服务器,例如nas.ioiox.com

登录你的域名服务商
域名解析
设置二级域名A记录到你的frp服务器地址
15.jpg
查询或修改群晖DSM端口(本文以5000/50001为例)
控制面板
网络
DSM设置
16.jpg
编辑frpc.ini

web1和web2设置www.ioiox.com域名到群晖Web Station
web3和web4设置nas.ioiox.com到群晖DSM
[common]
server_addr = 254.254.254.254   //填写你的服务器IP或者地址
server_port = 7000              //与frps.ini的端口保持一致,默认为7000.
token = xxxxxxxxxxxxx           //与frps.ini设置的token保持一致

[web1]                         //任意命名,不可重复
type = http                    //http协议
local_ip = 127.0.0.1           //默认无需修改
local_port = 80                //群晖Web Station的默认http端口是80端口
custom_domains = www.ioiox.com //填写你为群晖DSM准备的域名

[web2]                         //任意命名,不可重复
type = https                   //https协议
local_ip = 127.0.0.1           //默认无需修改
local_port = 443              //群晖Web Station的默认https端口是443端口
custom_domains = www.ioiox.com //填写你为网站准备的域名

[web3]                         //任意命名,不可重复
type = http                    //http协议
local_ip = 127.0.0.1           //默认无需修改
local_port = 5000              //这里填写DSM的http端口5000
custom_domains = nas.ioiox.com //填写你为群晖DSM准备的域名

[web4]                         //任意命名,不可重复
type = https                   //https协议
local_ip = 127.0.0.1           //默认无需修改
local_port = 5001              //这里填写DSM的https端口5001
custom_domains = nas.ioiox.com //填写你为群晖DSM准备的域名

重启frpc服务

./frpc -c ./frpc.ini

如诺未生效,可多次运行frpc启动命令,或者重启你的群晖NAS.

检查客户端安装情况
输入http://xxx.xxx.xxx.xxx:6443来查看frps服务状态

xxx.xxx.xxx.xxx为你的frp服务器IP

17.jpg
18.jpg
配置完成
现在可以使用域名无端口访问Web Station部署的网站了
19.jpg
现在可以使用二级域名无端口访问群晖NAS了
20.jpg
21.jpg
还可以使用二级域名无端口访问Drive和Moments套件
http://nas.你的域名.com/?launchApp=SYNO.SDS.Drive.Application
http://nas.你的域名.com/?launchApp=SYNO.Photo.AppInstance

如果你有多个域名配合使用,效果更佳,一个域名专门配置访问群晖DSM及Drive和Moments,另外一个域名专门配置访问Web Station部署的网站了,就可以无需使用二级域名了.

三、梅林固件路由器安装frpc

如果你没有群晖NAS,或者希望把客户端frpc安装在梅林固件的路由器上,可以参考以下教程安装配置.

设置域名解析

登录你的域名服务商
域名解析
设置域名A记录到你的frp服务器地址
22.jpg

安装frpc客户端

登录路由器
软件中心
23.jpg
安装frpc穿透
24.jpg
安装成功
25.jpg

配置frpc

  1. 开启frpc
  2. 服务器填写你frp服务器地址
  3. 端口填写frps安装时设置的端口,默认为7000.
  4. Token填frps安装时设置的Token
  5. 用户名可自行填写

26.jpg
添加域名端口
可以添加多个域名或二级域名来配置多个网站

www.ioiox.com 映射到群晖IP192.168.1.2端口为群晖Web Station的端口默认80/443
nas.ioiox.com 映射到群晖IP192.168.1.2端口为群晖DSM管理端口本文以5000/5001为例
router.ioiox.com 映射到路由器IP192.168.1.1端口为路由器的远程管理端口本文以8888/9999为例

以此类推根据实际情况添加设置
提交后即完成配置
27.jpg

检查客户端安装情况

输入http://xxx.xxx.xxx.xxx:6443来查看frps服务状态

xxx.xxx.xxx.xxx为你的frp服务器IP

28.jpg
29.jpg

现在可以使用域名无端口访问路由器远程管理,群晖DSM,Drive,Moments及Web Station部署的网站了.

结语

本文详解了服务器安装frps,群晖NAS安装frpc,梅林固件路由器安装frpc的教程.由于frp内网穿透速度依赖于第三方服务器的带宽,建议选用国内阿里云,腾讯云等服务商的服务器,带宽选择建议50M以上,体验最佳.但是高带宽的服务器成本过高,本站还介绍了网上免费提供的frp服务,推荐相关文章以供参考:

群晖NAS安装配置免费frp内网穿透教程
梅林固件路由器安装配置免费frp内网穿透教程

解决了内网穿透问题,现在可以在群晖的Web Station上来部署网站.更多群晖NAS相关技巧,教程及信息,请持续关注本站群晖Synology专栏:

本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.

本文链接 https://www.ioiox.com/archives/5.html

最后修改:2019 年 11 月 06 日 10 : 37 PM

4 条评论

  1. 木木

    输入http://xxx.xxx.xxx.xxx:6443来查看frps服务状态,网页打不开,应该从哪查起?

    1. Stille
      @木木

      服务器的端口有没有开放?

  2. ziruiyun

    输入http://xxx.xxx.xxx.xxx:6443来查看frps服务状态,提示输入账号和密码,但是不显示网页,请问是什么情况

    1. Stille
      @ziruiyun

      检查下frps下文件少不少?

发表评论