Cara otomatis menghasilkan resolv.conf di Centos 6.5

8

Saya baru saja menginstal CentOS 6.5 dan mengkonfigurasi file-file berikut:

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=aa:bb:dd:dd:ee:ff
TYPE=Ethernet
UUID=adfddfaf-9sda-adse-dfs4-asdfsdfdfg97
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp

/etc/sysconfig/network

NETWORKING=yes
HOSTNAME=localhost.IM
NTPSERVERARGS=iburst

Ketika saya me-reboot komputer, ifconfig eth0menunjukkan alamat IP tetapi resolv.conffile tersebut kosong. Semua yang tertulis di dalamnya adalah search IM. Tidak ada yang nameserverstercantum dalam file.

Namun, setelah bootup, jika saya lakukan dhclient -runtuk melepaskan alamat IP dan kemudian mengetik dhclient eth0untuk mendapatkan alamat IP, resolv.confdiisi dengan benar dengan server nama DNS saya.

Mengapa ini tidak terjadi secara otomatis dari file konfigurasi saya? Saya pikir dhcpdiaktifkan di ifcfg-eth0file saya harus mengurus ini.

Dokumentasi CentOS mengatakan pengaturan NETWORKING=yesmemulai jaringan saat boot: http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-dhcp-configuring-client.html .

Bantuan apa pun dihargai.

pengguna1527227
sumber
Lepaskan .IMnama host, dan coba sesuatu selain localhost, atau abaikan saja.
slm
Kebetulan script bertanggung jawab untuk menetapkan file up bersama dengan perangkat eth0 seluruh dilakukan dari sini: /etc/sysconfig/network-scripts/ifup-eth.
slm

Jawaban:

3

Setel NM_CONTROLLED=nodan hentikan daemon Network Manager dan cegah agar tidak restart saat boot:

/sbin/service   NetworkManager stop
/sbin/chkconfig NetworkManager off

Sekarang isi /etc/resolv.conffile Anda sesuai dengan kebutuhan Anda.

Jika tidak, atur NM_CONTROLLED=yesdan biarkan daemon NetworkManager berjalan. Dalam hal ini, tambahkan hingga dua entri DNS dalam ifcfg-eth*file sebagai, misalnya:

DNS1=10.11.12.13
DNS2=10.11.12.14
DOMAIN=mydomain.net

Ini akan mengisi /etc/resolv.conffile untuk Anda.

JRFerguson
sumber
1
The resolv.conffile harus tetap mendapatkan terlepas diperbarui. Saya memiliki banyak sistem tanpa kepala tanpa NetworkManager yang mendapatkan isinya dari server DHCP. Jadi ada sesuatu yang lain di sini.
slm
1
Ketika NetworkManager sedang digunakan, itu bertanggung jawab untuk memperbarui /etc/resolv.confmenggunakan data dari DHCP. Ketika tidak sedang digunakan, networklayanan berjalan dhclientyang pada gilirannya bertanggung jawab untuk menulis /etc/resolv.conf.
Pavel Šimerda
1
Tanpa menghiraukan penggunaan "tidak peduli" Anda, saya harus tidak setuju dengan Anda; > PEERDNS - skrip init mengartikan PEERDNS = tidak berarti "tidak pernah menyentuh resolv.conf". NetworkManager mengartikannya untuk mengatakan "tidak pernah menambahkan server nama otomatis (DHCP, PPP, VPN, dll) ke resolv.conf". Masukkan PEERDNS=yesbaris ke /etc/sysconfig/network-scripts/ifcfg-file tertentu untuk memperbarui /etc/resolv.conffile secara otomatis .
ILMostro_7
0

Dari halaman NM-SETTINGS-IFCFG-RH ()manual:

PEERDNS - skrip init mengartikan PEERDNS = tidak berarti "tidak pernah menyentuh resolv.conf". NetworkManager mengartikannya untuk mengatakan "tidak pernah menambahkan server nama otomatis (DHCP, PPP, VPN, dll) ke resolv.conf".

Masukkan PEERDNS = yes line ke file spesifik / etc / sysconfig / network-scripts / ifcfg- untuk secara otomatis memperbarui file /etc/resolv.conf.

    PEERDNS=yes

Selain itu, jika Anda tidak ingin antarmuka dikontrol dengan NetworkManager tambahkan baris berikut:

    NM_CONTROLLED=no

Namun, baris pertama harus memadai terlepas dari apakah antarmuka dikendalikan oleh NetworkManager atau tidak.

ILMostro_7
sumber