目的
- 由于公司网络和家庭网络不互通,在 OPNsense 上使用 WireGuard 把公司和家庭网络组成局域网,方便在公司访问家中 NAS 等设备
- 由于电信封了 80,443 等常用端口,又不想访问域名时加上端口号,组局域网后即可使用 80,443 等
环境说明
软件版本
软件 | 版本号 |
---|---|
OPNsense | 19.7.7-amd64 |
OPNsense 插件 WireGuard | 1.1 |
Windwos WireGuard | 0.0.35 |
VPN 网段 10.20.6.0/24
家庭内网 10.1.1.0/24
机器 IP 规划
机器 | IP |
---|---|
OPNsense | 10.20.6.1 |
公司 Windwos | 10.20.6.2 |
注意:家庭网络需要有公网 IP
OPNsense 设置
安装
系统
->固件
->插件
->os-wireguard
->+
;安装完成后刷新,可在VPN
中找到WireGuard
设置 OPNsense WireGuard
切换到本地
选项卡,点+
添加一个本地配置
配置项 | 推荐值 |
---|---|
名称 | 自定义 |
公钥 | 不填,等会保存后会自动生成 |
私钥 | 不填,等会保存后会自动生成 |
监听端口 | 自定义,默认 51820 |
DNS 服务器 | 自定义,可不填 |
隧道地址 | 10.20.6.1/24 按照上面规划设置 |
对等 | 不选,等会再回来选择 |
禁用路由 | 不选 |
保存
设置端点
连接 opnsense ssh,输入以下命令生成公私钥
1 | wg genkey | tee privatekey | wg pubkey > publickey |
生成后复制公钥备用,运行命令生成共享密钥
1 | root@OPNsense:/tmp # wg genkey |
切换到端点
选项卡,点+
添加一个端点
配置项 | 推荐值 |
---|---|
名称 | 自定义 |
公钥 | 粘贴刚才生成的 |
共享密钥 | 复制刚才第二次生成的粘贴 |
Allowed IPs | 10.20.6.2/24 按照上面规划设置(添加的是公司 Windwos 端点) |
终点地址 | 不填 |
终点端口 | 不填 |
Keepalive | 25(此项为心跳间隔时间,详情参考官方文档) |
保存
切换到常规
选项卡,启用 WireGuard
防火墙设置
防火墙
->规则
->WAN
->添加
配置项 | 推荐值 |
---|---|
协议 | TCP/UDP |
目标 | 防火墙自身 |
目标端口范围 | 本地配置中监听端口 |
描述 | 自定义 |
保存后,应用
公司 Windows 设置
配置文件如下:
1 | [Interface] |
保存后启用
测试
公司 ping 家庭内网
1 | λ ping 10.1.1.5 |
路由下设备 ping 公司 Windows
1 | ~ % ping 10.20.6.2 |
访问家中 nginx
1 | curl https://example.com |
以上
如果需要家庭内网和公司内网互通,请参考下面这篇文章
https://gobomb.github.io/post/wireguard-notes
参考
https://www.wireguard.com
https://docs.opnsense.org/manual/how-tos/wireguard-client.html