Mengalihkan server ke IP statis dari DHCP

14

Saya menjalankan instalasi server 10,04 Ubuntu dan saya baru-baru ini harus beralih dari DHCP ke ip statis. Saya mengedit /etc/network/interfacesfile dan beralih

iface eth0 inet dhcp

untuk

iface eth0 inet static  
address 192.168.1.167  
netmask 255.255.255.240  
network 192.168.1.160  
broadcast 192.168.1.175  
gateway 192.168.1.161

Anda akan melihat IP agak aneh. Ini karena server sekarang menggunakan subnet khusus yang didedikasikan untuk mengisolasi server tertentu. Saya juga mengedit file resolv.conf untuk memasukkan server DNS yang tepat (termasuk salah satu dari Google untuk berjaga-jaga kalau-kalau semuanya hilang).

Masalahnya adalah bahwa, tampaknya secara acak, mesin akan kehilangan kemampuan untuk berbicara dengan dunia luar. Saya tahu mesinnya masih menyala, tetapi berfungsi seperti tidak memiliki jaringan sama sekali. Saya pikir bagian dari masalah adalah bahwa tidak ada DHCP yang berjalan ke subnet ini (juga tidak akan ada) dan dhclient tampaknya masih berjalan pada kesempatan yang menyebabkan semacam konflik (tidak tahu apa) yang menyebabkan jaringan mati. Namun saya tidak dapat menghapus paket dhcp3-client karena itu juga menyebabkan paket ubuntu-minimal dihapus dan itu akan menjadi buruk.

Jadi, ada ide? Apa yang memanggil dhclient dan apa yang bisa saya lakukan untuk menghentikannya?

Enekk
sumber
1
silakan jalankan sudo dhcpclient eth0dan beri komentar jika jaringan rusak setelah itu. Dan baris terakhir /var/log/syslogjika mungkin
aatdark
UPDATE Anda dapat mencoba sudo ifdown eth0sesuai dengan art.ubuntuforums.org/showthread.php?t=1419803
aatdark
@aatdark Jika Anda menjalankan ps auxf | less, Anda seharusnya dapat melihat daftar proses, yang diatur dalam struktur mirip pohon. Anda kemudian dapat melihat proses apa dhclientsaja (hanya naik cabang); misalnya, pada PC saya dhclientadalah putra dari NetworkManagerproses.
Riccardo Murri

Jawaban:

14

Jika Anda belum me-reboot mesin sejak itu, perilaku itu normal. Mengubah dari dhcp ke ip statis seharusnya:

  • sudo ifdown eth0
  • ubah konfigurasi
  • sudo ifup eth0

Alasannya adalah bahwa jika Anda melakukan ifdown setelah mengubah konfigurasi, itu berperilaku seolah-olah itu menghapus antarmuka statis dan tidak membunuh proses dhclient yang akan terus mengacaukan konfigurasi Anda. Kalau begitu, bunuh saja proses dhclient dengan

sudo killall dhclient

dan semuanya harus berhasil.

jneves
sumber
2

Seperti yang disebutkan oleh jneves , mungkin klien DHCP mengacaukan segalanya untuk Anda.

Sebagai alternatif untuk sudo ifdown eth0-edit- sudo ifup eth0, Anda bisa menjalankannya /etc/init.d/networking restartsetelah mengedit file. Ini juga memiliki keuntungan, yang dapat Anda lakukan dari jarak jauh ...

(Tidak memiliki cukup poin di askubuntu, saya tidak diizinkan untuk hanya mengomentari jawaban jneves, jadi tolong pertimbangkan ini sebagai komentar ...)

Sunting : Benar-benar lupa; karena perintah di atas tidak memutus hubungan Anda setiap saat, sesi SSH Anda seharusnya benar-benar selamat dari pemuatan ulang konfigurasi. Hal ini cukup bagus untuk dapat mengubah pengaturan jaringan saat sedang terhubung ke mesin mengatakan ...

Morten Siebuhr
sumber
Tidak apa-apa (dan dianjurkan) bagi Anda untuk menambahkan jawaban Anda sendiri dengan lebih banyak informasi yang dibangun di atas yang lain! (Pekerjaan bagus yang menghubungkan ke jawaban sebelumnya juga)
Jorge Castro
Saya menggunakan /etc/init.d/networking restart(di server 10,04) setelah mengedit file konfigurasi - dhclient masih berjalan. Saya harus secara manual membunuh proses dhclient (dan kemudian saya melakukan reboot hanya untuk memastikan bahwa itu tidak akan kembali setelah restart)
HorusKol