[Debian] DHCP client verandert resolv.conf

Pagina: 1
Acties:

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ik heb een Debian machine aan mijn Chello account hangen. Deze krijgt zijn IP gegevens van de Chello DHCP server. Maar nou veranderd hij ook mijn /etc/resolv.conf met de nameservers van Chello. Dit hoeft niet, omdat ik een eigenlijk (forwarding) DNS server heb draaien.

Hoe zorg ik ervoor dat de resolv.conf hetzelfde blijft als Chello mij een nieuw IP geeft?

Alvast bedankt.

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

code:
1
2
chmod 444 /etc/resolv.conf
chattr +i /etc/resolv.conf

Einde topic!

[edit]
Overigens kan je meestal ook bij de dhcp-client opgeven dat /etc/resolv.conf niet veranderd moet worden.

Verwijderd

-R Prevents dhcpcd from replacing existing /etc/resolv.conf file.
Man dhcpcd.

  • igmar
  • Registratie: April 2000
  • Laatst online: 29-06 18:56

igmar

ISO20022

code:
1
2
chmod 444 /etc/resolv.conf
chattr +i /etc/resolv.conf

Einde topic!

[edit]
Overigens kan je meestal ook bij de dhcp-client opgeven dat /etc/resolv.conf niet veranderd moet worden.
Dit is wel het meest lelijke wat ik ooit gezien heb.. Files immutable maken omdat men te beroerd is de manual page te lezen :r :r :r

De -R optie is degene die de poster zoekt als ie dhcpcd gebruikt.

Verwijderd

Op zondag 03 februari 2002 15:38 schreef igmar het volgende:

[..]

Dit is wel het meest lelijke wat ik ooit gezien heb.. Files immutable maken omdat men te beroerd is de manual page te lezen :r :r :r
Pardon????

Ik zeg dat de meeste dhcp-clients een optie hebben om je /etc/resolv.conf niet aan te passen. Lijkt me dan niet dat jij de persoon bent om even zo te oordelen over mijn antwoord wel?
De -R optie is degene die de poster zoekt als ie dhcpcd gebruikt.
Je hebt het nu over dhcpcd neem ik aan? Er zijn meer clients F.Y.I. die misschien andere opties hebben.

Think before you react.

  • Valium
  • Registratie: Oktober 1999
  • Laatst online: 09-08 08:59

Valium

- rustig maar -

Op zondag 03 februari 2002 15:41 schreef nelske het volgende:

[..]

Pardon????

Ik zeg dat de meeste dhcp-clients een optie hebben om je /etc/resolv.conf niet aan te passen. Lijkt me dan niet dat jij de persoon bent om even zo te oordelen over mijn antwoord wel?
[..]

Je hebt het nu over dhcpcd neem ik aan? Er zijn meer clients F.Y.I. die misschien andere opties hebben.

Think before you react.
Prutser >:)

Rustig maar, 't is een geintje...

Maar vaak is het chmodden van een bestandje slechts een workaround. Beter is altijd om het programma (wat dat dan ook is) te vertellen om er met zijn handjes vanaf te blijven. (Overigens is het wel een goeie manier om je gnome-session schoon te houden. ~/.gnome/session kan aardig vollopen met zut.)

Er is ook waarschijnlijk een bestandje in je /etc, dhclient-script ofzoiets. Daarin staat de tekst:
code:
1
2
3
4
5
make_resolv_conf() {
  echo search $new_domain_name >/etc/resolv.conf
  for nameserver in $new_domain_name_servers; do
    echo nameserver $nameserver >>/etc/resolv.conf
  done

Als je dat bestandje gebruikt kun je het simpelweg daarin aanpassen.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 16-08 16:08

deadinspace

The what goes where now?

Op zondag 03 februari 2002 15:52 schreef Valium het volgende:
Er is ook waarschijnlijk een bestandje in je /etc, dhclient-script ofzoiets. Daarin staat de tekst:
code:
1
2
3
4
5
make_resolv_conf() {
  echo search $new_domain_name >/etc/resolv.conf
  for nameserver in $new_domain_name_servers; do
    echo nameserver $nameserver >>/etc/resolv.conf
  done

Als je dat bestandje gebruikt kun je het simpelweg daarin aanpassen.
Deze file is dhclient-specifiek. Als hij dhclient gebruikt, kan hij imho beter
code:
1
2
[marcelm@anything marcelm]$ egrep domain /etc/dhclient.conf
prepend domain-name-servers 127.0.0.1;

oid doen.

Nelske:
Ik ben het wel met Igmar (die het best wat rustiger had mogen brengen) en Valium eens dat die file immutable maken niet bepaald de netste oplossing is (hij werkt wel though >:) ).

Verwijderd

Yupz. :) Ik ben de eerste die toe zal geven dat het niet de netste manier is.

