V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
chaniqure
V2EX  ›  问与答

请教一下 wireguard 的配置问题

  •  
  •   chaniqure · 18 天前 · 722 次点击
    ```
    [Interface]
    PrivateKey = CI9zhwCcBEJ5aihfyAJEzY7dP9YOcPX5vJUbLXX4=
    Address = 10.8.0.2/24
    DNS = 223.5.5.5


    [Peer]
    PublicKey = pu5WlGdh7KY/UrpXLeJxSV4FGewvNx1BKwr8Ywbh4=
    PresharedKey = YIE9Hot9dUqO7HcwcBf1Z45Nj4AxLp/9TUBoiB4Q=
    AllowedIPs = 0.0.0.0/0, ::/0
    PersistentKeepalive = 0
    Endpoint = mydomain:51820
    ```
    上面的是我的 wireguard 配置,使用 wg-easy 搭建,搭建 wg-easy 的 ip 是 10.1.1.110 ,openwrt 是主路由,在 openwrt 进行了端口转发,但是我配置好了也没办法连上内部网络,请各位大神帮忙看一下原因
    18 条回复    2024-11-14 10:56:11 +08:00
    pcxys
        1
    pcxys  
       18 天前
    建议排除一下,非同一运营商的问题,比如电信网络到联通 wireguard 服务器,估计就不行。
    zhcode
        2
    zhcode  
       18 天前   ❤️ 1
    我也是用的 wgeasy ,不懂详细的配置,就把 docker compose 文件给你参考一下吧
    wg-easy:
    environment:
    - TZ=Asia/Shanghai
    # Change Language:
    - LANG=chs
    # ⚠️ Required:
    # Change this to your host's public address
    - WG_HOST=xxx.domain.com

    # Optional:
    - PASSWORD_HASH=xxxxxxxxxxxxxx
    - PORT=51821
    - WG_PORT=51820
    - WG_DEFAULT_ADDRESS=10.8.0.x
    - WG_DEFAULT_DNS=114.114.114.114,223.5.5.5
    - WG_MTU=1392
    - WG_ALLOWED_IPS=192.168.3.0/24
    - WG_PERSISTENT_KEEPALIVE=25
    - UI_TRAFFIC_STATS=false

    image: ghcr.io/wg-easy/wg-easy:latest
    container_name: wg-easy
    volumes:
    - ./config:/etc/wireguard
    ports:
    - "51820:51820/udp"
    - "51821:51821/tcp"
    restart: always
    cap_add:
    - NET_ADMIN
    - SYS_MODULE
    sysctls:
    - net.ipv4.ip_forward=1
    - net.ipv4.conf.all.src_valid_mark=1
    SenLief
        3
    SenLief  
       17 天前
    openwrt 是主路由,为啥还要端口转发,看不懂
    v2exkt
        4
    v2exkt  
       17 天前
    你的流量是从 wireguard peer 端发送到 openwrt 的 51820 端口,然后 openwrt 的 51820 转发到安装 wg-easy 的机器,ip 是 10.1.1.110 ?

    然后你的期望是从 wireguard peer 端访问 10.1.1.0/24 网段?

    如果是我说的这种情况,你先 ping 一下 10.8.0.1 ,能通,就说明 wireguard 组网成功,但是你想访问 10.1.1.0/24 内网,你得将安装 wg 的那台机器加上路由转发,这样才能将流量转发出去,具体可以看看 linux 的相关的命令。

    如果 ping 都 ping 不通,那就是 wireguard 组网失败了,从 wireguard 配置方面或者 openwrt 的配置排查问题。

    实在不行转投 tailscale 吧
    humbass
        5
    humbass  
       17 天前 via Android
    想访问内部网络还需要路由上设置 net ,跟 wireguard 没啥关系。建议上 zerotier ,路由版本直接带了 net 功能!
    chaniqure
        6
    chaniqure  
    OP
       17 天前
    @SenLief wireguard 没有部署在 OpenWrt 上面,是部署在内网的 10.1.1.110 的一台服务器上面的
    chaniqure
        7
    chaniqure  
    OP
       17 天前
    @v2exkt ping 不通😂,搞不懂了,怎么会失败呢,我的 ddns 是没问题的,IPSec 那些都可以用,端口转发也配置了,不知道是哪里的问题,docker 的启动参数就那么几个
    chaniqure
        8
    chaniqure  
    OP
       17 天前
    @zhcode 谢啦,今晚上回去试试
    SenLief
        9
    SenLief  
       17 天前
    你现在 openwrt 上配置试试能不能通
    chaniqure
        10
    chaniqure  
    OP
       17 天前
    @SenLief #9 OpenWrt 上面就是不会配置才弄到局域网服务器上面的,安装了插件,和搜到的视频里面不一样,少了很多东西
    SenLief
        11
    SenLief  
       17 天前
    @chaniqure openwrt 自带 wg 的,网上一搜一把。如果你的 openwrt 有 docker ,用这个 https://github.com/wg-easy/wg-easy
    chaniqure
        12
    chaniqure  
    OP
       17 天前
    @v2exkt 大佬我现在能 ping 通了,我该怎么路由啊,我网络基础不太行,求指教
    chaniqure
        13
    chaniqure  
    OP
       17 天前 via Android
    @zhcode 我使用你的方案后,能 ping 通 10.8.0.x 的 ip 了,不过还是没办法访问其它服务
    zhcode
        14
    zhcode  
       17 天前
    @chaniqure WG_ALLOWED_IPS 有没有改成你的局域网 CIDR
    chaniqure
        15
    chaniqure  
    OP
       17 天前
    @zhcode #14 还是不行,我的 wireguard 是部署在 局域网的一台设备上的,不是 OpenWrt 上面的,估计还需要做什么配置吧
    chaniqure
        16
    chaniqure  
    OP
       17 天前
    @zhcode #14 已经改成了局域网的 CIDR 了
    v2exkt
        17
    v2exkt  
       17 天前
    @chaniqure #12 你是使用 docker compose 部署的吗,那除了 docker 上的 ip 转发,也要开启宿主机的 ip 转发,还要指定路由 10.8.0.x 到你的 docker
    同时你的路由器上也要指定路由,将 10.8.0.x 网段指向你安装 wg docker compose 的那台机器,不然你的路由器不知道怎么处理 10.8.0.x 网段的流量
    综上,喜欢折腾的话,就继续试试,但是建议是不使用 docker compose ,复杂度有点高;或者直接使用 openwrt 的 wireguard ,一键组网
    luis330
        18
    luis330  
       17 天前
    和楼主你一样的部署方式,路由器映射进内网的 WG 服务器。WG 服务器的部署及配置和 2 楼的兄弟基本一样,目前用的正常。
    只有一个区别,我的这个 WG 服务器是用的 PVE 下 LXC 模板建的,防火墙服务没有启用,所以转发正常。你可能需要根据你的防火墙版本查一下,在系统防火墙层面做允许策略。
    这个是 redhat 下对 WG 防火墙的说明,参考一下:
    https://docs.redhat.com/zh_hans/documentation/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/proc_configuring-firewalld-on-a-wireguard-server-by-using-the-command-line_assembly_setting-up-a-wireguard-vpn
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2542 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 06:01 · PVG 14:01 · LAX 22:01 · JFK 01:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.