Sida 1 av 1

Ubuntu 12.04 LTS Server - resolve.conf används inte, nu då?

Postat: 27 maj 2012, 14:31
av christoffer
Jag har läst att /etc/resolv.conf inte används längre för att ställa in namnservrar från och med Ubuntu 12.04 utan man har introducerat någon form av dynamisk laddning/sparning av vilka namnservrar som ska användas. På https://help.ubuntu.com/12.04/servergui ... resolution står lite information om detta men är det någon som har ytterligare information?

Anledningen till att jag frågar är för att jag har problem vid uppstart av min server...någon form av följdproblem. Jag har inte listat ut än vad som är boven i dramat så här följer en snabb genomgång om vad jag tror händer vid uppstart.
  • IPtables försöker sätta regler som byggger på hostnamn
  • Den lokala namnservern(127.0.0.1) får ingen träff på mitt domännamn men på många andra adresser t.ex. http://www.sunet.se.
  • IPtables sätter inte några regler alls vid uppstart då ingen träff mot mitt domännamn fås.
  • När jag stänger av lokala BIND-servern tar det mindre 5 sekunder innan min ISPs namnservrar är inmatade i resolv.conf och allting fungerar som frid och fröjd. Jag kan nu ladda in de IPtables regler som inte fungerade tidigare.
Tilläggas bör att detta händer på en "router"-maskin där ena nätverkskortet sitter med DHCP inställningar utåt och statiskt ip "inåt" utan några konfigurationer om vilka dns-servrar som ska användas.

Just nu sitter jag föbryllad och undrar om jag ska konfigurera upp en lokal Bind9 server för att få allting att lira men känns verkligen overkill...dock inser jag det finns någon form av namnserver även på min "desktop" maskin Ubuntu 12.04 för /etc/resolv.conf pekar till 127.0.0.1 även där.

Jag känner att detta blev ganska rörigt men det kanske klarar om jag lyckas lösa en bit i taget =) ...all hjälp jag kan få uppskattas.

Re: Ubuntu 12.04 LTS Server - resolve.conf används inte, nu

Postat: 27 maj 2012, 18:34
av webaake
Beroende på vad kör kan du ge extra dns:er;
dhcpcd

dhcpcd has the ability to prepend or append nameservers to /etc/resolv.conf by creating (or editing) the /etc/resolv.conf.head and /etc/resolv.conf.tail files respectively:

echo "nameserver 127.0.0.1" > /etc/resolv.conf.head

dhclient

For dhclient, uncomment in /etc/dhclient.conf:

prepend domain-name-servers 127.0.0.1;
Du kan även låsa resolv.conf med chattr +i om du t ex anger egna manuellt.

Re: Ubuntu 12.04 LTS Server - resolve.conf används inte, nu

Postat: 27 maj 2012, 19:25
av christoffer
Tack för hjälpen. Jag hade inte dhcpcd installerat men la märke till "head" och "tail" vilket ledde mig till "/etc/resolvconf/resolv.conf.d" där jag kunde lägga till mina riktiga namnservrar i "head" så att de alltid kommer först. Jag antar "resolvconf" gör i stort sett samma sak som "dhcpcd" men bara olika implementationer =)

Detta verkar vara alldeles för bökigt för att vara det "korrekta" sättet men fungerar för tillfället. Är det någon som har bättre tips får ni gärna svara med dem.

Re: Ubuntu 12.04 LTS Server - resolve.conf används inte, nu

Postat: 27 maj 2012, 19:35
av webaake
Jag kan inte se annat än att flera program vill skriva till resolv.conf och det kan vara j-vligt irriterrande. Man kan t ex köra namebench och hitta lite snabbare nameservers än standard (Telia). Jag tycker inte det är så bökigt då man ju uppnår större kontroll.

Re: Ubuntu 12.04 LTS Server - resolve.conf används inte, nu

Postat: 30 maj 2012, 15:58
av dolk
Jag har slagits med detta, en soppa, tyckte jag.

Min lösning blev följande, omdefinera make_resolv_conf() vilket gör att /etc/resolve.conf inte moddas.

/etc/dhcp/dhclient-enter-hooks
make_resolv_conf() {
logger "running make_resolv_conf (bjdo)"
}




http://askubuntu.com/a/58785
I disable the update of resolv.conf by creating a file called "disable_make_resolv_conf" in /etc/dhcp3/dhclient-enter-hooks.d

#!/bin/sh
make_resolv_conf(){
}

It replaces the standard function by the same name that's responsible for the resolv.conf refresh.




Googla "make_resolv_conf()" för mer info


Lycka till.