CentOS服务搭建-04-运用FRPS服务搭建黑群晖NAS的FRPC
目录
CentOS 7安装frps端
- 本次安装服务应用于群晖系统,客户端为frpc0.26.0,因此,frps端使用同版本
- su获取root
- wget https://github.com/fatedier/frp/releases/download/v0.26.0/frp_0.26.0_linux_amd64.tar.gz
- 解压:tar xf frp_0.26.0_linux_amd64.tar.gz
- 改名:mv frp_0.26.0_linux_amd64 frp
- 进入目录:cd frp
- 删除没用的客户端文件:rm -f frpc*
- 配置文件:vim frps.ini
- 编辑ini文件 按ins进入编辑(精简)
[common] bind_addr = x.x.x.x bind_port = x vhost_http_port = xxxxx vhost_https_port = xxxxx privilege_token = dg-xxxxxxxx dashboard_port = xxxx dashboard_user = xxxxx dashboard_pwd = xxxxxxx
frps的调试
- 临时运行:
./frps -c ./frps.ini
- 一次性开机运行:nohup ./frps -c ./frps.ini &
- 命令启动之后如果不重启VPS就会一直运行,以下操作可以省略。只需要在服务器重启之后,重新cd到程序目录,输入一次nohup ./frps -c ./frps.ini &命令即可
- 停止:先找到这个进程,使用ps -ef 查看进程ID
ps -aux | grep frp
- 然后:kill -9 PID
frps的自启动service文档编辑
- 新建frps目录:mkdir /etc/frps
- mkdir /usr/etc/frps
- 拷贝frps.ini 到/etc/frps:cp /源目录/frps.ini /etc/frps/
- 拷贝frps到/usr/etc/frps:cp /源目录/usr/etc/frps
- 使用systemd配置开机自启(适用于 centos7 Ubuntu 16 或 debian 8)
sudo vim /etc/systemd/system/frps.service 新建此文件,并写入以下内容
- frps.service文档内容
[Unit] Description=frps daemon [Service] Type=simple ExecStart=/usr/etc/frps/frps -c /etc/frps/frps.ini # /usr/etc/frps 文件目录,注意service文件中要指向frps运行程序(这个搞了半天才运行成功!!!) # /etc/frps/frps.ini 配置目录 [Install] WantedBy=multi-user.target
frps.service自启动
- vim编辑退出:Esc,# :wq(保存退出)
- 启动并设为开机自启。
sudo systemctl start frps # (把start改为stop即终止frps) sudo systemctl enable frps systemctl status frp # 查看frps状态
Centos6.5及以下版本frps自启动
- vi /etc/rc.local
- 在最下面加一行/usr/sbin/frp/frps -c /usr/sbin/frp/frps.ini
- 其中 /usr/sbin/frp是程序放置的目录,自己修改,重启ok
frps.service自启动进程查看
- 查看frp是否启动:ps aux | grep frps
- 查看frp启动状态
sudo systemctl status frps
frps服务下的防火墙端口开启
- 开启端口
firewall-cmd --permanent --add-port=xxxx/tcp # 开放bind_port(frps服务)# 必须 firewall-cmd --permanent --add-port=xxxx/tcp # 开放dashboard_port(服务面板http)# 必须 firewall-cmd --permanent --add-port=xxxx/tcp # 开放vhost_http_port(http端口)# 按需 firewall-cmd --permanent --add-port=xxxx/tcp # 开放vhost_http_port(https端口)# 按需 firewall-cmd --permanent --add-port=xxxx/tcp # 开放bind_udp_port端口(udp直连)# 按需 firewall-cmd --permanent --add-port=xxxx/tcp # 开放kcp_bind_port端口(kcp端口)# 按需 firewall-cmd --reload #重启防火墙(修改配置后要重启防火墙) firewall-cmd --list-all # 查看防火墙规则
- ssh端口开启(按需):公网服务器防火墙允许对应端口的流量通过,所以需要配置防火墙:
firewall-cmd --zone=public --add-port=10067/tcp --permanent firewall-cmd --reload
- 内网机器上面执行 tail -f nohup.out 查看启动命令的执行结果akerlu
NAS端安装FRPC
- 下载安装docker
- docker注册表,选用frpc 0.26.0版本(可自行选择容易下载的版本,但服务端frps必须对应同版本或者同大版本号的,如:0.34.1的话,可以用0.34.2)
- docker注册表下载后,在映像中可以看到。选择映像中的frpc进行启动编辑,启动编辑省略,可以参考github中的导航说明。
- 配置frpc.ini,本次基于frpc 0.26.0版本
frpc.ini的文档配置
[common] server_addr = 202.107.236.2 #服务器地址 server_port = 6600 #服务器端口 #token = dg-nas2020 privilege_token = dg-nas2020 #token(理解为密码) protocol = tcp [http] type = http #http协议也可以是https local_ip = 192.168.5.162 #群晖的内网IP local_port = 22163 #你自己的web服务器端口 #subdomain = dgnas # 选择一个可用的子域名,你的访问地址将会是http://oldiyblog.frp1.chuantou.org,服务器端必须已绑定顶级域名,否则不要设置 custom_domains = deergrove.win #如果你有自己的域名,可以设置你自己的域名,先将自己的顶级域名解析到frp1.chuantou.org(用CNAME记录,不要用A记录) [https] type = https #http协议也可以是https local_ip = 192.168.5.162 #群晖的内网IP local_port = 22164 #你自己的web服务器端口 #subdomain = dgnas # 选择一个可用的子域名,你的访问地址将会是http://oldiyblog.frp1.chuantou.org,服务器端必须已绑定顶级域名,否则不要设置 custom_domains = deergrove.win #如果你有自己的域名,可以设置你自己的域名,先将自己的顶级域名解析到frp1.chuantou.org(用CNAME记录,不要用A记录) [ssh] type = tcp local_ip = 192.168.5.162 local_port = 10063 #需要转发到的端口,ssh端口默认是22 remote_port = 10067 #frp服务端的远程监听端口,即你访问服务端的remote_port就相当于访问客户端的 local_port,如果填0则会随机分配一个端口 #[DSM] #type = tcp # tcp协议 #local_ip = 192.168.5.162 # 127.0.0.1指穿透本机,也可以填写群晖内网IP. #local_port = 22163 # 群晖内网HTTP端口,默认为5000. #remote_port = 6663 # 映射到外网端口,暴露给服务器,这个客户端必须唯一 #subdomain = dgnas #选择一个可用的子域名,你的访问地址将会是http://dgnas.deergrove.win,服务器端必须已绑定顶级域名,否则不要设置 #custom_domains = blog.xxx.com #如果你有自己的域名,可以设置你自己的域名,先将自己的顶级域名解析到frp1.chuantou.org(用CNAME记录,不要用A记录)