Apa perbedaan antara alamat IP mesin dan localhost


12

Keraguan telah muncul dari pertanyaan saya yang lain Di mana jika saya memberikan localhost ke jalur saya, itu berfungsi. Tetapi tidak berfungsi jika saya memberikan ip sistem saya.

127.0.0.1 dipetakan ke localhost di / etc / hosts saya. Apakah saya perlu memetakan ip saya ke localhost? Tidak berubah?

Bukankah mereka sama?

Jawaban:


14

Beberapa layanan dikonfigurasikan untuk hanya mendengarkan pada alamat IP host lokal.

Contohnya adalah database MySQL - Anda ingin aplikasi PHP Anda berjalan di server yang sama untuk terhubung, tetapi tidak ingin layanan eksternal atau bahkan peretas dari luar untuk terhubung. Dengan mengkonfigurasi MySQL untuk hanya menerima alamat host lokal ( 127.0.0.1misalnya) dan bukan alamat IP asli server Anda ( 10.x.x.xmisalnya), Anda mengurangi kemungkinan dikompromikan.

Jadi, untuk menjawab pertanyaan Anda - ya, mereka berbeda.

localhostdiberikan alamat ip di 127.0.0.0jaringan dan diberikan ke perangkat jaringan loopback virtual lo. Perangkat ini hadir di semua sistem, terlepas dari apakah mereka memiliki perangkat jaringan fisik (WiFi atau Ethernet, misalnya). Sistem yang tidak terhubung ke jaringan apa pun akan memiliki perangkat loopback ini dan karenanya memiliki 127.0.0.0alamat. Nama localhostini hanyalah nama yang memutuskan untuk alamat IP ini dan dikonfigurasi dalam /etc/hosts.

Alamat IP asli Anda (10.xxx misalnya) dialokasikan ke perangkat jaringan. Ini biasanya perangkat jaringan fisik (WiFi atau Ethernet) meskipun pengaturan lanjutan menggunakan tunatau tapperangkat dapat menggunakannya juga. Sekali lagi, resolusi nama (misalnya www.example.orguntuk 10.0.1.1) dapat dikonfigurasi dalam /etc/hostsatau dapat diatur untuk menggunakan DNS.


4

127.0.0.1 adalah localhost , ini alamat mesin saat ini, diakses melalui antarmuka loopback (bukan melalui adaptor jaringan - ini berfungsi bahkan jika tidak ada chip jaringan dalam sistem).

IP yang Anda dapatkan dari router adalah cerita yang berbeda: itu adalah alamat yang memungkinkan komputer lain di jaringan menemukan Anda. Nah, Anda dapat menggunakan ip itu pada mesin yang sama juga, tetapi bekerja secara berbeda seperti sebelumnya: itu keluar ke router dan masuk lagi (saya menyederhanakan di sini, tapi itu ide umum).

Dan jika Anda terhubung ke internet, Anda juga mendapatkan ip lain dari ISP Anda - ip yang digunakan oleh komputer lain di seluruh dunia untuk menemukan Anda. Namun, keduanya setidaknya merujuk ke adapter jaringan yang sama ( eth0atau kartu nirkabel atau apa pun). localhostberbeda.

Sistem operasi, server dan sebagainya ... dapat berperilaku berbeda saat diakses localhost. Anda biasanya tidak memiliki firewall untuk itu, dan banyak layanan lokal memiliki localhostantarmuka yang dimaksudkan hanya untuk berkomunikasi dengan aplikasi. Sering kali, Anda ingin menguji server web Anda dengan terlebih dahulu mengaitkannya untuk mendengarkan localhostsaja, sehingga Anda dapat memeriksa apakah itu berfungsi, tetapi orang lain tidak bisa. Kemudian, Anda dapat mengkonfigurasi ulang untuk mendengarkan alamat ip eksternal Anda dan mulai melayani situs web (dan menguji lagi jika semuanya masih berfungsi).


Terima kasih atas penjelasannya. Keraguan lain muncul: Jika saya mengatakan layanan saya ke localhost, itu tidak akan pergi ke router. Tetapi jika saya menentukan ip, itu akan diarahkan oleh router. Jadi saya harus memiliki koneksi internet dalam kasus kedua saya. Tidak dengan localhost. Tolong beri tahu saya
Gibbs

Anda memerlukan koneksi ke router, jika tidak, Anda akan mendapatkan network is unreachableatau sesuatu yang serupa. Kuncinya adalah bahwa (setidaknya dengan dhcp) adalah router yang memberi Anda IP LAN di tempat pertama. Ada kemungkinan bahwa ini bervariasi dalam beberapa kasus jika rute tetap ada, tetapi pada dasarnya, untuk IP LAN, Anda memerlukan LAN, dan untuk IP eksternal, Anda memerlukan koneksi ke ISP.
orion

3

Saat Anda mengakses localhost, /etc/hostsfile Anda akan memberi tahu komputer Anda untuk tidak mencari lebih jauh dan mengarahkan Anda ke komputer Anda sendiri. Ketika Anda mengakses alamat IP lokal, komputer Anda akan meminta router untuk mengambil data, dan router Anda kemudian akan menunjuk kembali ke komputer Anda.


3
@serenesat - Tidak. Ketika Anda mengakses alamat IP 'asli' Anda, Anda tidak akan pergi sejauh router - Anda bahkan tidak akan meninggalkan mesin itu. Mencoba ping alamat IP lokal Anda dan lihat waktu pulang-pergi ...
garethTheRed

Jawaban ini jelas salah.
Rui F Ribeiro
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.