Bagaimana cara mengkonfigurasi DNS statis saya di antarmuka?

60

Saya menggunakan Ubuntu 12.04.

/etc/network/interfacesFile saya terdiri dari:

# The loopback network interface  
auto lo  
iface lo inet loopback  


# The primary network interface  
auto eth0 
iface eth0 inet static  
address 192.168.1.58  
gateway 192.168.1.1
network 192.168.1.0  
broadcast 192.168.1.255
dns-nameservers 66.212.63.228 66.212.48.10  

Saya menjalankan perintah: /etc/init.d/networking restart

Yang merespons dengan:

*Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces  
*Reconfiguring network interfaces...  
RTNETLINK answers: File exists  
Failed to bring up eth0  
[ OK ]  

Selanjutnya saya menjalankan ping google.com dan menerima:

ping: unknown host google.com

Saya tidak yakin apakah antarmuka saya diperbarui. Bagaimana cara mengkonfigurasi jaringan saya dengan benar dengan alamat DNS statis saya?

burik
sumber
1
Nyalakan kembali komputer Anda. Jangan menjalankan /etc/init.d/networking restart. Kesalahan ini disebabkan oleh rute default yang sudah ada. Pengaturan ini terlihat benar bagi saya.
Matt H
2
Seperti yang dikatakan Matt H, /etc/network/interfacespilih-pilih soal barang sudah ada. Anda dapat memiliki pengaturan yang sempurna, tetapi sudah memiliki sesuatu di sana, dan itu akan mengeluh. Jika ini adalah rute default yang dikeluhkan, Anda dapat menghapusnya dengan menjalankan ip route del defaultuntuk menjadikan komputer dalam keadaan di mana Anda dapat menyerahkan pengelolaan barang ini ke/etc/network/interfaces
Azendale
Network-manager telah mengklaim korban lain. Hapus saja sampah itu.
Burung hantu

Jawaban:

24

Ketika si penanya memberikan isinya, /etc/network/interfacessaya menyimpulkan bahwa ia menggunakan ifup untuk mengkonfigurasi antarmuka. Tapi karena dia mungkin benar-benar menggunakan NetworkManager, saya akan membahasnya juga.

Jika Anda menggunakan ifup maka pengaturan DNS masuk /etc/network/interfaces. Untuk setiap antarmuka Anda menambahkan dns-*opsi yang sesuai untuk server nama yang tersedia di antarmuka itu. Misalnya, jika server nama di alamat 1.2.3.4 tersedia melalui antarmuka eth0, maka tambahkan dns-nameservers 1.2.3.4ke iface eth0bait.

Jika Anda menggunakan NetworkManager, maka pengaturan dimasukkan dalam Editor Koneksi (indikator jaringan | Edit Koneksi ...) di tab Pengaturan IPv4.

Melakukan /etc/init.d/networking restartkonfigurasi ulang antarmuka sudah usang. Jika Anda menggunakan ifuplalu pertama ifdown- tama setiap antarmuka jaringan yang aktif, maka ifupsetiap antarmuka. Jika Anda menggunakan NetworkManager, pertama, nonaktifkan jaringan menggunakan indikator (atas desktop); kemudian buka terminal dan jalankan

sudo /etc/init.d/network-manager restart

dan kemudian aktifkan jaringan menggunakan indikator.

Atau Anda bisa reboot.

Mengenai fakta yang /etc/init.d/networking restartmengakibatkan

RTNETLINK answers: File exists
Failed to bring up eth0  

Ini berarti bahwa jika berpikir jatuh eth0sudah naik. Digunakan ifdown --force eth0untuk menyebabkan ifupdownberhenti percaya bahwa ia telah mengkonfigurasi antarmuka.

Mengenai pesan "usang", pesan ini tidak lagi dicetak di Ubuntu 12.10 tetapi Anda harus tetap memperhatikan bahwa skrip init "sedang keluar". Untuk memulai kembali layanan foo, gunakan service foo restartatau restart foo. Perhatikan juga bahwa jika Anda ingin mengkonfigurasi ulang antarmuka Anda, lebih baik untuk menurunkannya satu per satu daripada mengandalkan memulai kembali "jaringan".

