ChangeMyIP di Linux: Ubah IP Anda dan Verifikasi (Penyiapan Pemula)
Panduan langkah demi langkah yang ramah pemula, mengutamakan terminal, untuk mengarahkan lalu lintas Linux melalui endpoint HTTP dan SOCKS5 ChangeMyIP, lalu membuktikan IP benar-benar berubah dengan pemeriksaan curl dan uji kewajaran kebocoran.
Ikhtisar
Proksi mengubah alamat IP yang dilihat situs tujuan, karena situs menjawab proksi, bukan mesin Anda. Di Linux Anda dapat mengarahkan perintah individual ke endpoint ChangeMyIP, atau mengatur variabel lingkungan yang dibaca secara otomatis oleh sebagian besar alat command-line. Tutorial ini membahas kedua pendekatan pada tingkat pemula dan diakhiri dengan langkah verifikasi sehingga Anda tahu perubahan benar-benar terjadi.
ChangeMyIP menyediakan proksi datacenter bersama dan khusus serta proksi residensial dengan IP berputar, dapat diakses melalui HTTP dan SOCKS5 serta Shadowsocks, Trojan, DNS, dan WireGuard. Panduan ini hanya menggunakan HTTP dan SOCKS5, sesuai dengan penyiapan awal.
Sebelum Anda Mulai
- Langganan ChangeMyIP yang aktif. Detail dasbor atau paket Anda mencantumkan host proksi, port, dan nama pengguna/kata sandi yang akan Anda gunakan.
- Mesin Linux (desktop atau server) dengan
curl. Konfirmasi dengancurl --version. - Sesi terminal. Buka satu shell baru untuk pengujian sehingga Anda dapat menutupnya dan membuang semuanya.
- Opsional: editor teks untuk file profil shell seperti
~/.bashrcatau~/.zshrc.
Pilih Endpoint yang Tepat untuk Pekerjaan
| Jenis endpoint | Bagaimana IP berperilaku | Penggunaan pertama yang umum |
|---|---|---|
| Datacenter bersama | Salah satu dari banyak IP di kumpulan bersama; pengguna lain mungkin melihat IP yang sama | Menguji apakah penyiapan Anda berfungsi, penjelajahan umum |
| Datacenter khusus | IP yang ditetapkan ke akun Anda | Menjaga satu identitas stabil untuk akun yang Anda miliki |
| Residensial | IP berputar yang diambil dari rentang ISP nyata | Memeriksa halaman yang ditargetkan secara geografis, pengumpulan data skala sedang |
Detail paket Anda menentukan kode negara atau kota mana yang dapat Anda minta. Kumpulan ChangeMyIP mencakup 40+ negara dan 300+ kota; gunakan parameter negara dan kota persis seperti yang didokumentasikan untuk paket Anda daripada menebak-nebak.
Langkah-langkah
Langkah 1: Muat kredensial Anda ke shell
read -r -p "Proxy host and port (host:port): " CM_HOST
read -r -p "Proxy username: " CM_USER
read -r -s -p "Proxy password: " CM_PASS; echo
read -s menjaga kata sandi tidak muncul di layar dan tidak masuk ke riwayat shell Anda. Tidak ada yang disimpan ke disk oleh perintah-perintah ini.
Langkah 2: Catat IP Anda saat ini
echo "Direct IP: $(curl -sS https://api.ipify.org)"
echo
Tulis nilai ini. Anda akan membandingkannya dengan hasil proksi nanti. Layanan echo IP apa pun berfungsi; api.ipify.org digunakan di sini karena mengembalikan alamat biasa tanpa markup tambahan.
Langkah 3: Uji endpoint HTTP
curl -sS --proxy "http://$CM_HOST" --proxy-user "$CM_USER:$CM_PASS" https://api.ipify.org
echo
Jika autentikasi berhasil dan endpoint dapat dijangkau, alamat yang dicetak berbeda dari IP langsung dari Langkah 2. Untuk saat ini, pertahankan panggilan sebagai perintah curl eksplisit; variabel lingkungan akan menyusul.
Langkah 4: Uji endpoint SOCKS5
curl -sS --socks5-hostname "$CM_HOST" --proxy-user "$CM_USER:$CM_PASS" https://api.ipify.org
echo
Bentuk --socks5-hostname meminta proksi untuk menyelesaikan hostname tujuan, sehingga resolver DNS lokal Anda tidak dikonsultasikan untuk domain target. Flag --socks5 biasa diselesaikan secara lokal dan biasanya merupakan pilihan yang salah untuk penyiapan yang berfokus pada privasi.
Langkah 5: Atur variabel lingkungan proksi untuk sesi
export http_proxy="http://$CM_USER:$CM_PASS@$CM_HOST"
export https_proxy="$http_proxy"
export no_proxy="localhost,127.0.0.1,::1"
curl -sS https://api.ipify.org
echo
curl, wget, git, pip, dan banyak alat command-line lainnya membaca variabel ini secara otomatis. Daftar no_proxy menjaga alamat lokal, seperti server pengembangan pada port 3000, agar tidak melewati terowongan proksi.
Langkah 6: Tambahkan helper on/off alih-alih ekspor permanen
# Append to ~/.bashrc or ~/.zshrc
proxy_on() {
: "${CM_HOST:?Set CM_HOST, CM_USER, and CM_PASS first}"
export http_proxy="http://${CM_USER}:${CM_PASS}@${CM_HOST}"
export https_proxy="$http_proxy"
export no_proxy="localhost,127.0.0.1,::1"
echo "HTTP/HTTPS proxy on"
}
proxy_off() {
unset http_proxy https_proxy no_proxy
echo "HTTP/HTTPS proxy off"
}
Muat ulang file dengan source ~/.bashrc, lalu ketik proxy_on saat Anda menginginkan terowongan dan proxy_off saat tidak. Membiarkan proksi diekspor secara permanen adalah sumber umum kegagalan yang membingungkan pada alat yang tidak terkait.
Langkah 7: Pahami apa yang tidak dicakup oleh variabel lingkungan
- Browser, aplikasi Electron, dan layanan desktop umumnya mengabaikan variabel lingkungan shell. Atur proksi di aplikasi atau di pengaturan jaringan desktop Anda sebagai gantinya.
- Daemon latar belakang seperti Docker, snapd, dan beberapa manajer paket memerlukan file konfigurasi mereka sendiri.
- Hanya satu proksi global yang dapat aktif per sesi shell, jadi jalankan terminal terpisah jika Anda perlu membandingkan dua endpoint sekaligus.
Langkah 8: Konfirmasi perubahan dan periksa kewajaran DNS
curl -sS https://ipinfo.io/ip; echo
curl -sS https://ipinfo.io/country; echo
Nilai negara harus cocok dengan wilayah endpoint ChangeMyIP yang Anda pilih. Dengan HTTP dan bentuk --socks5-hostname, proksi menyelesaikan hostname tujuan, sehingga resolver lokal Anda tidak dikonsultasikan untuk domain target. Jika Anda juga menjalankan resolver DNS lokal atau proksi transparan, jalankan uji kebocoran DNS di browser untuk memastikan kueri Anda keluar di tempat yang Anda harapkan.
Pemecahan Masalah
| Gejala | Kemungkinan penyebab | Perbaikan |
|---|---|---|
curl: (22) ... 407 |
Kredensial proksi hilang atau salah | Periksa kembali nama pengguna dan kata sandi, dan berikan --proxy-user secara eksplisit |
curl: (7) Failed to connect |
Host atau port salah, atau blokir firewall | Salin host dan port dari detail paket Anda; konfirmasi port dapat dijangkau |
IP tidak berubah setelah export |
Diekspor di shell yang berbeda, atau alat mengabaikan variabel lingkungan | Jalankan proxy_on di shell saat ini dan uji dengan curl terlebih dahulu |
Berfungsi dengan curl tetapi tidak di browser |
Browser tidak membaca variabel shell | Masukkan host dan port di pengaturan proksi browser atau panel jaringan desktop |
| Beberapa situs dimuat, yang lain diblokir | IP datacenter bersama ditandai oleh situs target | Coba lagi dengan endpoint residensial |
| SOCKS5 gagal tetapi HTTP berfungsi | Resolusi DNS lokal atau flag SOCKS yang salah | Gunakan --socks5-hostname |
| Kecepatan bervariasi antar percobaan | Kemacetan kumpulan datacenter bersama | Uji endpoint lain dari kota yang berbeda |
Ringkasan
Mengubah IP Anda di Linux bermuara pada tiga hal: memiliki kredensial ChangeMyIP yang valid, memberi tahu alat ke mana harus mengirim lalu lintas, dan memverifikasi hasilnya. Uji dengan curl dan flag eksplisit terlebih dahulu, beralih ke variabel lingkungan http_proxy dan https_proxy setelah berhasil, dan ekspos melalui helper proxy_on dan proxy_off sehingga lalu lintas normal Anda tidak terpengaruh saat Anda tidak menguji. Konfirmasi IP dan negara baru dengan layanan echo IP, utamakan --socks5-hostname saat Anda ingin proksi menangani DNS, dan ingat bahwa aplikasi grafis memerlukan pengaturan proksi mereka sendiri.