How to change nameservers WITHOUT editing resolv.conf???
I am looking for ways to update or change nameservers listed on remote linux machines via the command line.
For years I have attempted to do this with a package called 'netconfig' (these are fedora boxes) but netconfig has a bug that causes the nameservers not to be updated with the supplied info on the first attempt. Usually, and this is especially true when going from DHCP to static, a second netconfig attempt is required to get the nameservers to update. I'd like to find a more reliable way to do this. Are there any command line tools that take a nameserver as an argument and updates resolv.conf accordingly? something along the lines of 'ifconfig' is what I am looking for, although I know ifconfig cannot be used to change nameservers. In all the googling I have done the only command line related option that I could find for updating nameservers is to manually edit the resolve.conf file and this is not really an option for my application. I need to be able to issue a command to the system to get the job done. Does anyone here have any good suggestions? |
why would editing resolv.conf not be an option? do you mean the manual part of it? no need for it to be manual, just script it.
Code:
sed s/nameserver.*/nameserver\ 192.168.1.1/g -i /etc/resolv.conf |
Manually editing config files is not an option because often I do not have command line access to the units (but I CAN issue single one-off commands to them). And when I do have cl access it is not reliable. Thus updating the name servers by issuing a single command is what is needed. As for your scripting option, I am prepared to go that route if I have to but I figured an ultra-basic aspect of networking like nameservers would already have a slew of tools supporting it. Something akin to ifconfig or even a working version of netconfig is what is needed. Is there nothing??
|
well i just gave you a one liner that does it...
|
All times are GMT -5. The time now is 08:52 AM. |