本文的openwrt版本是,
HomeLede v2023.02.05 based on OpenWrt R23.2.14
已经预装了Wireguard.(在状态tab里可以看到Wireguard状态,即为已经预装)
连接openwrt
使用SSH连接openwrt,或者直接在系统->TTYD终端login
创建密钥
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 - 网络 - 接口 - 添加新接口
保存后编辑该接口
私钥为之前步骤的服务器私钥(server_privatekey
)
端口是随意填的一个端口,填写该端口后需要去防火墙里进行端口转发,转发UDP即可
IP地址为:用于组网的地址,比如可以填172.10.10.1/24
`192.168.X.1/24等等,这里以
192.168.2.1/24`为例,
防火墙:选择LAN即可
添加peer
点击添加,再选择预共享密钥,再点击右边的添加
公钥 - 填写上文获取的IOS 客户端公钥
预共享密钥 - 填写上文获取的预共享密钥
允许的 IP - 即表示为此 IcOS 客户端分配固定 IP , 本文示例为 192.168.2.2/32
勾选上路由允许的IP
持续 Keep-Alive - 填写 25
保存后返回接口处,点连接,重新连接一下
创建客户端配置文件
创建后缀为.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文件传到手机,导入即可连接
2 条评论
语言通俗易懂,适合目标读者群体。
[...]以下更直观:OpenWRT 配置 WireGuard 服务端及客户端连接配置 - 静谧时光 - silencetime[...]