Wireguard:无法从 docker 网络 ping 主机

问题描述 投票:0回答:0

我正在尝试通过 docker 创建和配置 Wireguard 服务器。

为此,我使用了 linuxserver/wireguard 图像和您可以在下面找到的配置。

docker 启动时没有错误,配置生成正确,我可以从客户端计算机毫无问题地连接和握手。

问题是一旦连接我只能ping通VPN网关(10.1.0.1)和docker IP(10.0.0.4)。

所以这是我能做的总结:

来自容器:

Ping 10.0.0.1 (Container Gateway) - YES
Ping 10.0.0.2 (DHCP Container) - YES

来自 Wireguard 客户端帖子:

Ping 10.0.0.1 (Container Gateway) - NO
Ping 10.0.0.2 (DHCP Container) - NO
Ping 10.1.0.1 (Wireguard VPN Gateway) - YES
Ping 10.0.0.4 (Wireguard container IP) - YES

经过多次研究,我发现这可能是容器上的路线问题,但如果是这样,我不知道如何解决。

你知道为什么我不能 ping 通其他机器,比如 10.0.0.2 吗?

docker-compose.yml :

version: "3.9"

networks:
  agence-a:
    external: true


services:
  wireguard-a:
    container_name: wireguard-a
    image: linuxserver/wireguard
    restart: unless-stopped
    networks:
      agence-a:
        ipv4_address: ${WIREGUARD_IP}
    ports:
      - 51821:51820/udp
    environment:
      - TZ=${TZ}
      - PUID=${PUID}
      - PGID=${PGID}
      - PEERS=${WIREGUARD_PEERS}
      - SERVERURL=${WIREGUARD_SERVERURL}
      - SERVERPORT=${WIREGUARD_SERVERPORT}
      - PEERDNS=${WIREGUARD_PEERDNS}
      - INTERNAL_SUBNET=${WIREGUARD_INTERNAL_SUBNET}
      - ALLOWEDIPS=${WIREGUARD_ALLOWEDIPS}
    volumes:
      - ${ROOT_PATH}/wireguard/config:/config
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    cap_add:
      - NET_ADMIN
      - SYS_MODULE

.环境:

# GLOBAL CONFIG
TZ=Europe/Paris

ROOT_PATH=/home/debian/agencea-stack

PUID=1000
PGID=1000


# WIREGUARD CONFIG
WIREGUARD_IP=10.0.0.4

WIREGUARD_PEERS=Test1,Test2
WIREGUARD_SERVERURL=192.168.1.30
WIREGUARD_SERVERPORT=51821
WIREGUARD_PEERDNS=1.1.1.1, 9.9.9.9
WIREGUARD_INTERNAL_SUBNET=10.1.0.0
WIREGUARD_ALLOWEDIPS=10.0.0.0/24,10.1.0.0/24

ip r :

default via 10.0.0.1 dev eth0 
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.4 
10.1.0.2 dev wg0 scope link 
10.1.0.3 dev wg0 scope link 
vpn wireguard
© www.soinside.com 2019 - 2024. All rights reserved.