家里旁路由Openwrt(IP:192.168.2.2)里的docker配置的wireguard

finalshell登录openwrt后输入以下命令,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
docker run -d \
--name=wg-easy \
-e LANG=de \
-e WG_HOST=aaa.aaa.com \
-e PASSWORD=123456789 \
-e WG_DEFAULT_DNS=114.114.114.114,223.5.5.5 \
-v ~/.wg-easy:/etc/wireguard \
-p 51820:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv6.conf.all.disable_ipv6=0" \
--sysctl="net.ipv6.conf.all.forwarding=1" \
--restart unless-stopped \
ghcr.io/wg-easy/wg-easy

其中两个地方需要动,一个是-e WG_HOST=,对应ddns解析的域名,一个是 -e PASSWORD=,输入相应的密码,其他都不用动

配置wireguard需要用到私钥,公钥和预共享公钥,获取方法如下:

在Windows PowerShell里输入以下命令,回车后输入密码登录

1
ssh root@192.168.2.2

然后输入:

1
wg -h

可以看到获得私钥,预共享公钥的方法

输入wg genkey就可以得到私钥
输入wg genpsk就可以得到预共享公钥

获取公钥的方法:

在Windows PowerShell里输入

1
echo "qCjfXQaCoVN9ZzFo06UFeL/bpqbVN6mufMF9PkRGqUA=" | wg pubkey

回车后的结果就能看到公钥了

openwrt旁路由的wireguard配置

家里盘路由192.168.2.2服务器端设置:

接口名字:wg0
PrivateKey私钥:qCjfXQaCoVN9ZzFo06UFeL/bpqbVN6mufMF9PkRGqUA=
PublicKey公钥:4/0guz3HwkN54Zyo7yk776ryEsi6GXPdtkhCXmtZhBU=
PresharedKey预共享密钥:1DwYTm82DiJH6gN/WNifZ/zE3mIU1rv0EC3XXkvKv84=
监听端口:20002
IP地址:192.168.111.3/24

公司旁路由Wireguard配置

旁路由10.168.11.2服务器端设置:
接口:wg1
PrivateKey私钥:aCWd0vn00iF6er85yPtfCOmO0rRQfQyrjqCykoRrT3I=
PublicKey公钥:tb8oBQ6AnHvOfKeigZL71my6aoKpFti1Akm7kI5J4FA=
监听端口:20002
IP地址:192.168.111.2/24


设置后不要忘记在防火墙自定义放行:
1
iptables -t nat -A POSTROUTING -s 192.168.111.0/24 -o br-lan -j MASQUERADE

注意此条防火墙网段 192.168.111.0/24 需和服务端 IP 网段保持一致.

注意20002端口需要在防火墙-通信规则里加入来打开路由器的20002端口,同时在ikuai主路由也做一下端口映射 ,映射旁路由的20002端口,同时把wireguard的接口对应的防火墙 设置为lan,不然只能外网不能内网


家里旁路由192.168.2.2配置peer

PublicKey公钥(公司的):tb8oBQ6AnHvOfKeigZL71my6aoKpFti1Akm7kI5J4FA=
PresharedKey预共享密钥:1DwYTm82DiJH6gN/WNifZ/zE3mIU1rv0EC3XXkvKv84=
允许的 IP:192.168.111.0/24,10.168.11.0/24
路由允许的 IP:打勾
端点主机:aaa.aaa.com
端点端口:20002
持续 Keep-Alive:默认

公司旁路由10.168.11.2配置peer

PublicKey公钥(家里的):4/0guz3HwkN54Zyo7yk776ryEsi6GXPdtkhCXmtZhBU=
PresharedKey预共享密钥:1DwYTm82DiJH6gN/WNifZ/zE3mIU1rv0EC3XXkvKv84=
允许的 IP:192.168.111.0/24,192.168.2.0/24
路由允许的 IP:打勾
端点主机:aaa.aaa.com
端点端口:20002
持续 Keep-Alive:默认

小米9pro服务端peer设置:

连接公司网络的~~
PublicKey公钥(小米9pro自己的):Gd9UtzkVoSCnq3YbHPMkeQZAzZHBky/a8lEvT1zOJXw=
PresharedKey预共享密钥:1DwYTm82DiJH6gN/WNifZ/zE3mIU1rv0EC3XXkvKv84=
允许的 IP:192.168.111.101/32
勾选路由允许的IP
其实设置默认

小米9pro客户端设置:

本地(Interface)
名称:wg_gsvpn
PublicKey公钥(小米9pro自己的):Gd9UtzkVoSCnq3YbHPMkeQZAzZHBky/a8lEvT1zOJXw=
局域网IP地址:192.168.111.101/32
DNS服务器:192.168.111.2
远程(Peer)
PublicKey公钥(旁路由10.168.11.2的):tb8oBQ6AnHvOfKeigZL71my6aoKpFti1Akm7kI5J4FA=
PresharedKey预共享密钥:1DwYTm82DiJH6gN/WNifZ/zE3mIU1rv0EC3XXkvKv84=
对端:aaa.aaa.com:20002
路由的IP地址(段):0.0.0.0/0

家里电脑

服务端peer配置:
家里电脑IP是192.168.2.242
PublicKey公钥(家里电脑的):r5aMYQMfJdnUVhpp3MxdQXSQ1XEr39VE5ABKSbm05Vo=
PresharedKey预共享密钥:1DwYTm82DiJH6gN/WNifZ/zE3mIU1rv0EC3XXkvKv84=
允许的 IP:192.168.111.103/32
勾选路由允许的IP
其实设置默认

家里电脑端配置
名称:wg_gsvpn
PublicKey公钥(家里电脑的):r5aMYQMfJdnUVhpp3MxdQXSQ1XEr39VE5ABKSbm05Vo=
[Interface]
PrivateKey = 6KlC3vdJdX2sA3HXuRxTTF8Mb9JkxkvDb0xIuFb6kGI=
Address = 192.168.111.103/32
DNS = 192.168.111.2
[Peer]
PublicKey = tb8oBQ6AnHvOfKeigZL71my6aoKpFti1Akm7kI5J4FA=
PresharedKey = 1DwYTm82DiJH6gN/WNifZ/zE3mIU1rv0EC3XXkvKv84=
AllowedIPs = 10.168.11.0/24,192.168.111.0/24
Endpoint = aaa.aaa.com:20002
PersistentKeepalive = 0