Run a script when a connection is created?



Is there any advanced feature of NM that will have it invoke a script
when a new connection is created?  Most specifically I'm interested in
replacing the default handling of /etc/resolv.conf updates with my own
handling.

What I'd really like is something similar to the facility in dhclient
which allows you to define your own processing for resolv.conf updates,
providing details about the search and nameserver entries which are
being added for that interface via the environment or command line
arguments or whatever.

I've recently been put into a new position of needing to attach to two
or more private subnets at the same time; each of these has their own
internal DNS server which, in addition to serving global hostnames also
resolves private hostnames... and I need to be able to access hosts on
more than one private subnet at the same time.

The default behavior of NM in this situation doesn't work for me: only
the DNS servers from the "last" VPN connection I create are used and so
private hosts on the earlier subnets can't be resolved.

I've been banging my head against this for a week or so, hand-tweaking
resolv.conf etc.  I've installed, messed with, and ultimately
uninstalled the resolvconf package (I'm on Ubuntu 10.10): it's a nice
idea but it requires all modifiers of resolv.conf to be changed to use
resolvconf instead, and (for example) the openconnect VPN package
doesn't do this.

I've come up with a way to make this work by using dnsmasq as a local
proxy DNS server, and adding "server" lines to force it to use different
DNS servers for different network domains.  When I configure it by hand
it works quite well.  However, in order to make this work seamlessly I
need to get NM to give me control over the updates to resolv.conf, so I
can instead update the dnsmasq configuration.

Even if I could just run a generic "post-connect" script I could work
out the changes I need to make by examining the contents
of /etc/resolv.conf after the connection comes up, and do them myself.


Any help here?

Thanks!



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]