Docker-transmission-openvpn: Broke NordVPN

Created on 16 Jun 2020  路  11Comments  路  Source: haugene/docker-transmission-openvpn

Unable to establish connection to NordVPN.
It seems that the address for the configuration download is offline. It's been like that for 2 days now.

Log output:

Using OpenVPN provider: NORDVPN                                                                                                                                                                             
2020-06-16 18:22:46 Checking curl installation                                                                                                                                                              
2020-06-16 18:22:46 Removing existing configs                                                                                                                                                               
2020-06-16 18:22:46 Selecting the best server...                                                                                                                                                            
2020-06-16 18:22:46 Searching for technology: openvpn_tcp                                                                                                                                                   
2020-06-16 18:22:46 Unable to find a server with the specified parameters, using any recommended server                                                                                                     
2020-06-16 18:22:46 Best server :                                                                                                                                                                           
2020-06-16 18:22:46 Downloading config: default.ovpn                                                                                                                                                        
2020-06-16 18:22:46 Downloading from: https://downloads.nordcdn.com/configs/files/ovpn_tcp/servers/.tcp.ovpn                                                                                                
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                                                                                                             
                                 Dload  Upload   Total   Spent    Left  Speed                                                                                                                               
  0     0    0     0    0     0      0      0 --:--:--  0:00:09 --:--:--     0curl: (6) Could not resolve host: downloads.nordcdn.com                                                                       
No VPN configuration provided. Using default.                                                                                                                                                               
Setting OPENVPN credentials...                                                                                                                                                                              
adding route to local network 192.168.100.0/24 via 172.29.4.1 dev eth0                                                                                                                                      
Options error: In [CMD-LINE]:1: Error opening configuration file: /etc/openvpn/nordvpn/default.ovpn                                                                                                         
Use --help for more information.

docker-compose.yaml:

version: '3.3'
services:
    transmission-openvpn:
        volumes:
            - '/share/CE_CACHEDEV1_DATA/Multimedia/torrents/:/data'
            - '/etc/localtime:/etc/localtime:ro'
        environment:
            - CREATE_TUN_DEVICE=true
            - OPENVPN_PROVIDER=NORDVPN
            - NORDVPN_COUNTRY=NL
            - NORVPN_CATEGORY=legacy_p2p
            - OPENVPN_USERNAME=***********************
            - OPENVPN_PASSWORD=***********************
            - NORDVPN_PROTOCOL=udp
            - WEBPROXY_ENABLED=false
            - LOCAL_NETWORK=192.168.100.0/24
            - TRANSMISSION_RPC_AUTHENTICATION_REQUIRED=false
            - TRANSMISSION_RPC_PASSWORD=password
            - TRANSMISSION_RPC_USERNAME=username
            - TRANSMISSION_ALT_SPEED_DOWN=1000
            - TRANSMISSION_ALT_SPEED_ENABLED=true
            - TRANSMISSION_ALT_SPEED_TIME_BEGIN=540
            - TRANSMISSION_ALT_SPEED_TIME_DAY=127
            - TRANSMISSION_ALT_SPEED_TIME_ENABLED=true
            - TRANSMISSION_ALT_SPEED_TIME_END=1320
            - TRANSMISSION_ALT_SPEED_UP=400
            - TRANSMISSION_CACHE_SIZE_MB=64
            - TRANSMISSION_DHT_ENABLED=true
            - TRANSMISSION_DOWNLOAD_QUEUE_ENABLED=true
            - TRANSMISSION_DOWNLOAD_QUEUE_SIZE=5
            - TRANSMISSION_ENCRYPTION=1
            - TRANSMISSION_IDLE_SEEDING_LIMIT=30
            - TRANSMISSION_IDLE_SEEDING_LIMIT_ENABLED=false
            - TRANSMISSION_LPD_ENABLED=true
            - TRANSMISSION_MESSAGE_LEVEL=2
            - TRANSMISSION_PEER_CONGESTION_ALGORITHM=""
            - TRANSMISSION_PEER_LIMIT_GLOBAL=500
            - TRANSMISSION_PEER_LIMIT_PER_TORRENT=50
            - TRANSMISSION_PEER_PORT=51413
            - TRANSMISSION_PEER_PORT_RANDOM_HIGH=65535
            - TRANSMISSION_PEER_PORT_RANDOM_LOW=49152
            - TRANSMISSION_PEER_PORT_RANDOM_ON_START=false
            - TRANSMISSION_PEER_SOCKET_TOS="default"
            - TRANSMISSION_PEX_ENABLED=true
            - TRANSMISSION_PORT_FORWARDING_ENABLED=true
            - TRANSMISSION_PREALLOCATION=1
            - TRANSMISSION_PREFETCH_ENABLED=false
            - TRANSMISSION_QUEUE_STALLED_ENABLED=true
            - TRANSMISSION_QUEUE_STALLED_MINUTES=30
            - TRANSMISSION_RATIO_LIMIT=2.0
            - TRANSMISSION_RATIO_LIMIT_ENABLED=true
            - TRANSMISSION_RENAME_PARTIAL_FILES=true
            - TRANSMISSION_RPC_WHITELIST_ENABLED=false
            - TRANSMISSION_SCRAPE_PAUSED_TORRENTS_ENABLED=true
            - TRANSMISSION_SCRIPT_TORRENT_DONE_ENABLED=false
            - TRANSMISSION_SCRIPT_TORRENT_DONE_FILENAME=""
            - TRANSMISSION_SEED_QUEUE_ENABLED=false
            - TRANSMISSION_SEED_QUEUE_SIZE=10
            - TRANSMISSION_SPEED_LIMIT_DOWN=100
            - TRANSMISSION_SPEED_LIMIT_DOWN_ENABLED=false
            - TRANSMISSION_SPEED_LIMIT_UP=700
            - TRANSMISSION_SPEED_LIMIT_UP_ENABLED=true
            - TRANSMISSION_START_ADDED_TORRENTS=true
            - TRANSMISSION_TRASH_ORIGINAL_TORRENT_FILES=false
            - TRANSMISSION_UPLOAD_SLOTS_PER_TORRENT=14
            - TRANSMISSION_UTP_ENABLED=true
            - HEALTH_CHECK_HOST="google.com"
        cap_add:
            - NET_ADMIN
        logging:
            driver: json-file
            options:
                max-size: 10m
        ports:
            - '9091:9091'
        dns:
            - 103.86.96.100
            - 103.86.99.100
        image: haugene/transmission-openvpn
        restart: unless-stopped
