本文的openwrt版本是,HomeLede v2023.02.05 based on OpenWrt R23.2.14

已经预装了Wireguard.(在状态tab里可以看到Wireguard状态,即为已经预装)

连接openwrt

使用SSH连接openwrt,或者直接在系统->TTYD终端login

image.png

创建密钥

mkdir wg
# 创建目录存放公钥私钥
cd wg
# 进入文件夹
umask 077
# 配置创建密钥的权限
wg genpsk > sharekey
# 创建预共享密钥
cat sharekey
# 获取密钥复制保存

wg genkey | tee server_privatekey | wg pubkey > server_publickey
# 创建服务端公钥和私钥
cat server_privatekey
# 获取服务端私钥复制保存
cat server_publickey
# 获取服务端公钥复制保存


wg genkey | tee ios_privatekey | wg pubkey > ios_publickey
# 创建 IOS 客户端公钥和私钥
cat ios_privatekey
# 获取 IOS 客户端私钥复制保存
cat ios_publickey
# 获取 IOS 客户端公钥复制保存

配置openwrt上的Wireguard服务端

登陆 OpenWRT - 网络 - 接口 - 添加新接口

image.png

保存后编辑该接口

私钥为之前步骤的服务器私钥(server_privatekey

端口是随意填的一个端口,填写该端口后需要去防火墙里进行端口转发,转发UDP即可

IP地址为:用于组网的地址,比如可以填172.10.10.1/24`192.168.X.1/24等等,这里以192.168.2.1/24`为例,

且注意不要和路由器的网段相同

image.png

防火墙:选择LAN即可

image.png

添加peer

点击添加,再选择预共享密钥,再点击右边的添加

image.png

公钥 - 填写上文获取的IOS 客户端公钥
预共享密钥 - 填写上文获取的预共享密钥
允许的 IP - 即表示为此 IcOS 客户端分配固定 IP , 本文示例为 192.168.2.2/32

勾选上路由允许的IP
持续 Keep-Alive - 填写 25

保存后返回接口处,点连接,重新连接一下

image.png

创建客户端配置文件

创建后缀为.conf的配置文件,例如wireguard.conf,复制以下信息,并且修改对应的公私钥信息:

[Interface]
Address = 192.168.2.2/32
# 对应 IOS 客户段分配的 IP
PrivateKey = XXXXX
DNS = 192.168.100.1
# 本地的 DNS 服务器,比如你的路由器IP或者公有 DNS 服务器,例如: 8.8.8.8
[Peer]
PublicKey = XXXXX
AllowedIPs = 192.168.100.0/24, 192.168.2.0/24
# iPhone iPad 设置为 0.0.0.0/0 全局则模式.
PresharedKey = XXX
# 预共享密钥
Endpoint = xx.xxxxx.com:5555
# 你的DDNS域名和第一步开放的端口
PersistentKeepalive = 25

此时的配置文件是用于客户端的,所以PrivateKey则为 macOS 客户端的私钥,而Peer中的PublicKey则为 OpenWRT 的公钥. 请注意反向思考 ,Endpoint填写家中的 IP 或者 DDNS 域名和端口.

AllowedIPs

值得注意的是AllowedIPs参数.针对不同场景和需求,此处可以配置不用的路由.
当此处为0.0.0.0/0时表示任意网络请求都经过 VPN 俗称全局 VPN , 由于 iPhone 同时只能有 1 个 VPN 软件在线,所以当 WireGuard 启动时,其他类似Quanx,小火箭等软件则无法使用,此时 iPhone 可以全局 VPN 使用家中的网络来访问一些外网.

IOS

app store搜索wireguard,把conf文件传到手机,导入即可连接

最后修改:2024 年 01 月 04 日
如果觉得我的文章对你有用,请随意赞赏