『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 3544|回复: 8

[基础教程] 【Wireguard】公网HA回家指南

[复制链接]

14

主题

89

帖子

1065

积分

金牌会员

Rank: 6Rank: 6

积分
1065
金钱
966
HASS币
90
发表于 2022-7-28 12:08:30 | 显示全部楼层 |阅读模式
本帖最后由 hudan717 于 2022-7-28 13:44 编辑

本文面向群体:有公网IP,日常使用公网IP或动态域名进行内网访问的人群。
随着公网的普及,相信许多朋友都将自己的宽带转成了公网,拥有了属于自己的域名。
公网的好处有很多:下载体验好,传输速度快,使用方便,无需内网穿透,DDNS等第三方工具。
但是对应的,公网的缺点也很明显,就是不安全。
如果你的公网IP被别人知道了,别人就有可能利用这个公网IP入侵你的路由器,那么你的家庭设备就会很危险,包括你手机中的照片、家庭NAS、以及家庭摄像头之类的都极有可能被他人获取到内容。
如果你只在路由器上开启针对服务器的端口转发功能,那么黑客也可以轻而易举的得到权限对你的设备为所欲为。
因此,对使用公网的人来说,有一个靠谱的VPN用于回家是非常有必要的。
Wireguard就是一个非常优秀的VPN工具,支持多种设备的安装,HA也有Addon提供。
本文使用的是Openwrt上自带的Wireguard接口,如果你不使用Openwrt,也可以使用Wireguard的App进行设置,原理相同,触类旁通。
设置Homeassistant上的wireguard(以下简称WG)
1.在加载项商店中搜索wireguard进行安装


1.png
2.安装成功后,不要急着启动,首先点击配置
2.png
3.在配置中,我们能看到有两个部分,其中server中的内容是服务端信息,peers中的是客户端信息。


3.png


从上往下进行配置:

peers
- name: dahuha #任意名称
  public_key: rz58/aUmj7padyVNOCOrDRgoQnkTz8C72yMr82AG4gQ=  #暂时留空,稍后添加
  addresses:
  - 172.27.66.2  #默认不用改动,不与局域网内其他IP冲突即可
  allowed_ips: []  #不用改
  client_allowed_ips: []  #不用改
server
addresses:
  - 172.27.66.1 #不用改
dns:
  - 114.114.114.114  #填写其他国内DNS或局域网DNS都可以
host:  www.dahuzuishuai.com #自己的公网域名

4.接下来,通过SSH获得OP上的服务端公钥


打开你的Putty或Finalshell,进入OP的SSH,创建公钥私钥。
mkdir wg
# 创建目录存放公钥私钥
cd wg
# 进入文件夹
umask 077
# 配置创建密钥的权限
wg genkey | tee server_privatekey | wg pubkey > server_publickey
# 创建服务端公钥和私钥 
cat server_privatekey 
# 获取服务端私钥复制保存
cat server_publickey
# 获取服务端公钥复制保存



6.png

保存好这里的公钥和私钥,同时把公钥复制到刚才配置文件的Public_key:后面,注意留一个冒号后面留一个空格,HA的文件配置就完成了,点击保存,并启动运行。

5.加载项运行后,我们点击日志

7.png

刷新几下以后可以看到客户端WG的公钥,保存好这个公钥。同时我们注意看下日志中Peer后面的公钥是否是我们刚才配置里填写的公钥,如果不是的话,检查以下配置内容是否填写有误。

6.此时HA上的操作基本就结束了,接下来我们转战到OP中进行配置。

在OP的状态栏中,有WG状态选项,在服务端未配置前,点开是没有任何内容的。

4.png

7.在下方网络选项中点击接口,随后添加新接口

11.png

接口名称随意,协议选择WireguardVPN,其余不动,点击创建

14.png


成功创建接口后,把刚才SSH中获得的私钥(Private key)填写到私钥栏中,
如果你在HA的配置中使用的是默认IP的话,则可以像我一样在IP地址中输入172.27.66.1/24

随后我们点击下方添加Peers,进行配置
111.png

公钥填写刚才加载项日志中复制的服务端Public_key
IP地址可以写的跟我一样(如果上面都是照做的话)
端点主机填写自己的公网域名
端点端口默认51820不要改
Keep Alive填写25
保存并应用

8.设置端口转发,把51820端口转发到公网
端口转发的方式每个路由器都不一样,我的主路由是爱快,这里给大家一个参考

