Ubuntu Server를 실행하는 홈 서버가 있습니다. 익명성을 위해 VPN 클라이언트가 필요한 일부 서비스를 Docker에서 실행하고 있습니다. Wireguard 클라이언트는 독립형 애플리케이션으로 실행됩니다. SSL을 사용하여 서비스에 액세스하기 위해 traefik을 실행 중인데 훌륭하게 작동합니다.
추가 정보:
- IP
eth0
는192.168.178.101
- Docker 네트워크가 서브넷 범위 내에 있습니다.
172.xx.xx.xx/16
- 포트 80 및 443은 traefik용으로 전달되는 포트입니다.
VPN을 활성화하면 들어오는 WAN 데이터를 제외한 모든 것이 예상대로 작동합니다. LAN에 있을 때만 이러한 서비스에 액세스할 수 있습니다. 요청이 WAN(라우터 뒤)에서 시작되면 패킷이 삭제됩니다.
Wireguard 클라이언트 구성은 다음과 같습니다.
[Interface]
PrivateKey = XXXXXXXXXXXXXXXX=
Address = 10.64.154.19/32
DNS = 10.64.0.1
PostUp = iptables -t nat -A POSTROUTING -s 192.168.178.0/32 -o wg0 -j MASQUERADE
PostUp = iptables -A INPUT -p udp -m udp --dport 51820 -j ACCEPT
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostUp = iptables -A FORWARD -o wg0 -j ACCEPT
[Peer]
PublicKey = XXXXXXXXXXXXXXXX=
AllowedIPs = 0.0.0.0/0
Endpoint = XXXXXXXXXXXXXXXX:51820
tcpdump
포트 443을 필터로 사용하고 있으며 결과 길이는 0입니다.- 저도 봤는데
iptables
제 눈에는 괜찮아 보이네요. AllowedIP
s 및 docker의 서브넷을 추가하려고 시도했지만eth0
문제가 해결되지 않았습니다.- Wireguard 클라이언트를 비활성화하면 모든 것이 이전처럼 잘 작동합니다.
문제가 무엇인지 아시나요? 저는 전문 네트워크 엔지니어가 아닙니다. 어쩌면 제가 간과하고 있는 부분이 있을 수도 있습니다.