openvpn client: force a host resolution to a given IP

26,122

OpenVPN itself does not provide any name resolution. Usually name resolution is provided by a separate service, which will normally first question a local file (/etc/hosts under linux or C:/Windows/system32/etc/hosts or similar on a Windows computer) and, if the name is still unresolved, resort to using DNS, based on the name servers defined (these can either be fixed when using static addresses, but are usually set up by DHCP when acquiring an IP address).

With the above in mind, there are a few things you can do to achieve this:

1.) Configure the VPN server such that it provides a name server address to the client which will resolve domain.tld to to 10.11.12.13 or

2.) Configure the VPN client such that it will run a script once the connection has been established. This script can then either modify the local hosts file or change the name servers as required.

Share:
26,122

Related videos on Youtube

Déjà vu
Author by

Déjà vu

Updated on September 18, 2022

Comments

  • Déjà vu
    Déjà vu over 1 year

    Is it possible on the client side to setup the client.conf file to resolve a particular host/domain to a given IP.

    For instance, domain.tld resolve usually from the Internet NS to 1.2.3.4

    host domain.tld => 1.2.3.4
    

    I would like to force domain.tld to resolve to 10.11.12.13 when using openvpn client.conf

    openvpn client.conf
    host domain.tld => 10.11.12.13
    
  • Déjà vu
    Déjà vu almost 13 years
    Thanks for your answer, but I want to avoid 1). 2) is what we are doing right now (actually the name is resolved locally via /etc/hosts and it lasts even after the VPN is closed). I was hoping the vpn client would be able to offer that feature...
  • wolfgangsz
    wolfgangsz almost 13 years
    Nope, not as far as I know. If the name persists even after the connection is closed, you might want to consider a pre-down script in addition to the post-up script.