Как открыть порт для моей локальной сети в контейнере, который использует контейнер vpn для своей сети? - PullRequest
0 голосов
/ 14 ноября 2018

Я бы хотел, чтобы весь трафик от шлюза направлялся через vpn, за исключением возможности доступа к порту 58846 из моей локальной сети.

version: '3'
services:
  vpn:
    image: dperson/openvpn-client
    cap_add:
      - net_admin
    environment:
      TZ: 'EST5EDT'
    networks:
      - default
    read_only: true
    devices:
      - /dev/net/tun
    tmpfs:
      - /run
      - /tmp
    restart: unless-stopped
    security_opt:
      - label:disable
    stdin_open: true
    tty: true
    volumes:
      - /dev/net:/dev/net:z
      - ~/vpn:/vpn
  deluge:
    image: linuxserver/deluge
    container_name: deluge
    network_mode: "service:vpn"
    #    ports:
    # - "58846:58846"
    environment:
      - PUID=1001
      - PGID=1001
      - UMASK_SET=022
      - TZ=America/New_York
    volumes:
      - ~/deluge/config:/config
      - ~/downloads:/downloads
    restart: unless-stopped

В соответствии с readme openvpn-client здесь: https://github.com/dperson/openvpn-client

В нем говорится, что контейнер запускается примерно так:

sudo docker run -it --cap-add=NET_ADMIN --device /dev/net/tun --name vpn \
            -v /some/path:/vpn -d dperson/openvpn-client \
            -r 192.168.1.0/24 -v 'vpn.server.name;username;password'

Но я не могу найти какое-либо объяснение -r или какой-либо способ получить это в docker-compose. VPN работает с моей текущей конфигурацией, но я не могу понять, как открыть порт.

...