按照普通容器化的wireguard文档,它可以使用与此配置文件类似的内容:
# /etc/wireguard/wg0.conf
#
[Interface]
PrivateKey = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
[Peer]
PublicKey = BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 11.111.111.111:51820
# Problem, using the following Endpoint won't work
# and the DNS entry is not allowed with wg setconf
# Endpoint = my.vpn.location.com:51820
问题是端点必须是一个 IP,一旦它是域,wireguard 就无法在link set gw0 up
.
由于在普通容器化中wg setconf
使用接口部分中不允许使用 DNS 和地址。
wg-quick
但以下内容可以使用
# /etc/wireguard/wg0.conf
#
[Interface]
PrivateKey = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
Address = 10.14.0.2/16
DNS = 123.456.789.01
[Peer]
PublicKey = BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = my.vpn.location.com:51820
wg-quick
能够解析my.vpn.location.com
,但是如何告诉wg setconfg
如何解析my.vpn.location.com
而不是必须对端点的 ip 进行硬编码?
注意:这是我用来设置它的命令,wg setconf
其中端点具有 ip,但不适用于域。
# ip netns add container
# ip link add wg0 type wireguard
# ip link set wg0 netns container
# ip -n container addr add 10.14.0.2/16 dev wg0
# ip netns exec container wg setconf wg0 /etc/wireguard/wg0.conf
# ip -n container link set wg0 up
# ip -n container route add default dev wg0