123.png
注意,转发协议要选择UDP,转发的内网地址是自己的HA局域网地址


至此,所有设置基本就告一段落了,如果你的Openwrt是作为主路由使用的,那么你可以直接连接接口

112.png

在Wireguard状态中看到握手成功,说明配置完成,WG已经开始正常工作了。
9.如果你跟我一样,使用Openwrt作为旁路由使用,那么还需设置一下OP的防火墙


点击网络-防火墙-自定义规则


114.png

在最下方添加一行规则
iptables -t nat -A POSTROUTING -s 172.27.66.1/24 -o br-lan -j MASQUERADE

注意中间的IP地址要与你接口中设置的服务端地址一样

点击重启防火墙,(最好能够重启一下Openwrt),然后打开Wireguard接口即可。
10.如果以上步骤全部完成,最后遇到无法成功握手等问题的话,在HA后台文件中找到Wireguard文件夹,检查一下客户端的私钥是否被正确配置了

221.png
将私钥文件复制到你创建的配置文件夹中

222.png

打开conf文件,添加一行私钥配置代码即可(“=”后面不用添加任何东西)







回复

使用道具 举报

0

主题

608

帖子

2520

积分

金牌会员

Rank: 6Rank: 6

积分
2520
金钱
1912
HASS币
0
发表于 2022-7-28 13:30:23 | 显示全部楼层
本帖最后由 Ari 于 2022-7-28 13:32 编辑

沙发 坐上,正是自己需要的
回复

使用道具 举报

16

主题

131

帖子

750

积分

高级会员

Rank: 4

积分
750
金钱
619
HASS币
0
发表于 2022-7-28 14:16:23 | 显示全部楼层
感觉有点复杂啊
回复

使用道具 举报

28

主题

559

帖子

4396

积分

论坛元老

Rank: 8Rank: 8

积分
4396
金钱
3837
HASS币
0
发表于 2022-7-28 14:54:19 | 显示全部楼层
这个与nignx反代有啥区别
回复

使用道具 举报

16

主题

166

帖子

2149

积分

金牌会员

Rank: 6Rank: 6

积分
2149
金钱
1983
HASS币
0
发表于 2022-8-4 11:31:51 | 显示全部楼层
貌似OP自带的openvpn配置比这个更简单,还支持ipv6
回复

使用道具 举报

14

主题

430

帖子

2699

积分

金牌会员

Rank: 6Rank: 6

积分
2699
金钱
2269
HASS币
0
发表于 2022-8-4 12:49:27 来自手机 | 显示全部楼层
终于有人也这样用了,但是想问一下,openwrt配置好,外网设备连上不就可以用了吗?为什么ha里也要配置呢?
回复

使用道具 举报

14

主题

89

帖子

1065

积分

金牌会员

Rank: 6Rank: 6

积分
1065
金钱
966
HASS币
90
 楼主| 发表于 2022-8-5 12:44:36 | 显示全部楼层
ylilike 发表于 2022-8-4 12:49
终于有人也这样用了,但是想问一下,openwrt配置好,外网设备连上不就可以用了吗?为什么ha里也要配置呢? ...

理解成服务端跟客户端就可以了 OP是配置的是服务端, 其他HA,Iphone,MAC上配置的哦都是客户端
回复

使用道具 举报

14

主题

120

帖子

925

积分

高级会员

Rank: 4

积分
925
金钱
805
HASS币
0
发表于 2022-8-5 13:46:22 来自手机 | 显示全部楼层
jpcugv 发表于 2022-8-4 11:31
貌似OP自带的openvpn配置比这个更简单,还支持ipv6

这个也支持ipv6,移动宽带有v6的公网地址,我现在是在宿主机(Unraid,配置很简单)上安装wireguard,在外面通过ipv6连上wireguard就能访问所有家里的设备(ipv4)。
回复

使用道具 举报

47

主题

1659

帖子

6700

积分

论坛元老

Rank: 8Rank: 8

积分
6700
金钱
5031
HASS币
40
发表于 2022-8-30 10:13:57 | 显示全部楼层
本帖最后由 jjcs 于 2022-10-5 10:48 编辑

经过几天的软磨硬泡,终于搞定了wg,我其实更推荐用docker部署服务端,开启内核转发规则,转发内网的ip网段,手机连接的时候添加内网网段,比较完美
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-29 05:25 , Processed in 0.151716 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表