用netplan设置WireGuard
服务器 网络
Published: 2021-04-29

这是用netplan配置wireguard的备忘录。
意外的是,没有找到很多用中文写的相关文章。

我正在Ubuntu20.04上进行测试。

服务器端

  • 生成私钥和公钥
# umask 077
# wg genkey | tee private.key | wg pubkey > public.key
network:
  tunnels:
    wg0:
      mode: wireguard
      key: <刚刚生成的private.key>
      port: 50000                    # 监听的UDP端口号
      addresses: [ 192.168.2.1/30 ]  # wg0分配的IP地址
      peers:
        - allowed-ips: [0.0.0.0/0]
          keepalive: 25
          keys:
            public: <客户端的public.key>

客户端

  • 生成私钥和公钥
# umask 077
# wg genkey | tee private.key | wg pubkey > public.key
network:
  tunnels:
    wg1:
      mode: wireguard
      key: <刚刚生成的private.key> 
      port: 50000
      addresses: [ 192.168.2.2/30 ]
      peers:
        - allowed-ips: [0.0.0.0/0]
          endpoint: XXX.XXX.XXX.XXX:50000  # 连接的服务器
          keepalive: 25
          keys:
            public: <服务器的public.key> 

比起在wg.conf等文件中进行配置,这种方法更简单。
不过,我发现每次执行netplan apply时,连接似乎都会被切断,所以请注意。