frp轻松内网穿透,玩转树莓派HomeAssistant

目录

安装条件

服务器端安装步骤

客户端安装步骤

说在最后

重要提醒


​​​​​​​

最近自己搭建HomeAssistant智能家居平台,在家里的内网访问HomeAssistant没有问题,但因为使用的是电信的宽带没有分配公网IP,造成无法通过公网访问HomeAssistant,这也就意味着不能在外访问和控制家里的智能设备。考虑到花生壳等内网穿透工具不但限制链接数量,而且超过限定的流量就开始收钱,本着自己动手丰衣足食的创客精神,毅然决定使用方便好用的开源穿透工具frp。

安装条件

服务器端:公网云服务器1台并安装ubuntu20.04。

客户端:树莓派1台并安装ubuntu20.04。我的HomeAssistant运行在安装ubuntu的树莓派上,作为智能家居的控制中心。

软件:目前最新版本为v0.37.1,服务器端和客户端必须下载同一版本,避免不可预知的麻烦(这个在安装过程中踩过坑)。Releases · fatedier/frp · GitHubA fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. – Releases · fatedier/frpfrp轻松内网穿透,玩转树莓派HomeAssistant插图https://github.com/fatedier/frp/releases

服务器端安装步骤

1.下载frp

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

根据需要选择相应的版本,我这里下载的是linux64位的版本。

2.解压缩

tar -xvf frp_0.37.1_linux_amd64.tar.gz
tar -xvf frp_0.37.1_linux_amd64.tar.gz
tar -xvf frp_0.37.1_linux_amd64.tar.gz

进入解压之后的文件夹

cd frp_0.37.1_linux_amd64/ ls -l
cd frp_0.37.1_linux_amd64/ ls -l
cd frp_0.37.1_linux_amd64/ ls -l

frp轻松内网穿透,玩转树莓派HomeAssistant插图1

frpc、frpc_full.ini|、frpc.ini分别为客户端程序、全配置文件、自定义配置文件

frp3、frp3_full.ini|、frp3.ini分别为服务器端程序、全配置文件、自定义配置文件

进入systemd文件夹

cd systend ls -l
cd systend ls -l 
cd systend ls -l

frp轻松内网穿透,玩转树莓派HomeAssistant插图2

4个文件为分别为客户端和服务器端的系统服务配置

3.文件归位

一般情况下,在解压后的当前目录使用命令模式就可以使用。但考虑到管理方便,强烈建议将所有文件放到相应的目录中。

将服务器端可执行文件frps放到/usr/bin目录

sudo cp frps /usr/bin
sudo cp frps /usr/bin
sudo cp frps /usr/bin

将配置文件frps.ini放到/etc/frp/目录

sudo mkdir /etc/frp sudo cp frps.ini /etc/frp
sudo mkdir /etc/frp sudo cp frps.ini /etc/frp
sudo mkdir /etc/frp sudo cp frps.ini /etc/frp

将系统服务配置frps.service、frps@.service 放到/lib/systemd/system目录

sudo cp /systemd/{frps.service,frps@.service} /lib/systemd/system
sudo cp /systemd/{frps.service,frps@.service} /lib/systemd/system
sudo cp /systemd/{frps.service,frps@.service} /lib/systemd/system

4、配置

打开/etc/frp/frps.ini配置文件,输入如下内容并保存退出

[common] bind_port = 7000 bind_udp_port = 7001 kcp_bind_port = 7000 vhost_http_port = 80 vhost_https_port = 443 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = XXXXX(自定义) authentication_method = token token = XXXXXXXX(自定义)
[common] bind_port = 7000 bind_udp_port = 7001 kcp_bind_port = 7000 vhost_http_port = 80 vhost_https_port = 443 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = XXXXX(自定义) authentication_method = token token = XXXXXXXX(自定义)
[common] bind_port = 7000 bind_udp_port = 7001 kcp_bind_port = 7000 vhost_http_port = 80 vhost_https_port = 443 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = XXXXX(自定义) authentication_method = token token = XXXXXXXX(自定义)

5、启动服务器端

设置为开机启动

sudo systemctl enable frps
sudo systemctl enable frps
sudo systemctl enable frps

启动服务器端

sudo systemctl start frps
sudo systemctl start frps
sudo systemctl start frps

没有报错则基本安装成功,可以通过查看系统服务状态确定是否运行成功

sudo systemctl status frps
sudo systemctl status frps
sudo systemctl status frps

运行结果如果与下图一致则表示服务已成功启动

frp轻松内网穿透,玩转树莓派HomeAssistant插图3

至此,服务器端安装成功。

可以通过http://你的IP:7500查看运行状态

