Re: Have you ever disabled IPv6 for privacy (to prevent IP leaks)?

Maria Sophia <[email protected]> Sun, 26 Jul 2026 16:56:24 -0700
Newsgroups alt.comp.os.windows-10,alt.comp.microsoft.windows,alt.comp.os.windows-11
Organization BWH Usenet Archive (https://usenet.blueworldhosting.com)
Message-ID <[email protected]>
Note that there is a directive for configs that blocks IPv6 altogether.
  block-ipv6 ; block IPv6 traffic to prevent IPv6 leaks
We have to worry about DNS leaks, but there are directives for that too.
 block-outside-dns ; force DNS queries to stay inside the VPN TAP interface 
Unfortunately, specifically stating the DNS server in the tunnel failed.
  ; dhcp-option DNS 1.1.1.1 ; set primary DNS to Cloudflare inside the tunnel
  ; dhcp-option DNS 9.9.9.9 ; set secondary DNS to Quad9 for secure fallback
The volunteer VPN servers I use don't seem to accept those DNS directives.

But those directives should work on more professional OpenVPN servers.
I only use the thousands of free openvpn servers from around the world.

These are the commands I add to every one of hundreds of free config files.
Notice the DNS-related commands are brand new, to keep DNS inside the tunnel.

  auth-nocache ; prevent caching of auth credentials in memory
  auth-retry nointeract ; retry silently using stored username/password
  auth-user-pass C:\\data\\vpn\\userpass.txt ; login file path
  block-ipv6 ; block IPv6 traffic to prevent IPv6 leaks
  block-outside-dns ; force DNS queries to stay inside the VPN TAP interface 
  ; NB block-outside-dns breaks OS DNS if the VPN's DNS server is dead
  ; dhcp-option DNS 1.1.1.1 ; set primary DNS to Cloudflare inside the tunnel
  ; dhcp-option DNS 9.9.9.9 ; set secondary DNS to Quad9 for secure fallback
  connect-retry-max 20 ; increase max reconnect attempts (default=8)
  connect-retry 5 ; shorten delay between reconnect attempts
  connect-timeout 30 ; time before initial connect attempt times out
  data-ciphers AES-256-GCM:AES-128-GCM:AES-128-CBC ; required by vpngate.net
  explicit-exit-notify 2 ; send disconnect notice to UDP servers
  float ; accept server IP changes during session
  hand-window 180 ; extend TLS handshake window (default=60)
  inactive 3600 ; allow long idle periods before timeout (default=off)
  ip-win32 adaptive ; choose best Windows IP/DNS routing method
  keepalive 10 60 ; ping every 10s, restart after 60s silence
  mssfix 1400 ; adjust TCP MSS to reduce fragmentation
  tun-mtu 1400 ; set tunnel MTU to avoid packet fragmentation
  ; pull-filter ignore "redirect-gateway" ; prevent server from setting gateway
  pull-filter accept "redirect-gateway" ; accept the vpn server routing changes
  pull ; accept configuration pushed by the VPN server
  replay-window 128 ; enlarge replay protection packet window
  route-delay 10 ; delay route setup to avoid race conditions
  server-poll-timeout 120 ; wait longer for server PUSH reply (default=2)
  tls-timeout 180 ; extend TLS negotiation timeout (default=60)
  verb 4 ; moderate verbosity, show key events without packet spam

During testing, on Windows, I made use of the old curlit shortcut:
 Win+R > curlit
 Which calls curlit.exe which is defined only in the Windows Registry
  HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\curlit.exe
  Default=C:\path-to\curlit.lnk
 Where the TARGET of that curlit.lnk shortcut does the IP check.
  Target=%comspec% /k echo "C:\data\sys\pgm\lnk\curlit.lnk $MYIP" & %Windir%\System32\curl.exe icanhazip.com
 NB: There is no command called "curlit.exe"; that's a unique reg keyword.

I tried to make it fancier with curlvpn but that errored out on Windows:
 TARGET=%comspec% /k echo "curlvpn: forcing curl through VPN TAP adapter" & %Windir%\System32\curl.exe --interface Ethernet --dns-servers 1.1.1.1,9.9.9.9 icanhazip.com
I'm sure that curl syntax would work if curl were compiled differently.
 "curlvpn: forcing curl through VPN TAP adapter"
 curl: option --dns-servers: the installed libcurl version does not support this
 curl: try 'curl --help' for more information
 
But I like my commands to work universally so I changed it to 
 Win+R > curldns
 Which calls curldns.exe which is defined only in the Windows Registry
  HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\curldns.exe
  Default=C:\path-to\curldns.lnk
 Where the TARGET of that curldns.lnk shortcut does the IP check.
  %comspec% /k echo "C:\data\sys\pgm\lnk\curldns.lnk $MYIP" & echo curldns & nslookup icanhazip.com & powershell -Command "Resolve-DnsName icanhazip.com" & curl icanhazip.com
 NB: There is no command called "curldns.exe"; that's just a reg keyword.

I post it here so that others, at least on Windows, can instantly replicate
this shortcut efficiency to make sure their VPN DNS remains in the tunnel.
-- 
I strive to add technical value, if possible, with every post to Usenet.