Unraid使用自带WireGuard进行内网穿透


由于使用其他的内网穿透工具(frp等),需要部署在docker上,没办法在外网进行停止docker的操作。所以使用自带WireGuard用于备用,另外使用WireGuard内网穿透还可以直接访问内网的其他应用和设备。

Unraid设置

本机配置

  • 右上角点击高级进行配置
    unraid本端设置

  • 点击生成密钥对生成本机的密匙

  • 本地隧道网络池设置一个ip网段,需要不同于本地内网的网段

  • 本地隧道地址填随便一个该网段下的一个ip地址,为本机的ip地址

  • 其他字段不用填

Peer设置(对端,公网服务器)

  • 具体设置见图片
  • Peer公钥和私钥填写在服务器上生成的密钥,或者在unraid生成,在服务器上填写此处生成好的
  • 持久保活参数 重要!!! 必填
    • 访问端和unraid端主动连接服务器,服务器代理访问段数据转发到unraid
      Unraid Peer设置

服务器设置

  • 本人使用的Unbuntu2404,使用apt安装的wireguard。其他linux发行版可以参考
  • 配置文件在/etc/wireguard/wg0.conf,需要sudo权限
    [Interface]
    PrivateKey = xxxxxxx  # 填写本机的私钥
    Address = 10.0.8.1/24 # 本机ip地址,对应unraid上的peer隧道地址
    PostUp   = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    PostUp   = iptables -I FORWARD -s 192.168.1.0/24 -i wg0 -d 10.0.8.1/24 -j ACCEPT
    PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
    PostDown = iptables -D FORWARD -s 192.168.1.0/24 -i wg0 -d 10.0.8.1/24 -j ACCEPT
    
    # 注意该端口是UDP端口,需要服务器防火墙开放
    # 对应unraid中的对等端点中的端口
    ListenPort = 50814
    MTU = 1420
    
    # unraid端
    [Peer]
    PublicKey = xxxxx # unraid的公钥 对应上面图中的本地公钥
    # 允许访问的ip,填写两个网段
    AllowedIPs = 10.0.8.0/24, 192.168.1.0/24
    
    # 外网其他其他需要访问unraid的客户端
    [Peer]
    PublicKey = xxxx # 访问端的公钥
    AllowedIPs = 10.0.8.0/24
  • 其中PostUp = iptables -I FORWARD -s 192.168.1.0/24 -i wg0 -d 10.0.8.1/24 -j ACCEPT 用于从wireguran网段转发到unraid内网网段,192.168.1.0替换为你自己的unraid内网网段,PostDown中的网段对应修改。另外一条PostUp/PostDown为安装完wireguard自动生成的

访问端设置

  • 可以是手机、PC等,安装wireguard软件进行配置即可
    • 需要访问端本地的网段不能和unraid本地的网段相同
    • 如果unraid是192.168.1.0/24,访问端本地的网段只能是其他的
      [Interface]
      PrivateKey = xxxx # 访问端密钥
      Address = 10.0.8.6/24 # 访问端ip地址,在wiregurad网段中选一个
      
      [Peer]
      PublicKey = xxx # 服务器的公钥
      # 允许访问的ip,填写两个网段,wireguard配置和unraid的
      AllowedIPs = 10.0.8.0/24, 192.168.1.0/24
      Endpoint = 1.1.1.1:2222  # 服务器的ip和端口 同unraid中填的对等端点

参考资料


文章作者: Moyin
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Moyin !
  目录