VPN client in a thin Docker container for multiple VPN providers, written in Go, and using OpenVPN or Wireguard, DNS over TLS, with a few proxy servers built-in.
Running version latest built on 2024-01-01T18:24:19.221Z (commit c826707)
What's the problem π€
I am using Gluetun becasue the service which I am trying to access on server get's blocked because of country/region. For the same, I have a custom OpenVPN config which allows my IP to get unblocked. So, on local environment if I connect to the VPN and make HTTP request to the endpoint, It works fine. However, when running gluetun in proxy mode and forwarding the same HTTP request to that proxy container, the request somehow gets blocked. I have verified that no extra headers are being sent and there is no change in request data. The same is not just happening with OpenVPN but with VPN Providers like Surfshark or Proton as well.
Note the HTTP Code 475 in logs, The exact same request works when I am running the same OpenVPN config on desktop via Connect and make the HTTP request via application.
Share your logs (at least 10 lines)
========================================
========================================
=============== gluetun ================
========================================
=========== Made with β€οΈ by ============
======= https://github.com/qdm12 =======
========================================
========================================
Running version latest built on 2024-01-01T18:24:19.221Z (commit c826707)
π§ Need help? https://github.com/qdm12/gluetun/discussions/new
π Bug? https://github.com/qdm12/gluetun/issues/new
β¨ New feature? https://github.com/qdm12/gluetun/issues/new
β Discussion? https://github.com/qdm12/gluetun/discussions/new
π» Email? quentin.mcgaw@gmail.com
π° Help me? https://www.paypal.me/qmcgaw https://github.com/sponsors/qdm12
2024-01-08T23:12:13Z INFO [routing] default route found: interface eth0, gateway 172.18.0.1, assigned IP 172.18.0.2 and family v4
2024-01-08T23:12:13Z INFO [routing] local ethernet link found: eth0
2024-01-08T23:12:13Z INFO [routing] local ipnet found: 172.18.0.0/16
2024-01-08T23:12:13Z INFO [firewall] enabling...
2024-01-08T23:12:13Z INFO [firewall] enabled successfully
2024-01-08T23:12:14Z INFO [storage] creating /gluetun/servers.json with 17743 hardcoded servers
2024-01-08T23:12:14Z INFO Alpine version: 3.18.5
2024-01-08T23:12:14Z INFO OpenVPN 2.5 version: 2.5.8
2024-01-08T23:12:14Z INFO OpenVPN 2.6 version: 2.6.8
2024-01-08T23:12:14Z INFO Unbound version: 1.17.1
2024-01-08T23:12:14Z INFO IPtables version: v1.8.9
2024-01-08T23:12:14Z INFO Settings summary:
βββ VPN settings:
| βββ VPN provider settings:
| | βββ Name: custom
| | βββ Server selection settings:
| | βββ VPN type: wireguard
| | βββ Wireguard selection settings:
| | βββ Endpoint IP address: 185.159.157.82
| | βββ Endpoint port: 51820
| | βββ Server public key: QnqJI0C2xQZrKfZLrBaCHa2h3TZ9CBt6sCuzg3ue4X4=
| βββ Wireguard settings:
| βββ Private key: gBd...Fw=
| βββ Interface addresses:
| | βββ 10.2.0.2/32
| βββ Allowed IPs:
| | βββ 0.0.0.0/0
| | βββ ::/0
| βββ Network interface: tun0
| βββ MTU: 1400
βββ DNS settings:
| βββ Keep existing nameserver(s): no
| βββ DNS server address to use: 127.0.0.1
| βββ DNS over TLS settings:
| βββ Enabled: yes
| βββ Update period: every 24h0m0s
| βββ Unbound settings:
| | βββ Authoritative servers:
| | | βββ cloudflare
| | βββ Caching: yes
| | βββ IPv6: no
| | βββ Verbosity level: 1
| | βββ Verbosity details level: 0
| | βββ Validation log level: 0
| | βββ System user: root
| | βββ Allowed networks:
| | βββ 0.0.0.0/0
| | βββ ::/0
| βββ DNS filtering settings:
| βββ Block malicious: yes
| βββ Block ads: no
| βββ Block surveillance: no
| βββ Blocked IP networks:
| βββ 127.0.0.1/8
| βββ 10.0.0.0/8
| βββ 172.16.0.0/12
| βββ 192.168.0.0/16
| βββ 169.254.0.0/16
| βββ ::1/128
| βββ fc00::/7
| βββ fe80::/10
| βββ ::ffff:127.0.0.1/104
| βββ ::ffff:10.0.0.0/104
| βββ ::ffff:169.254.0.0/112
| βββ ::ffff:172.16.0.0/108
| βββ ::ffff:192.168.0.0/112
βββ Firewall settings:
| βββ Enabled: yes
βββ Log settings:
| βββ Log level: INFO
βββ Health settings:
| βββ Server listening address: 127.0.0.1:9999
| βββ Target address: cloudflare.com:443
| βββ Duration to wait after success: 5s
| βββ Read header timeout: 100ms
| βββ Read timeout: 500ms
| βββ VPN wait durations:
| βββ Initial duration: 6s
| βββ Additional duration: 5s
βββ Shadowsocks server settings:
| βββ Enabled: no
βββ HTTP proxy settings:
| βββ Enabled: yes
| βββ Listening address: :8888
| βββ User:
| βββ Password: [not set]
| βββ Stealth mode: yes
| βββ Log: yes
| βββ Read header timeout: 1s
| βββ Read timeout: 3s
βββ Control server settings:
| βββ Listening address: :8000
| βββ Logging: yes
βββ OS Alpine settings:
| βββ Process UID: 1000
| βββ Process GID: 1000
βββ Public IP settings:
| βββ Fetching: every 12h0m0s
| βββ IP file path: /tmp/gluetun/ip
βββ Version settings:
βββ Enabled: yes
2024-01-08T23:12:14Z INFO [routing] default route found: interface eth0, gateway 172.18.0.1, assigned IP 172.18.0.2 and family v4
2024-01-08T23:12:14Z INFO [routing] adding route for 0.0.0.0/0
2024-01-08T23:12:14Z INFO [firewall] setting allowed subnets...
2024-01-08T23:12:14Z INFO [routing] default route found: interface eth0, gateway 172.18.0.1, assigned IP 172.18.0.2 and family v4
2024-01-08T23:12:14Z INFO TUN device is not available: open /dev/net/tun: no such file or directory; creating it...
2024-01-08T23:12:14Z INFO [dns] using plaintext DNS at address 1.1.1.1
2024-01-08T23:12:14Z INFO [http proxy] listening on :8888
2024-01-08T23:12:14Z INFO [http server] http server listening on [::]:8000
2024-01-08T23:12:14Z INFO [healthcheck] listening on 127.0.0.1:9999
2024-01-08T23:12:14Z INFO [firewall] allowing VPN connection...
2024-01-08T23:12:14Z INFO [wireguard] Using available kernelspace implementation
2024-01-08T23:12:14Z INFO [wireguard] Connecting to 185.159.157.82:51820
2024-01-08T23:12:14Z INFO [wireguard] Wireguard setup is complete. Note Wireguard is a silent protocol and it may or may not work, without giving any error message. Typically i/o timeout errors indicate the Wireguard connection is not working.
2024-01-08T23:12:14Z INFO [dns] downloading DNS over TLS cryptographic files
2024-01-08T23:12:16Z INFO [healthcheck] healthy!
2024-01-08T23:12:22Z INFO [dns] downloading hostnames and IP block lists
2024-01-08T23:12:30Z INFO [dns] init module 0: validator
2024-01-08T23:12:30Z INFO [dns] init module 1: iterator
2024-01-08T23:12:30Z INFO [dns] start of service (unbound 1.17.1).
2024-01-08T23:12:32Z INFO [dns] generate keytag query _ta-4a5c-4f66. NULL IN
2024-01-08T23:12:35Z INFO [healthcheck] unhealthy: dialing: dial tcp4: lookup cloudflare.com: i/o timeout
2024-01-08T23:12:36Z INFO [dns] ready
2024-01-08T23:12:38Z INFO [healthcheck] healthy!
2024-01-08T23:12:39Z INFO [vpn] You are running on the bleeding edge of latest!
2024-01-08T23:12:42Z INFO [ip getter] Public IP address is MASKED_IP (India, Delhi, New Delhi)
2024-01-08T23:12:55Z INFO [http proxy] 172.18.0.1:34774 475 POST MASKED_URL
Is this urgent?
Yes
Host OS
Ubuntu LTS v20
CPU arch
x86_64
VPN service provider
Custom
What are you using to run the container
docker-compose
What is the version of Gluetun
Running version latest built on 2024-01-01T18:24:19.221Z (commit c826707)
What's the problem π€
I am using Gluetun becasue the service which I am trying to access on server get's blocked because of country/region. For the same, I have a custom OpenVPN config which allows my IP to get unblocked. So, on local environment if I connect to the VPN and make HTTP request to the endpoint, It works fine. However, when running gluetun in proxy mode and forwarding the same HTTP request to that proxy container, the request somehow gets blocked. I have verified that no extra headers are being sent and there is no change in request data. The same is not just happening with OpenVPN but with VPN Providers like Surfshark or Proton as well.
Note the HTTP Code
475
in logs, The exact same request works when I am running the same OpenVPN config on desktop via Connect and make the HTTP request via application.Share your logs (at least 10 lines)
Share your configuration