jdthood
sumber
17

Jika tidak ada yang bekerja di atas, ingatlah bahwa Ubuntu menambahkan tailfile ke file resolv.conf yang dihasilkannya.

Coba ini:

sudo nano /etc/resolvconf/resolv.conf.d/tail

Yang akan membuka file resolv.conf.d kosong di editor teks nano. Anda harus menempatkan alamat server DNS Anda di baris pertama file ini dan ingat untuk mengakhiri baris dengan carriage return (tekan enter) seperti terlihat di bawah:

nameserver 10.20.1.2

Mengedit file tail bukan file resolv.conf yang sebenarnya akan mencegah perubahan Anda hilang saat reboot sistem.

Anda harus menjalankan sudo resolvconf -uuntuk mengaktifkan perubahan. Anda harus dapat melakukan ping google.com setelah ini. Semoga berhasil!

Sean Huggans
sumber
Kedengarannya bagus, tetapi sistem Ubuntu 14.04 saya tidak menggunakan file ekor ini. Jadi ini bukan solusi dalam kasus saya. Terimakasih Meskipun.
James T Snell
11

Versi baris perintah:

Anda harus menambahkan server nama Anda ke /etc/resolvconf/resolv.conf.d/basefile dengan cara ini:

nameserver 66.212.63.228 
nameserver 66.212.48.10
pl1nk
sumber
Saya harus mencoba metode ini dalam beberapa jam dan kembali kepada Anda. Apakah Anda tahu mengapa saya menerima pesan usang dan yang gagal memunculkan pesan eth0?
Dottedquad
1
Anda dapat menggunakan ini: $ ifdown eth0 && ifup eth0Baca lebih lanjut tentang masalah ini di sini .
pl1nk
1
@dottedquad apa yang Anda ubah dari file / etc / network / interfaces untuk ini: auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.58 gateway 192.168.1.1 network 192.168.1.0 broadcast 192.168.1.255Berhati-hatilah bahwa ini: auto eth0 iface eth0 inet staticadalah dua baris
pl1nk
1
Lebih baik menambahkan informasi server nama ke koneksi NetworkManager (jika Anda menggunakan NetworkManager) seperti yang dijelaskan oleh bodhi.zazen, atau ke definisi antarmuka di / etc / network / interfaces (jika Anda menggunakan ifup) daripada menambahkan informasi secara statis dan global. ke /etc/resolvconf/resolv.conf.d/base.
jdthood
1
@ jdthood Sepertinya Anda telah melihat komentar dan pertanyaan saya serta jawaban lainnya! Beberapa komentar [[]] "Anda dapat menggunakan ini: $ ifdown eth0 && ifup eth0" [..]
pl1nk
11

Semua jawaban yang berhubungan dengan / etc / network / interface salah menyatakan dns-nameserversdaripada dns-nameserver- di bawah ini harus bekerja:

auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 8.8.8.8
dns-nameserver 8.8.4.4
dns-search something.network.com

(diuji pada Ubuntu 15.04)

babelmonk
sumber
8
Cermat. Saya baru saja mengkonfirmasi bahwa dns-nameserver(tunggal) tidak berfungsi pada RaspberryPi + Raspian Jesse. Saya menemukan bahwa saya harus menggunakan dns-nameservers(jamak). YMMV dan semua itu, hanya berusaha membantu orang berikutnya ...
evadeflow
2
Periksa halaman manual resolvconf (8) Anda untuk penggunaan dan opsi. Pada Ubuntu 16.04.3 LTS dikatakan Anda menggunakan satu atau lebih garis dns-nameserver dengan satu alamat IP per baris, atau Anda dapat menggunakan server-nameserver dns dan daftar alamat IP yang dipisahkan oleh ruang.
jla
dns-nameserveratau dns-nameservers? karena wiki.ubuntu.com/KvmWithBridge mengatakan "server" ...
Thufir
Jelas tidak bekerja untuk saya. Tidak dapat memilih, belum cukup poin.
Burung Hantu
Ya, ini bagus dan konsisten! Maaf atas kebingungan, periksa keduanya dan periksa komentar di atas karena tampaknya varian Ubuntu / Debian / Raspian berbeda.
babelmonk
6

