Невозможно подключиться к статическому VPN из docker compose

Невозможно подключиться к статическому VPN из docker compose

Я пытаюсь создать симметричный VPN-сервер с помощью openvpn в docker-compose. Вот он:

---
version: "3"
services:
  vpn: 
    image: whitebox/vpn:0.2
    networks: 
      - standard
    tty: true
    ports: 
      - "1194:1194/udp"
    volumes:
      - ./server:/home/server:ro
      - ./static.key:/home/static.key:ro
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    restart: always
    networks:
      standard:
        ipv4_address: "10.10.0.254"
  web:
    image: tutum/apache-php
    volumes:
      - ./web:/var/www/html:ro
      - ./client:/home/client:ro
    networks: 
      standard:
        ipv4_address: "10.10.0.2"
networks:
  standard:
    driver: bridge
    ipam: 
      config:
        - subnet: 10.10.0.0/16

Когда он запускается, я (временно) вручную устанавливаю openvpn, делаю некоторые базовые настройки и запускаю службу. Все работает просто отлично, за исключением того, что я не могу подключиться к нему ни с одного устройства.

Файл конфигурации сервера:

ifconfig 10.10.0.254 10.10.0.10
verb 3
secret static.key
keepalive 1 10
persist-key
persist-tun
proto udp
port 1195
dev tun
status /home/vpn.log

Файл конфигурации клиента:

remote 192.168.37.137 1194
dev tun 
ifconfig 10.10.0.10 10.10.0.254
secret static.key

Странно то, что я попробовал смонтировать точно такой же сервер на простой виртуальной машине, и все работает. Клиент может подключиться к нему и получить доступ к сети 10.10.0.0/16. Хотя вот журнал подключения для клиента:

Wed Aug 11 00:37:16 2021 TUN/TAP device tun0 opened
Wed Aug 11 00:37:16 2021 /sbin/ip link set dev tun0 up mtu 1500
Wed Aug 11 00:37:16 2021 /sbin/ip addr add dev tun0 local 10.10.0.10 peer 10.10.0.254
Wed Aug 11 00:37:16 2021 TCP/UDP: Preserving recently used remote address: [AF_INET]192.168.37.137:1194
Wed Aug 11 00:37:16 2021 UDP link local (bound): [AF_INET][undef]:1194
Wed Aug 11 00:37:16 2021 UDP link remote: [AF_INET]192.168.37.137:1194

И соответствующий сервер на основе контейнера:

Wed Aug 11 07:34:40 2021 TUN/TAP device tun0 opened
Wed Aug 11 07:34:40 2021 TUN/TAP TX queue length set to 100
Wed Aug 11 07:34:40 2021 /sbin/ip link set dev tun0 up mtu 1500
Wed Aug 11 07:34:40 2021 /sbin/ip addr add dev tun0 local 10.10.0.254 peer 10.10.0.10
Wed Aug 11 07:34:40 2021 Could not determine IPv4/IPv6 protocol. Using AF_INET
Wed Aug 11 07:34:40 2021 Socket Buffers: R=[212992->212992] S=[212992->212992]
Wed Aug 11 07:34:40 2021 UDPv4 link local (bound): [AF_INET][undef]:1195
Wed Aug 11 07:34:40 2021 UDPv4 link remote: [AF_UNSPEC]

Как видите, никакой связи не происходит. Кто-нибудь знает, почему?

решение1

Убедитесь, что порты настроены правильно.

Вы перенаправляете порт 1194 на свой контейнер, но OpenVPN настроен на прослушивание порта 1195.

Связанный контент