Het is echter wel een manier die in alle gevallen (ongeacht de client) zal werken. Ik gaf niet voor niks aan dat eigenlijk alle clients nog hun eigen opties hebben om die verandering te omzeilen ;)

Ik viel dan ook meer over de bewoording die gebruikt werd ;)

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Bedankt voor de reacties.

Die volgende oplossing heb ik bebruikt, omdat mijn Debian machine pump gebruikt:
/etc/pump.conf:
device eth1 {
nodns
}

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • igmar
  • Registratie: April 2000
  • Laatst online: 29-06 18:56

igmar

ISO20022

Pardon????

Ik zeg dat de meeste dhcp-clients een optie hebben om je /etc/resolv.conf niet aan te passen. Lijkt me dan niet dat jij de persoon bent om even zo te oordelen over mijn antwoord wel?
Waarom breng je dan uberhaupt +i ten sprake in je originele post ?? Ik kan niet veel redenen bedenken om +i te gebruiken, tenzij jij suggesties hebt. DAT was de aanleiding voor de reactie.

  • Whizzer
  • Registratie: November 2000
  • Laatst online: 16-08 21:58

Whizzer

Flappie!

Ik heb eigenlijk hetzelfde probleem, maar dan op Mandrake... Mijn ADSL modempie geeft steeds maar DNS mee en dat wil ik niet... Vervolgens komt daar dinsdag ook nog een kabel-aansluiting bij, dus dan wordt het helemaal een puinhoop met DNS server...

Nu had ik inderdaad het stukje over -R gelezen en gezien, maar natuurlijk moet dit allemaal automatisch gaan.

Met ifup worden de interfaces geladen neem ik aan... Onderstaande stukje uit dit bestand lijkt me interessant:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
if [ -n "$DYNCONFIG" -a "XXX$DHCP_CLIENT" = "XXX" ];then
    if [ -x /sbin/dhcpcd ];then
      DHCP_CLIENT=/sbin/dhcpcd
    elif [ -x /sbin/pump ];then
      DHCP_CLIENT=/sbin/pump
    elif [ -x /sbin/dhcpxd ];then
      DHCP_CLIENT=/sbin/dhcpxd
    elif [ -x /sbin/dhclient ];then
      DHCP_CLIENT=/sbin/dhclient
    else
      echo $"Can't find a dhcp client"
      exit 1;
    fi
fi

DHCP_ARGS=
if [ "XXX$DHCP_CLIENT" != "XXX" ];then
case $(basename $DHCP_CLIENT) in
    dhcpcd)
    [ -n "$DHCP_HOSTNAME" ] && DHCP_ARGS="-h $DHCP_HOSTNAME"
    [ -n "$NEEDHOSTNAME" ] && DHCP_ARGS="$DHCP_ARGS -H"
    [ "${PEERDNS}" = "no" ] && DHCP_ARGS="$DHCP_ARGS -R"
    [ "X${DOMAINNAME}" = "X" ] && DHCP_ARGS="$DHCP_ARGS -D"
    DHCP_ARGS="$DHCP_ARGS $DEVICE"
    ;;
    pump)
    [ -n "$DHCP_HOSTNAME" ] && DHCP_ARGS="-h $DHCP_HOSTNAME"
    [ -n "$NEEDHOSTNAME" ] && DHCP_ARGS="$DHCP_ARGS --lookup-hostname"
    [ "${PEERDNS}" = "no" ] && DHCP_ARGS="$DHCP_ARGS -d"
    DHCP_ARGS="$DHCP_ARGS -i $DEVICE"
    ;;

Nu ben ik geneigd om te zeggen: maak van "DHCP_CLIENT=/sbin/dhcpcd " maar "DHCP_CLIENT=/sbin/dhcpcd -R ", maar ik zie ook "DHCP_ARGS="$DHCP_ARGS -R" staan, iets wat aangeeft dat ie moet kijken of ergens eerder de -R optie is meegegeven (toch??)

Ik ben niet in de mogelijkheid om even snel te testen of het simpel aanpassen van die regel een werkende oplossing is, dus daarom dat ik het hier vraag... Maar ook meteen waar ik in hemelsnaam wel die -R kwijt kan als dat niet de correcte oplossing is...

edit:

poging tot duidelijker maken van het verhaal

Ik ben geweldig.. en bescheiden! En dat siert me...


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 16-08 16:08

deadinspace

The what goes where now?

Gewoon de configfile van dhcpcd schoppen. Als dhcpcd daar geen configmogelijkheid voor heeft, dan kun je imho sowieso beter dhclient gebruiken.

Dat script hacken is vies en niet de juiste oplossing (als je update dan kan het script weer overschreven worden).
Pagina: 1