Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm having trouble getting my CentOS 5.5 EC2 instances (both i386 and x86_64) to properly populate resolv.conf after booting. No matter what I do, I end up with the default EC2 resolv.conf:

; generated by /sbin/dhclient-script
search compute-1.internal
nameserver 172.16.0.23

What I really want to do is set my own search domain and prepend two nameservers. First, I tried adding /etc/dhclient.conf:

prepend domain-name "mydomain.ec2 "
prepend domain-name-server 1.2.3.4
prepend domain-name-server 1.2.3.5

That didn't work. So I also tried placing the dhclient.conf file in /etc/dhcp/ and /etc/dhcp3. Neither worked. So I also tried creating /etc/dhclient-enter-hooks and overriding the _make_resolv_conf()_ method to prevent dhclient-script from overwriting resolv.conf:

make_resolv_conf() {
 ;
}

That had no impact either.

The only solution I have come up with is to add an extra init script that rewrites resolv.conf. That works, but I'd really like to do this the "right" way. What am I doing wrong?

share|improve this question
    
Did you try PEERDNS=no? –  dmourati May 31 '11 at 23:23

4 Answers 4

Try adding:

PEERDNS=no

To your /etc/sysconfig/network-scripts/ifcfg-eth0 (or equivalent)

If that doesn't work, you could use the chattr hack:

chattr +i /etc/resolv.conf
share|improve this answer
    
i get i to work, if i set onbootup=yes :) –  ParisNakitaKejser Jan 8 '13 at 9:25

Given the age of this question, I assume you found an answer; but for those who find this question looking for help: If this is inside a VPC, you need to go into the VPC console and access dhcp-options-sets (https://console.aws.amazon.com/vpc/home#s=dhcp-options-sets) and create a new dhcp options set. Make a note of the amazon id of the new options set (dopt-XXXXXXXX)

Next, go to "Your VPCs" (https://console.aws.amazon.com/vpc/home#s=vpcs), click "Change DHCP Options Set" near the top, then choose the amazon ID of your new options set.

This might help: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html

share|improve this answer
    
I never did get it to work and just kept using my custom init script approach. Unfortunately, it wasn't in a VPC. Now that most of our instances are in VPCs, we're using the technique you outlined. Just a strange problem. –  organicveggie Aug 20 '13 at 21:58

This should address your issue http://www.linuxquestions.org/questions/linux-networking-3/how-to-avoid-resolv-conf-been-modified-by-dhcp-client-422431/

share|improve this answer
    
Nope. As I mentioned, I tried using dhclient.conf and that didn't have any effect. –  organicveggie May 24 '11 at 19:42

You can also try to add following DNS entries in NIC related network scripts (e.g., /etc/sysconfig/network-scripts/ifcfg-eth0 for eth0)

DNS1=8.8.8.8 
DNS2=8.8.4.4
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.