Wireguard 클라이언트를 다른 클라이언트(Docker의 서버)의 기본 게이트웨이로 사용

Wireguard 클라이언트를 다른 클라이언트(Docker의 서버)의 기본 게이트웨이로 사용

이 글과 거의 똑같습니다 Wireguard는 한 클라이언트를 다른 클라이언트의 게이트웨이로 사용합니다. 하지만 docker에 wireguard가 있어서 라우팅 문제를 해결하는 방법을 이해할 수 없습니다.

피어1 --- wireguard_server(도커에서) --- 피어2 --- 인터넷

피어1: 10.14.1.2 wireguard_server: 10.14.1.1 피어2: 10.14.1.3

내 docker-compose.yml

---
version: "2.1"
services:
  wireguard:
    image: lscr.io/linuxserver/wireguard:latest
    container_name: wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Nicosia
      - SERVERURL=auto #optional
      - SERVERPORT=51820 #optional
      - PEERS=2 #optional
      - PEERDNS=auto #optional
      - INTERNAL_SUBNET=10.14.1.0 #optional
      - ALLOWEDIPS=0.0.0.0/0 #optional
      - PERSISTENTKEEPALIVE_PEERS=all #optional
      - LOG_CONFS=true #optional
    volumes:
      - /root/wireguard/config:/config
      - /lib/modules:/lib/modules #optional
    ports:
      - 51820:51820/udp
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped

wireguard_server에 대한 나의 행동

docker exec -it wireguard bash
ip rule add from 10.14.1.2 lookup 200
ip route add default dev wg0 table 200
sysctl -w net.ipv4.ip_forward=1 - execute on host, not in docker

그 후 나는 Peer2에 대해 wg0.conf를 변경합니다.

AllowedIPs = 0.0.0.0/5,8.0.0.0/7,10.14.1.3/32,11.0.0.0/8,12.0.0.0/6,16.0.0.0/4,32.0.0.0/3,64.0.0.0/2,128.0.0.0/1

Peer1의 Peer2에는 트래픽이 표시되지 않습니다.

관련 정보