全部产品
Search
文档中心

:Periksa dan Perbaiki Masalah Hilangnya Alamat IP pada Instance CentOS 7 dan Windows

更新时间:Nov 09, 2025

Deskripsi Masalah

Jika Anda menggunakan instance Elastic Compute Service (ECS) Alibaba Cloud dalam jangka waktu lama tanpa melakukan restart, kemungkinan dapat terjadi masalah jaringan. Instance tersebut mungkin kehilangan koneksi jaringan, dan Anda mungkin tidak dapat melakukan ping ke alamat IP publik atau pribadinya.

Penyebab

Saat instance Elastic Compute Service (ECS) pertama kali dinyalakan, sistem menggunakan Protokol Konfigurasi Host Dinamis (DHCP) untuk secara otomatis menetapkan alamat IP ke elastic network interface (ENI) dan mendapatkan sewa dengan waktu kedaluwarsa. Dalam kondisi normal, proses dhclient di Linux dan layanan DHCP Client di Windows secara berkala memperbarui sewa dengan server DHCP untuk memastikan alamat IP tetap tersedia. Namun, pada instance yang dibuat dari beberapa citra CentOS 7 (lihat bagian Scope), proses dhclient dapat berhenti secara tak terduga. Selain itu, layanan DHCP Client di Windows Server memiliki masalah yang diketahui. Akibatnya, instance tidak dapat secara otomatis memperbarui sewa alamat IP-nya. Ketika sewa berakhir, alamat IP pribadi instance dilepaskan, yang mengakibatkan kegagalan koneksi jaringan.

Ruang Lingkup

Masalah ini memengaruhi instance ECS yang memenuhi kondisi berikut dan menggunakan DHCP untuk menetapkan alamat IP ke ENI mereka. Ikuti instruksi dalam topik ini untuk memperbaiki masalah tersebut. Jika instance ECS Anda menggunakan alamat IP statis, tidak diperlukan tindakan apa pun.

  • Instance yang dibuat dari citra publik CentOS 7 berikut sebelum 31 Mei 2018 dan belum direstart setelah 15 November 2018:

    • centos_7_04_64_20G_alibase_20180419.vhd

    • centos_7_04_64_20G_alibase_20180326.vhd

    • centos_7_04_64_20G_alibase_201701015.vhd

    • centos_7_03_64_20G_alibase_20170818.vhd

    • centos_7_02_64_20G_alibase_20170818.vhd

    • centos_7_03_64_40G_alibase_20170710.vhd

    • centos_7_03_64_40G_alibase_20170625.vhd

    • centos_7_03_64_40G_alibase_20170523.vhd

    • centos_7_03_64_40G_alibase_20170503.vhd

  • Instance yang menjalankan sistem operasi Windows Server berikut, dibuat sebelum 15 November 2018, dan belum direstart sejak itu:

    • Windows Server 2008 R2

    • Windows Server 2012 R2

    • Windows Server 2016

    • Windows Server Versi 1709

Solusi

Catatan
  • Sebelum melakukan operasi berisiko tinggi, seperti memodifikasi instance atau datanya, pastikan instance memiliki kemampuan pemulihan bencana dan toleransi kesalahan untuk melindungi data Anda.

  • Sebelum memodifikasi konfigurasi atau data instance, seperti instance Elastic Compute Service (ECS) atau ApsaraDB RDS, buat snapshot atau aktifkan fitur seperti cadangan log untuk RDS.

  • Jika Anda telah memberikan izin atau mengirimkan informasi keamanan, seperti kredensial logon, di platform Alibaba Cloud, segera ubah informasi tersebut.

Pilih salah satu dari empat solusi dalam topik ini berdasarkan kebutuhan Anda.

  • Metode 1: Perbaikan massal menggunakan Asisten Cloud. Metode ini sederhana dan ideal untuk memperbaiki banyak instance dari Konsol ECS.

  • Metode 2: Skrip SDK Python. Metode ini menggunakan skrip Python berdasarkan API Asisten Cloud untuk memeriksa status instance di wilayah tertentu dan memperbaikinya secara otomatis. Cocok untuk pengguna yang terbiasa dengan operasi dan pemeliharaan berbasis skrip.

  • Metode 3: Skrip Shell dan PowerShell. Metode ini mengharuskan Anda masuk ke setiap instance ECS dan menjalankan skrip secara manual untuk memperbaiki masalah. Ideal untuk polling atau pengujian pada sejumlah kecil instance. Isi skrip sama dengan yang digunakan pada Metode 1.

  • Metode 4: Pemecahan masalah ENI satu per satu. Metode ini cocok untuk sejumlah kecil instance.

