So before connecting to the server with OpenVPN GUI nslookup of mydomain.com returns the public IP address of the /dev/eth0 device. Once I connect the VPN nslookup nslookup of mydomain.com returns the private address of the /dev/tun0 device.
The linux client doesn't exibit this behaviour.
My server config is as follows:-
Code: Select all
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh1024.pem
server 192.168.86.0 255.255.255.0
push "route 192.168.86.0 255.255.255.0"
[b]push "dhcp-option DNS 192.168.86.1"[/b]
keepalive 10 120
tls-auth ta.key 0 # This file is secret
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3
I also notice that the comment kinda intimates that is a windows only feature.
On the linux client system I am starting openvpn with the command:-
Code: Select all
# openvpn --client --config client.ovpn
Code: Select all
client
dev tun
proto udp
remote myserver.com 1194
pkcs12 client.p12
comp-lzo
ns-cert-type server
If I read the man page correctly --client implies --pull but even if I add --pull it makes no difference.
Is there a way to make linux systems follow this same behaviour as I can get on a windows box.
Of course I could script a change to /etc/resolv.conf but that would mean if I needed to change address of the Name server the end user would need to change the script.
I also read some references to the --pull featuers being dependant on how openvpn is built. If at all possible I would like to run a package rather than compile my own version of openvpn.
Is it possible to push a new dns server to the linux clients?
t.