Mengapa dhclient masih berjalan ketika saya memilih IP statis?

15

Saya memodifikasi dhcp menjadi statis di / etc / network / interfaces (seperti di bawah).

# The primary network interface
auto eth0
iface eth0 inet static
netmask 255.255.0.0
address 10.10.130.128
gateway 10.10.1.1

Kemudian restart antarmuka.

$ sudo ifdown eth0; sudo ifup eth0
...
$ ifconfig
eth0      Link encap:Ethernet 
          inet addr:10.10.130.128  Bcast:10.10.255.255  Mask:255.255.0.0

Jadi alamat baru itu masuk.

Tapi DHCP masih ada di sana?

$ ps aux | grep dhc
root    ... dhclient3 -e IF_METRIC=100 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases -1 eth0

Apakah itu normal? Jika tidak, bagaimana cara me-restart antarmuka dalam IP statis sambil menghentikan DHCP pada saat yang sama?

Terima kasih banyak.

pengguna276851
sumber

Jawaban:

22
  1. Pertama-tama Anda harus mematikan antarmuka (dalam mode dhcp) sudo ifdown eth0
  2. Kemudian edit konfigurasi nano /etc/network/interfaces

    # The primary network interface
    auto eth0
    iface eth0 inet static
    netmask 255.255.0.0
    address 10.10.130.128
    gateway 10.10.1.1
    
  3. Bawa antarmuka kembali sudo ifup eth0

Kalau dhclienttidak, tidak dimatikan dengan benar,

pvc
sumber
1
Maaf, tetapi bisakah seseorang menguraikan secara persis bagaimana hal ini berbeda dari apa yang dilakukan dalam OP di sini? Saya sudah membaca ini tiga kali dan sepertinya saya tidak bisa membedakannya.
fostandy
Apakah ini tentang memodifikasi ('menyentuh') file sehingga tanggalnya berubah? Apakah saya seharusnya hanya mengedit file SETELAH saya telah menurunkan antarmuka? Jika demikian, bagaimana saya bisa 'membatalkan' fakta bahwa saya telah mengeditnya sebelumnya?
fostandy
1
@ Bruno - terima kasih telah menjelaskan. Karena penasaran, apa yang Anda lakukan jika Anda telah mengedit /etc/network/interfacesfile secara tidak dapat dibatalkan ? Apakah ada cara untuk memaksa reset ke default dan dan mulai lagi?
fostandy
7
Saya bingung mengapa itu harus membuat perbedaan tetapi kemudian teman saya yang cerdik menjelaskannya dengan sangat baik. Masalahnya adalah jika file diedit dan kemudian ifdowndijalankan, manajer jaringan tidak tahu bahwa itu harus dihentikan dhclient, karena semua yang dilihatnya dalam interfacesfile adalah entri statis. Setelah itu, antarmuka turun, mengeluarkan ifupmembaca dengan benar dan menerapkan pengaturan statis, tetapi juga tidak tahu bahwa dhclientsudah dimulai.
paracycle
2

Saya memiliki masalah yang sama (Ubuntu 16.04). Namun, ini adalah contoh cloud dan saya tidak bisa ifdown antarmuka yang mudah.

Jawaban singkat: Saya menghapus file /etc/network/interfaces.d/50-cloud-init.cfgifup dipicu oleh file tertentu.

Jawaban panjang: Saya mengkonfigurasi antarmuka menggunakan /etc/network/interfacesdengan alamat IP statis, tetapi saya masih menemukan di daemon.log bahwa dhclient masih meminta IP dari DHCP dan dhclient dimulai melalui systemd. Secara khusus, systemd disebut unit networking.service, yang disebut ifup, yang membaca file antarmuka dan file 50-cloud-init.cfg. Menghasilkan beberapa konflik, tetapi masih merupakan jaringan fungsional.

Patrick Deelman
sumber
Saya memiliki masalah yang sama persis, dan belajar dengan cara yang sulit, bahwa file kemudian (seperti 99-eth0.cfg) memang TIDAK mengesampingkan pernyataan sebelumnya! Jadi, terima kasih atas masukan Anda;)
Daywalker
1

Saya menemukan bagi saya, ini karena NetworkManager gnome masih berjalan dan berpikir itu bertanggung jawab atas perangkat. Kalau dipikir-pikir ini seharusnya jelas karena psmenunjukkan dhclient sedang diluncurkan oleh NetworkManager.

Setelah saya me-restart sistem saya, perangkat pergi ke "tidak dikelola" di NetworkManager dan berhenti mencoba mengkonfigurasinya. Mungkin saya bisa mencapai hal yang sama hanya dengan menghentikan / memulai ulang NetworkManager, saya tidak yakin.

fostandy
sumber