Adupdate provider inactivity

Most helpful comment

Hi,

Well this is common with NordVpn, no name resolution, then no server is found. Your problem is "Could not resolve host: downloads.nordcdn.com,", As the API is not responding because it was not contacted, you have no configuration downloaded for openvpn. your network "app" has no/poor dns resolution.

As a check you could add extra_hosts "downloads.nordcdn.com:104.17.49.74", the API will be contacted and a configuration will be downloaded, although, the process will not be complete as the VPN server name will not be resolved.

You could either fix the dns resolution problem with your app network or add an external dns to your docker-compose file.

All 11 comments

I'm experiencing an issue as well, the container tries to connect in a loop. Also I noticed https://api.nordvpn.com/v1/servers/countries returns NULL
EDIT: It's back now.. idk if you were facing the same issue

For me https://api.nordvpn.com/v1/servers/countries returns everything it should but the rest still doesn't work.
For now I'm just manually providing the ovpn file via custom provider config.

Recently, I had a similar problem independent of this image. I had to change to a NordVPN server that actually works.

I am seeing the same issue today.

LOG OUTPUT
```Using OpenVPN provider: NORDVPN,
2020-06-25 15:41:05 Checking curl installation,
2020-06-25 15:41:05 Removing existing configs,
2020-06-25 15:41:05 Selecting the best server...,
2020-06-25 15:41:05 Searching for technology: openvpn_udp,
2020-06-25 15:41:05 Unable to find a server with the specified parameters, using any recommended server,
2020-06-25 15:41:05 Best server : ,
2020-06-25 15:41:05 Downloading config: default.ovpn,
2020-06-25 15:41:05 Downloading from: https://downloads.nordcdn.com/configs/files/ovpn_udp/servers/.udp.ovpn,
% Total % Received % Xferd Average Speed Time Time Time Current,
Dload Upload Total Spent Left Speed,

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0curl: (6) Could not resolve host: downloads.nordcdn.com,
No VPN configuration provided. Using default.,
Setting OPENVPN credentials...,
adding route to local network 192.168.4.0/24 via 172.28.0.1 dev eth0,
adding route to local network 10.211.55.0/24 via 172.28.0.1 dev eth0,
Options error: In [CMD-LINE]:1: Error opening configuration file: /etc/openvpn/nordvpn/default.ovpn,
Use --help for more information.,

**COMPOSE**

transmission-openvpn:
image: haugene/transmission-openvpn
container_name: transmission-openvpn
hostname: transmission-openvpn
restart: unless-stopped
networks:
- app
ports:
- "9091:9091"
volumes:
- "/home/data:/data" #TODO
- /docker_configs/transmission/config:/config
environment:
- CREATE_TUN_DEVICE=true
- OPENVPN_PROVIDER=NORDVPN
- OPENVPN_USERNAME=usrnm
- OPENVPN_PASSWORD=pwd
- OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60
- NORDVPN_CATEGORY=legacy_p2p
- NORDVPN_COUNTRY=US
- WEBPROXY_ENABLED=false
- LOCAL_NETWORK=192.168.4.0/24, 10.211.55.0/24
- TZ=US/Eastern
- TRANSMISSION_SCRAPE_PAUSED_TORRENTS_ENABLED=false
- TRANSMISSION_WEB_UI=combustion
cap_add:
- NET_ADMIN
logging:
driver: json-file
options:
max-size: 10m
```

