Just went through this same issue; even a reboot would be lose the change on manually invoking the libc hook.
So the most stable way I've found is, after putting the desired content into
/etc/network/interfaces, to edit
/etc/resolvconf/resolv.conf.d/original to include the lines wanted, make sure
tail (in that directory) is not present,
cd /etc/resolvconf/resolv.conf.d and then invoke
Note that if
tail is present (by default, pointed to
original then the contents derived from
/etc/network/interfaces will be followed by the original setup too.
That these changes can most safely be applied by a reboot is, frankly, insane. The current system takes what used to be "edit this file, perhaps deploying from a configuration management system" and hides it behind multiple layers of abstraction and no clean way to invoke for maintenance outside the normal boot framework.