家里旁路由Openwrt(IP:192.168.2.2)里的docker配置的wireguard
finalshell登录openwrt后输入以下命令,
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=,输入相应的{% psw 密码 %},其他都不用动
配置wireguard需要用到私钥,公钥和预共享公钥,获取方法如下:
在Windows PowerShell里输入以下命令,回车后输入密码登录
ssh [email protected]
然后输入:
wg -h
可以看到获得私钥,预共享公钥的方法
输入wg genkey就可以得到私钥
输入wg genpsk就可以得到预共享公钥
获取公钥的方法:
在Windows PowerShell里输入
echo "qCjfXQaCoVN9ZzFo06UFeL/bpqbVN6mufMF9PkRGqUA=" | wg pubkey
回车后的结果就能看到公钥了
openwrt旁路由的wireguard配置
{% p gray, 家里盘路由192.168.2.2服务器端设置: %}
接口名字:wg0
PrivateKey私钥:qCjfXQaCoVN9ZzFo06UFeL/bpqbVN6mufMF9PkRGqUA=
PublicKey公钥:4/0guz3HwkN54Zyo7yk776ryEsi6GXPdtkhCXmtZhBU=
PresharedKey预共享密钥:1DwYTm82DiJH6gN/WNifZ/zE3mIU1rv0EC3XXkvKv84=
监听端口:20002
IP地址:192.168.111.3/24
{% p gray, 公司旁路由Wireguard配置 %}
旁路由10.168.11.2服务器端设置:
接口:wg1
PrivateKey私钥:aCWd0vn00iF6er85yPtfCOmO0rRQfQyrjqCykoRrT3I=
PublicKey公钥:tb8oBQ6AnHvOfKeigZL71my6aoKpFti1Akm7kI5J4FA=
监听端口:20002
IP地址:192.168.111.2/24
{% label 设置后不要忘记在防火墙自定义放行: pink %}
iptables -t nat -A POSTROUTING -s 192.168.111.0/24 -o br-lan -j MASQUERADE
{% p red, 注意此条防火墙网段 192.168.111.0/24 需和服务端 IP 网段保持一致. %}
注意20002端口需要在{% span blue, 防火墙-通信规则 %}里加入来打开路由器的20002端口,同时{% wavy 在ikuai主路由 %}也做一下{% label 端口映射 red %},映射旁路由的20002端口,同时把wireguard的接口对应的{% label 防火墙 blue %}设置为lan,不然只能外网不能内网
{% p green, 家里旁路由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:默认
{% p green, 公司旁路由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:默认
{% p green, 小米9pro服务端peer设置: %}
连接公司网络的~~
PublicKey公钥(小米9pro自己的):Gd9UtzkVoSCnq3YbHPMkeQZAzZHBky/a8lEvT1zOJXw=
PresharedKey预共享密钥:1DwYTm82DiJH6gN/WNifZ/zE3mIU1rv0EC3XXkvKv84=
允许的 IP:192.168.111.101/32
勾选路由允许的IP
其实设置默认
{% p green, 小米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
{% p green, 家里电脑 %}
服务端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