Facing the same issue with nordvpn

Hi,

Well this is common with NordVpn, no name resolution, then no server is found. Your problem is "Could not resolve host: downloads.nordcdn.com,", As the API is not responding because it was not contacted, you have no configuration downloaded for openvpn. your network "app" has no/poor dns resolution.

As a check you could add extra_hosts "downloads.nordcdn.com:104.17.49.74", the API will be contacted and a configuration will be downloaded, although, the process will not be complete as the VPN server name will not be resolved.

You could either fix the dns resolution problem with your app network or add an external dns to your docker-compose file.

Adding onto @edgd1er response, one part of the problem is the dns resolution and the other part from what I could see was that I was getting 404 when trying to download the default ovpn file.

At least for me, this issue is happening on hetzner cloud server but I am not experiencing this issue on different VM located in ZA. I was able to resolve it by doing the below.

Fixed the dns issue by removing the dns section of the docker-compose and relying on the host's dns resolvers.

Modified the following file - docker-transmission-openvpn/openvpn/nordvpn/updateConfigs.sh and built a local docker image tagged with haugene/transmission-openvpn:uri-changes which I reference for the docker compose.

Change the nordvpn_cdn url to https://downloads.nordcdn.com/configs/files/ovpn_legacy/servers/<hostname>.{udp1194|tcp443}.ovpn

download_hostname() {
   # Getting 404 - not found with these urls atm
    #udp ==> https://downloads.nordcdn.com/configs/files/ovpn_udp/servers/nl601.nordvpn.com.udp.ovpn
    #tcp ==> https://downloads.nordcdn.com/configs/files/ovpn_tcp/servers/nl542.nordvpn.com.tcp.ovpn

    local nordvpn_cdn="https://downloads.nordcdn.com/configs/files"     

    if [[ ${NORDVPN_PROTOCOL,,} == udp ]]; then
        nordvpn_cdn="${nordvpn_cdn}/ovpn_legacy/servers/"
    elif [[ ${NORDVPN_PROTOCOL,,} == tcp ]];then
        nordvpn_cdn="${nordvpn_cdn}/ovpn_legacy/servers/"
    else
       nordvpn_cdn="https://downloads.nordcdn.com/configs/files/ovpn_legacy/servers/"
    fi

    if [[ "$1" == "-d" ]]; then
        nordvpn_cdn=${nordvpn_cdn}${2}
        ovpnName=default.ovpn
    else
        nordvpn_cdn=${nordvpn_cdn}${1}
        ovpnName=${1}.ovpn
    fi

    if [[ ${NORDVPN_PROTOCOL,,} == udp ]]; then
        nordvpn_cdn="${nordvpn_cdn}.udp1194.ovpn"
    elif [[ ${NORDVPN_PROTOCOL,,} == tcp ]];then
        nordvpn_cdn="${nordvpn_cdn}.tcp443.ovpn"
    else 
        nordvpn_cdn="${nordvpn_cdn}.tcp443.ovpn"
    fi

    log "Downloading config: ${ovpnName}"
    log "Downloading from: ${nordvpn_cdn}"
    curl ${nordvpn_cdn} -o "${ovpnName}"
}

Section of docker-compose...