Metode 1: Perbaikan Massal dengan Asisten Cloud

Contoh ini menunjukkan cara menggunakan Asisten Cloud untuk memeriksa dan memperbaiki instance ECS secara otomatis. Pastikan Agen Asisten Cloud telah terinstal pada instance Anda. Secara default, Agen Asisten Cloud dipra-instal pada instance ECS yang dibuat setelah 1 Desember 2017. Untuk informasi lebih lanjut tentang Agen Asisten Cloud, lihat Instal Agen Asisten Cloud.

  1. Buat perintah Asisten Cloud. Untuk informasi lebih lanjut, lihat Buat perintah.

  2. Unduh skrip Shell atau PowerShell yang sesuai dan tempelkan ke dalam bidang Isi Perintah di Asisten Cloud.

  3. Pilih instance ECS target dan jalankan perintah. Untuk informasi lebih lanjut, lihat Jalankan perintah.

  4. Verifikasi bahwa perintah telah berhasil dieksekusi. Untuk informasi lebih lanjut, lihat Lihat hasil eksekusi dan status. Gambar berikut menunjukkan output perintah untuk instance CentOS dan Windows. image

Metode 2: Perbaikan Massal Menggunakan Skrip SDK Python

Metode ini menggunakan skrip Python berdasarkan API Asisten Cloud untuk memeriksa dan secara otomatis memperbaiki semua instance yang terpengaruh di wilayah Alibaba Cloud. Untuk informasi lebih lanjut tentang cara menginstal ECS SDK, lihat dokumen instalasi di repositori GitHub Alibaba Cloud.

Persiapan

Jalankan perintah berikut untuk mengunduh dependensi Python SDK yang diperlukan ke komputer lokal atau instance Elastic Compute Service (ECS) Anda.

pip install alibabacloud_ecs20140526

Prosedur

  1. Unduh file autofix_dhclient.py ke instance ECS Anda.

  2. Jalankan perintah berikut untuk mengeksekusi skrip:

    sudo python autofix_dhclient.py <AccessKeyID> <AccessKeySecret> <region-id>
    Catatan

    Ganti <AccessKeyID>, <AccessKeySecret>, dan <region-id> dalam perintah dengan nilai aktual Anda.

    • AccessKeyID: ID AccessKey akun Alibaba Cloud atau Pengguna RAM Anda.

    • AccessKeySecret: Rahasia AccessKey akun Alibaba Cloud atau Pengguna RAM Anda.

    • region-id: ID wilayah tempat instance berada. Untuk daftar ID wilayah, lihat Wilayah dan zona.

Hasil Eksekusi

Gambar berikut menunjukkan contoh output dari skrip:image

Berikut ini adalah daftar yang menjelaskan pemeriksaan status instance.

  • Asisten Cloud: Memeriksa apakah Agen Asisten Cloud telah terinstal pada instance.

    • Terinstal: Agen Asisten Cloud telah terinstal.

    • Tidak Terinstal: Agen Asisten Cloud tidak tersedia. Anda harus menginstal Agen Asisten Cloud sebelum melanjutkan dengan perbaikan.

  • NeedFix: Memeriksa apakah proses dhclient atau layanan DHCP Client memerlukan perbaikan.

    • Ya: Perbaikan diperlukan. Skrip secara otomatis menyelesaikan operasi berikutnya.

    • Tidak: Tidak diperlukan perbaikan.

    • Tidak Diketahui: Skrip tidak dapat menentukan apakah perbaikan diperlukan. Anda harus melakukan perbaikan secara manual.

  • FixResult: Melaporkan hasil perbaikan.

    • Sukses: Proses dhclient atau layanan DHCP Client berhasil diperbaiki.

    • Gagal: Perbaikan gagal dilakukan.

    • NoChange: Tidak diperlukan perbaikan.

    • Tidak Diketahui: Skrip tidak dapat menentukan hasilnya. Anda harus melakukan perbaikan secara manual.

Metode 3: Perbaikan Menggunakan Skrip Shell atau PowerShell

Metode ini mengharuskan Anda untuk masuk ke setiap instance yang terpengaruh dan memperbaiki masalah, cocok untuk sejumlah kecil instance.

