搭建环境说明:
OPNSense 端有固定公网IP地址
ROS 端非公网IP地址
Wireguard最少需要一个点有固定公网IP地址,通常定义为服务端(被动端),非固定公网作为客户端(主动发起连接请求端)
客户总部与分公司想实现无感互访,具体设定如下:
OPN 总部端设置:
VPN -> WireGuard -> 实例 -> 点 ‘+’ 新建一个实例
名称: 随意填
公钥 & 私钥: 点 ‘齿轮’ 自动生成即可
监听端口: 建议高位端口
Tunnel address: 10.10.10.1/24 <- 这是OPN在这个Tunnel的IP地址,可以按需要变更,但需要和本地LAN网段和对端LAN网段不同
对端: 未配置peer前这里为空,配置peer后变为可选,可以把多个peer加入到这个Tunnel,即可多个网络使用同一个Tunnel。
VPN -> WireGuard -> 对端(对端)-> 点‘+’新建一个peer ,也可使用“Peer generator”生成对端的配置文件,移动端直接扫描生成的二维码即可。
名称: 对端的标识(随意标识)
公钥: 对端生成的公钥
Pre-shared key : 点‘齿轮’自动生成即可 <- 生成后需要复制到对端
允许的IP: 这里10.10.10.3/32 是对端的IP地址,192.168.20.0/24是对端LAN网段 ,意思是允许对端10.10.10.3这个地址和对端整个LAN网段192.168.20.0/24接入
实例:选择刚才新建的‘实例’
Keepalive interval: 为空也没有任何问题
ROS 客户端设置:
WireGuard -> WireGuard 新建
Name:随意自定义
Listen Port:默认13231 可自定义,因为这里客户端所以默认即可
Private Key: 点‘+’ 会自动生成
Public Key: 上面的Private Key生成后,这个公钥也会自动生成。 <- 这个Key要填写到OPN Peer里的‘公钥’栏里
WireGuard -> Peers 新建
Name:随意填写
Interface:刚才新建的‘接口名称’
Public Key:这里填写对端OPN的公钥
Private Key: 留空即可
Endpoint: 对端的公网IP地址
Endpoint Port: 对端的端口
Allowed Address:10.10.10.0/24 允许整个Tunnel网段访问,192.168.2.0/24允许对端LAN网段访问
Preshared Key:这个KEY需要copy对端OPN自动生成的Preshared Key,留意上面第一步的红字部分。
以上两地的WireGuard配置全部完成。
OPN会自动增加相应的路由,但ROS端需要增加静态路由以便访问对端的LAN。
ROS -> IP -> Routes 【让访问对端LAN网段的流量走wireguard接口】
Dst.Address : 192.168.2.0/24 <- 对端的LAN网段
Gateway: wireguard
至此两地LAN网络能互访了,处于‘无感’状态。