实现在外可访问家用群晖
- 需要在外界访问家里的局域网设备,正常情况是需要有公网IP,而IPV4作为家用,运营商基本不给,除非钞能力,IPV6可以用,但是有缺陷,需要互访的两端都是IPV6才能访问。
- 选择frps来实现内网穿透,让家用群晖在外随处能访问
- 需要一台带公网IP的云服务器,环境是centos7.9
防火墙&&安全组
- 关闭云服务器的防火墙:
关闭防火墙 systemctl stop firewalld && systemctl disable firewalld
关闭selinux getenforce 0
- 开放安全组端口:
下载安装frps
#下载frps
wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz
#将frps包copy到 /usr/local/src/
mv frp_0.32.1_linux_amd64.tar.gz /usr/local/src/
#创建应用目录
mkdir /etc/frps
#解压文件到/etc/frps/目录
tar -xvf frp_0.32.1_linux_amd64.tar.gz -C /etc/frps/
修改启动配置vim /usr/lib/systemd/system/frps.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=simple
ExecStart=/etc/frps/frps -c /etc/frps/frps.ini
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
StandardOutput=syslog
StandardError=inherit
[Install]
WantedBy=multi-user.target
服务启动
重载配置
systemctl daemon-reload
启动frps
systemctl start frps
开机自启
systemctl enable frps
重启
systemctl restart frps
修改配置
执行命令vim /etc/frps/frps.ini
[common]
bind_port = 7000
dashboard_port = 7001
vhost_http_port = 10080
vhost_https_port = 10443
token = 123456789
dashboard_user = admin
dashboard_pwd = admin
#黑群晖端口和IP设置
[dsm]
type = tcp
local_ip = 192.168.31.100
local_port = 5000
remote_port = 5000
[dsm] #服务名称
type = tcp #协议类型
local_ip = 192.168.31.100 #内网群晖主机IP
local_port = 5000 #内网群晖访问端口
remote_port = 5000 #服务器访问端口
配置其他服务,同理修改即可
openwrt配置
访问openwrt后台,在服务->Frp 内网穿透
端口令牌参考->>/etc/frps/frps.ini配置文件
服务器:填frpc服务器IP
端口:frpc服务端口(bind_port)
令牌:填token
用户:admin
编辑添加服务列表
设置协议类型:tcp
远程端口:5000
内网主机:192.168.31.100
内网端口:5000
访问测试
使用公网IP+端口
打开DSM网页界面,成功
下载文件测试
速度有点慢,我的服务器网络是1M的