transmission-vpn:
    image: haugene/transmission-openvpn:uri-changes
    container_name: transmission-vpn
    restart: unless-stopped
    networks:
      t2_proxy:
        ipv4_address: 192.168.90.4
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - $USERDIR/docker/transmission-vpn/data:/data
      - $USERDIR/docker/transmission-vpn/config:/config
      - $USERDIR/Downloads:/downloads
    environment:
      OPENVPN_PROVIDER: NORDVPN
      OPENVPN_USERNAME: $NORDVPN_USERNAME
      OPENVPN_PASSWORD: $NORDVPN_PASSWORD
      NORDVPN_COUNTRY: DE
      NORDVPN_PROTOCOL: tcp
      NORDVPN_CATEGORY: P2P
      OPENVPN_OPTS: --inactive 3600 --ping 10 --ping-exit 60
      LOCAL_NETWORK: '$LOCAL_NETWORK'
      PUID: $PUID
      PGID: $PGID
      TZ: $TZ
      UMASK_SET: 002
      TRANSMISSION_RPC_AUTHENTICATION_REQUIRED: 'true'
      TRANSMISSION_RPC_HOST_WHITELIST: '127.0.0.1,192.168.*.*,172.17.*.*'
      TRANSMISSION_RPC_PASSWORD: $TRANSMISSION_RPC_PASSWORD
      TRANSMISSION_RPC_USERNAME: $TRANSMISSION_RPC_USERNAME
      TRANSMISSION_UMASK: 002
      TRANSMISSION_RATIO_LIMIT: 0.01
      TRANSMISSION_RATIO_LIMIT_ENABLED: 'true'
      TRANSMISSION_ALT_SPEED_DOWN: 10000
      TRANSMISSION_ALT_SPEED_ENABLED: 'true'
      TRANSMISSION_ALT_SPEED_UP: 15
      TRANSMISSION_SPEED_LIMIT_DOWN: 50000
      TRANSMISSION_SPEED_LIMIT_DOWN_ENABLED: 'true'
      TRANSMISSION_SPEED_LIMIT_UP: 300
      TRANSMISSION_SPEED_LIMIT_UP_ENABLED: 'true'
      TRANSMISSION_INCOMPLETE_DIR: /downloads/incomplete
      TRANSMISSION_INCOMPLETE_DIR_ENABLED: 'true'
      TRANSMISSION_WATCH_DIR: /downloads
      TRANSMISSION_WATCH_DIR_ENABLED: 'true'
      TRANSMISSION_DOWNLOAD_DIR: /downloads/completed

Hope this helps someone.

hi @victorrikhotso

I'm sorry to hear that you have problems with the image.I don't have the same problems as you experienced. both of your "404" urls were sending the server config:

curl https://downloads.nordcdn.com/configs/files/ovpn_udp/servers/nl601.nordvpn.com.udp.ovpn
client
dev tun
proto udp
remote 178.239.173.211 1194
resolv-retry infinite
remote-random
nobind
tun-mtu 1500
......

May be it was a regional or temporary glitch with nordvpn API.

Using the image without modification, the API send a proper best server selection and the config is downloaded from nordvpn.
Here is the url given by the script after api results: https://downloads.nordcdn.com/configs/files/ovpn_tcp/servers/ee41.nordvpn.com.tcp.ovpn. The file is downloaded. But as you said, you had this problem only on a specific location.

Anyway, thanks for your detailed answer. It's always interesting to see how others users tackle problems :)

transmission    | Using OpenVPN provider: NORDVPN
transmission    | 2020-07-02 00:00:26 Checking curl installation
transmission    | 2020-07-02 00:00:26 Removing existing configs
transmission    | 2020-07-02 00:00:26 Selecting the best server...
transmission    | 2020-07-02 00:00:26 Searching for technology: openvpn_tcp
transmission    | 2020-07-02 00:00:26 Best server : fr433.nordvpn.com
transmission    | 2020-07-02 00:00:26 Downloading config: default.ovpn
transmission    | 2020-07-02 00:00:26 Downloading from: https://downloads.nordcdn.com/configs/files/ovpn_tcp/servers/fr433.nordvpn.com.tcp.ovpn
transmission    |   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
transmission    |                                  Dload  Upload   Total   Spent    Left  Speed
100  2821  100  2821    0     0   4118      0 --:--:-- --:--:-- --:--:--  4118
transmission    | 2020-07-02 00:00:26 Selecting the best server...
transmission    | 2020-07-02 00:00:26 Searching for country : EE (68)
transmission    | 2020-07-02 00:00:26 Searching for technology: openvpn_tcp
transmission    | 2020-07-02 00:00:26 Best server : ee41.nordvpn.com
transmission    | 2020-07-02 00:00:26 Downloading config: ee41.nordvpn.com.ovpn
transmission    | 2020-07-02 00:00:26 Downloading from: https://downloads.nordcdn.com/configs/files/ovpn_tcp/servers/ee41.nordvpn.com.tcp.ovpn
transmission    |   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
transmission    |                                  Dload  Upload   Total   Spent    Left  Speed
100  2807  100  2807    0     0   4331      0 --:--:-- --:--:-- --:--:--  4331
transmission    | 2020-07-02 00:00:26 Checking line endings
transmission    | 2020-07-02 00:00:26 Updating configs for docker-transmission-openvpn
transmission    | Starting OpenVPN using config ee41.nordvpn.com.ovpn
transmission    | Setting OPENVPN credentials...

I've also developed the same problems. However, for me, it happened after adding a domain name to my local network (let's call it mylan. My Pi-hole installation was showing a lot of DNS queries for api.nordvpn.com.mylan and downloads.nordcdn.com.mylan. I suspected this was a problem. So I added DNS 1.1.1.1 to docker-compose.yml and it started to work. Any ideas why this is happening?

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Feel free to re-open this issue if you think it deserves another look.

Was this page helpful?
0 / 5 - 0 ratings