家里旁路由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

发表评论