Metode paling mudah untuk mengkonfigurasi server DNS Anda adalah dengan menggunakan NetworkManager

Di bawah IPv4, isi server dns Anda

masukkan deskripsi gambar di sini

Harimau kumbang
sumber
2
Saya lupa menyebutkan bahwa saya tidak memiliki kesatuan atau gnome yang diinstal. Gnome installatio adalah proyek saya berikutnya.
Dottedquad
Itu tidak akan membiarkan saya menyimpan ini. mengapa itu bisa terjadi?
Astaga
4

Saya dapat mengatasi ini dengan menginstal server ubuntu tanpa kepala dengan menambahkan

nameserver 8.8.8.8

... setelah antarmuka yang relevan di / etc / network / interfaces:

auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
dns-nameservers 8.8.4.4

Semoga ini bisa membantu pengguna nantinya!

corq
sumber
untuk dns-nameserversbisakah Anda koma pisahkan 8.8.8.8, 8.8.4.4?
Thufir
1
@Thufir spaces wiki.debian.org/NetworkConfiguration
Philippe Gachoud
4

Catatan: hati-hati menggunakan tanpa akses langsung pada mesin, ini akan memutuskan koneksi ...

saya menggunakan

sudo ifdown eth0

kemudian

sudo ifup eth0

Ini akan mengatur ulang dan melepaskan semuanya ...

Jika berhadapan dengan kesalahan yang berkaitan dengan konfigurasi, Anda dapat menggunakan:

sudo ifdown eth0 --force
pengguna294233
sumber
3

Ini berhasil untuk saya

sudo vi /etc/resolvconf/resolv.conf.d/base

dan tambahkan:

nameserver <add your router ip>

Lari:

sudo resolvconf -u

Saya menggunakan instalasi inti dari server ubuntu.

Bongo
sumber
2

Anda kehilangan spesifikasi subnet di file antarmuka.

Menambahkan netmask 255.255.255.0ke /etc/network/interfacesbawah garis jaringan.

Brian
sumber
1

Untuk beberapa alasan dns-nameserverspernyataan itu tidak melakukan apa pun dalam kasus saya. Dan jawaban lain tidak berdasarkan buku, karena mereka memotong dnsmasqseperti yang digunakan di Ubuntu.

Untuk melakukan ini dengan benar, edit /etc/dnsmasq.conf

Tambahkan server nama Anda ke bagian bawah file:

server=8.8.8.8
server=8.8.4.4

Mulai ulang dnsmasq untuk menggunakan pengaturan baru: sudo service dnsmasq restart

Kredit: https://unix.stackexchange.com/a/163506/187949

DustWolf
sumber
1

Saya punya masalah ini. Saya pikir saya menjadi gila. Setiap kali saya diedit /etc/resolv.conf, itu menghapus konfigurasi saya. Ternyata beberapa orang gila total telah mendistribusikan debian dengan manajer jaringan, yang menimpa semua pengaturan jaringan saya.

Beginilah cara saya memperbaikinya:

1) sudo apt-get purge network-manager

Ini menghilangkan alat baru yang menghebohkan ini yang menghentikan semua konfigurasi agar berfungsi dengan benar.

2) Edit /etc/network/interfacesfile:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp0s25
iface enp0s25 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        gateway 192.168.1.1

3) Edit /etc/resolv.conf:

nameserver 8.8.8.8
nameserver 8.8.4.4

4) Reboot.

Selamat, Anda sekarang memiliki konfigurasi waras yang berfungsi lagi.

Burung hantu
sumber
0

Anda mungkin mengkonfigurasi antarmuka itu di file lain juga, karena Anda memiliki lebih banyak gateway.

Detail ada di sini .

antivirtel
sumber