客户端安装步骤

1.下载frp

wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_arm64.tar.gz
wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_arm64.tar.gz
wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_arm64.tar.gz

因为树莓派是arm的CPU,因此我下载的是arm64位的客户端,大家可以根据客户端的情况现在相应的版本

2.解压缩

tar -xvf frp_0.37.1_linux_arm64.tar.gz
tar -xvf frp_0.37.1_linux_arm64.tar.gz
tar -xvf frp_0.37.1_linux_arm64.tar.gz

解压后的文件夹中各文件的作用与服务器端的一致。客户端文件名都包含frpc

3.文件归位

将客户端可执行文件frpc放到/usr/bin目录

sudo cp frpc /usr/bin
sudo cp frpc /usr/bin
sudo cp frpc /usr/bin

将配置文件frpc.ini放到/etc/frp/目录

sudo mkdir /etc/frp sudo cp frpc.ini /etc/frp
sudo mkdir /etc/frp sudo cp frpc.ini /etc/frp
sudo mkdir /etc/frp sudo cp frpc.ini /etc/frp

将系统服务配置frpc.service、frpc@.service 放到/lib/systemd/system目录

sudo cp /systemd/{frpc.service,frpc@.service} /lib/systemd/system
sudo cp /systemd/{frpc.service,frpc@.service} /lib/systemd/system
sudo cp /systemd/{frpc.service,frpc@.service} /lib/systemd/system

4、配置

打开/etc/frp/frpc.ini配置文件,输入如下内容并保存退出

[common] server_addr = X.X.X.X(安装frp服务气短的公网服务器地址) token = XXXXX(与服务器端配置文件一致) server_port = 7000 # vhost_http_port = 80 [http] type = tcp local_port = 8123 remote_port= 8123 custom_domains =XXX.XXX.com(需要域名访问的设置,不需要的可不设置)
[common] server_addr = X.X.X.X(安装frp服务气短的公网服务器地址) token = XXXXX(与服务器端配置文件一致) server_port = 7000 # vhost_http_port = 80 [http] type = tcp local_port = 8123 remote_port= 8123 custom_domains =XXX.XXX.com(需要域名访问的设置,不需要的可不设置)
[common] server_addr = X.X.X.X(安装frp服务气短的公网服务器地址) token = XXXXX(与服务器端配置文件一致) server_port = 7000 # vhost_http_port = 80 [http] type = tcp local_port = 8123 remote_port= 8123 custom_domains =XXX.XXX.com(需要域名访问的设置,不需要的可不设置)

5、启动服务器端

设置为开机启动

sudo systemctl enable frpc
sudo systemctl enable frpc
sudo systemctl enable frpc

启动服务器端

sudo systemctl start frpc
sudo systemctl start frpc
sudo systemctl start frpc

没有报错则基本安装成功,可以通过查看系统服务状态确定是否运行成功

sudo systemctl status frpc
sudo systemctl status frpc
sudo systemctl status frpc

运行结果如果与下图一致则表示客户端已启动并成功连接服务器端

说在最后

至此就可以通过http://你的IP:8123访问局域网内的HomeAssistant了

也可以设置你的域名解析到你的IP,而后通过http://你的域名:8123访问局域网内的HomeAssistant

看看我的效果

frp轻松内网穿透,玩转树莓派HomeAssistant插图4

重要提醒

切记切记!公网云服务器记得放行配置文件中涉及到的所有端口,否则无法访问。

原文链接:https://blog.csdn.net/lhjjjj/article/details/120792040?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168449620216800213022817%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168449620216800213022817&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-10-120792040-null-null.blog_rank_default&utm_term=NAS%E3%80%81%E7%BE%A4%E6%99%96%E3%80%81%E9%98%BF%E9%87%8C%E4%BA%91%E3%80%81%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90%E3%80%81%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E3%80%81ipv6%E3%80%81ddns%E3%80%81%E8%BD%BB%E9%87%8F%E7%BA%A7%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%81%E9%93%81%E5%A8%81%E9%A9%AC%E3%80%81%E5%A8%81%E8%81%94%E9%80%9A%E3%80%81DSM%E3%80%81DSM6.0%E3%80%81%E7%BE%A4%E6%99%96nas%E3%80%81%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%81%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85%E3%80%81%E9%BB%91%E7%BE%A4%E6%99%96%E3%80%81docker%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81%E5%9F%9F%E5%90%8D%E6%B3%A8%E5%86%8C%E3%80%81%E5%AE%9D%E5%A1%94%E3%80%81%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E3%80%81nginx%E3%80%81frp%E3%80%81%E5%8A%A8%E6%80%81%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90

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