Prosedur untuk Instance CentOS

  1. Masuk ke instance ECS. Untuk informasi lebih lanjut, lihat Ikhtisar metode koneksi.

  2. Unduh skrip linux_fix_dhclient.sh ke folder mana pun.

  3. Beralihlah ke direktori kerja skrip dan jalankan skrip sebagai pengguna root.

    sudo bash linux_fix_dhclient.sh
    Catatan
    • Nilai balik "0" menunjukkan bahwa skrip berhasil menyelesaikan pemeriksaan dan perbaikan.

    • Nilai balik lainnya menunjukkan bahwa perbaikan gagal.

Prosedur untuk Instance Windows

  1. Masuk ke instance ECS. Untuk informasi lebih lanjut, lihat Ikhtisar metode koneksi.

  2. Unduh skrip win_fix_dhclient.ps1 ke folder mana saja.

  3. Buka PowerShell sebagai administrator dan jalankan perintah berikut.

    powershell -executionpolicy bypass -file C:\win_fix_dhclient.ps1
    Catatan

    Catatan:

    • Ganti C:\win_fix_dhclient.ps1 dengan jalur file aktual.

    • Jika output adalah "No ip will expire in recent 500 days. Then no need fix.", layanan DHCP Client pada instance normal dan tidak diperlukan perbaikan.

    • Jika output adalah "Found one ip will expire in 500 days. We need fixing it!!! Fix it now... Fix success.", layanan DHCP Client pada instance abnormal dan skrip berhasil memperbaikinya.

    • Output lainnya menunjukkan bahwa perbaikan gagal.

Metode 4: Menangani Masalah ENI Secara Individual

Metode ini mengharuskan Anda memeriksa dan memperbaiki proses dhclient (untuk instance CentOS) atau waktu kedaluwarsa sewa alamat IP (untuk instance Windows) pada setiap ENI.

Prosedur untuk Instance CentOS

  1. Masuk ke instance ECS. Untuk informasi lebih lanjut, lihat Ikhtisar metode koneksi.

  2. Jalankan perintah berikut untuk memeriksa semua ENI pada instance.

    ls -al /sys/class/net/
  3. Jalankan perintah berikut untuk memeriksa apakah ENI eth0 menggunakan DHCP untuk mendapatkan alamat IP.

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

    Jika output berisi BOOTPROTO=dhcp, ENI menggunakan DHCP. Jika tidak, lewati ke langkah 7. image

  4. Jalankan perintah berikut untuk memeriksa status proses dhclient untuk ENI eth0.

    ps aux | grep dhclient | grep eth0
    • Jika output kosong, proses dhclient tidak normal.

    • Jika output serupa dengan berikut, proses dhclient berjalan normal. Lewati ke Langkah 7.

      root 15340 0.0 0.3 113372 12788 ? Ss 14:16 0:00 /sbin/dhclient -1 -q -lf /var/lib/dhclient/dhclient--eth0.lease -pf /var/run/dhclient-eth0.pid -H izuf****************** eth0
  5. Jalankan perintah berikut untuk memulai ulang proses dhclient.

    ifup eth0
    Catatan

    Contoh ini menggunakan ENI eth0. Ganti eth0 dengan pengenal aktual ENI Anda.

  6. Verifikasi kembali status proses dhclient untuk ENI tersebut.

  7. Ulangi langkah 3 hingga 6 untuk memeriksa dan memperbaiki proses dhclient untuk semua ENI lainnya.

Prosedur untuk Instance Windows

  1. Masuk ke instance ECS. Untuk informasi lebih lanjut, lihat Ikhtisar metode koneksi.

  2. Buka Command Prompt sebagai administrator.

  3. Jalankan perintah berikut. Untuk setiap adaptor jaringan yang dijelaskan sebagai Red Hat VirtIO Ethernet Adaptor, periksa apakah DHCP Enabled disetel ke Yes dan catat waktu Lease Expires-nya.

    ipconfig /all
    Catatan

    ENI utama dan sekunder instance ECS dijelaskan sebagai Red Hat VirtIO Ethernet Adaptor. Kartu antarmuka jaringan (NIC) yang dikonfigurasi khusus, seperti NIC VPN atau loopback, dan NIC yang tidak diaktifkan DHCP tidak terpengaruh.

  4. Jika sewa berakhir dalam satu tahun, jalankan perintah berikut untuk memperbarui sewa.

    ipconfig /renew
  5. Jalankan perintah ipconfig /all lagi. Perbaikan berhasil jika waktu kedaluwarsa sewa baru adalah beberapa tahun di masa depan.

Berlaku untuk

  • ECS