You can tell the DHCPclient daemon not to update resolv.conf using the command line. (-r, I think, depending on the client)
This is less dynamic because you will have to reboot / reconfigure DHCP when connecting, but not too complicated. Similarly, you can just stop the service, but you can lose your IP at the same time, so I would not recommend this.
Alternatively, you can run dhcpclient from the cron job by adding the appropriate process checks.
source share