%20%E3%81%AE%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%20%E3%82%B2%E3%83%BC%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A4%E3%81%A8%E3%81%97%E3%81%A6%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B.png)
この記事とほぼ同じ Wireguardは1つのクライアントを別のクライアントのゲートウェイとして使用します しかし、DockerにWireguardがあるので、ルーティングの問題を解決する方法がわかりません
peer1 --- wireguard_server(docker 内) --- peer2 --- internet
ピア1: 10.14.1.2 ワイヤーガードサーバー: 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
ピア1からピア2へのトラフィックは見当たりません