Saya mencoba memahami hubungan antara:
- Perangkat Linux "jaringan"; dan
- Kartu NIC fisik terletak di perangkat itu (memberikannya kemampuan untuk "jaringan"); dan
- Interface berbagai Ethernet / Wi-fi jaringan (
eth0
,eth1
,wlan0
, dll); dan - Alamat dan port IP
Dari apa yang saya kumpulkan, itu muncul bahwa setiap antarmuka (sekali lagi, eth0
, eth1
, wlan0
, dll) yang ditugaskan IP yang unik mereka sendiri. Berarti pada mesin saya eth0
akan memiliki IP berbeda dari, katakanlah wlan1
,.
Tetapi ini bertentangan dengan pemahaman saya bahwa perangkat jaringan secara keseluruhan menerima satu IP untuk seluruh perangkat.
Jadi yang mana? Apakah perangkat mendapatkan 1 IP yang digunakan oleh semua antarmuka, atau apakah masing-masing antarmuka sebenarnya mendapatkan IP sendiri? Jika masing-masing memiliki sendiri, lalu apa yang menentukan berapa banyak port yang tersedia pada antarmuka itu?
networking
ip
ethernet
Zac
sumber
sumber
Jawaban:
Setiap antarmuka jaringan akan memiliki alamat IP sendiri jika lalu lintas IP akan mengalir melaluinya.
Ambil contoh, perangkat router / modem yang dimiliki sebagian besar rumah dan / atau kantor kecil.
Akan ada koneksi ke komputer / laptop Anda di sisi internal router - apakah itu WiFi atau Ethernet. Ini biasanya dalam kisaran alamat pribadi
191.168.0.0 - 192.168.255.254
atau kadang-kadang10.0.0.0 - 10.255.255.254
. Desktop / laptop / tablet Anda akan terhubung ke sisi perangkat ini dan memiliki dirinya sendiri dan alamat IP dalam kisaran yang sama (tetapi tidak identik dengan perangkat).Di sisi eksternal router / modem Anda akan memiliki alamat IP yang sepenuhnya terpisah yang biasanya dialokasikan ke perangkat Anda secara otomatis oleh penyedia layanan. Ini adalah alamat yang dapat dirutekan seperti
98.23.45.62
yang secara global unik untuk modem / router Anda saat terhubung.Modem / router kecil seperti ini dapat membingungkan karena tampaknya hanya memiliki satu alamat - yang dikutip dalam manual pengguna untuk pengadministrasian perangkat melalui browser web (seperti
http://192.168.0.1
) - sementara itu memiliki banyak port Ethernet. Ini karena perangkat, pada dasarnya memiliki saklar jaringan yang ditandai ke router untuk membagi port Ethernet tunggal router menjadi banyak port dan untuk menghubungkan jembatan WiFi.Pada saat yang sama, sisi eksternal router / modem akan memiliki alamat IP-nya yang secara otomatis dikonfigurasi oleh penyedia layanan sehingga Anda mungkin tidak akan pernah melihatnya. (Ketikkan apa alamat IP saya di Google untuk mencari tahu apa itu).
Diagram dapat membantu:
Seperti yang Anda lihat, modem / router memiliki dua alamat IP - satu untuk setiap antarmuka jaringan. Desktop dan laptop memiliki satu - perangkat jaringan yang terhubung ke router Anda. Kebanyakan modem / router memiliki koneksi WiFi dan Ethernet seperti halnya kebanyakan laptop. Jika Anda menghubungkan kabel Ethernet ke laptop Anda dan juga mengaktifkan dan mengkonfigurasi WiFi laptop Anda, maka itu juga akan memiliki dua alamat IP - satu untuk setiap perangkat - keduanya dalam
10.0.0.x
kisaran alamat. Itu hanya akan memberi Anda masalah berpikir - jangan lakukan itu.Port hanyalah nomor yang dilampirkan ke alamat IP tujuan. Ini mirip dengan ekstensi telepon di papan tombol kantor dan memutuskan layanan mana yang akan menerima lalu lintas Anda. Ini adalah angka 16-bit, yang memberikannya maksimum 65535. Hanya sebagian kecil yang digunakan. Beberapa port yang telah dialokasikan sebelumnya juga dikenal seperti http traffic pada port 80 dan secure shell (ssh) pada port 22. Port-port ini hanya terbuka dan mendengarkan lalu lintas jika layanan yang relevan berjalan pada perangkat sebagaimana diinstal oleh produsen perangkat .
Dalam kasus router modem di atas, port 80 akan mendengarkan di sisi internal karena server web berjalan sehingga Anda dapat mengelola perangkat menggunakan browser web. Beberapa router juga memiliki layanan ssh yang mendengarkan pada port 22 sehingga Anda dapat mengelola perangkat menggunakan klien ssh. Mereka mungkin akan memiliki port 53 terbuka karena akan ada server DNS yang berjalan di router juga.
Laptop Anda mungkin (semoga) tidak memiliki port mendengarkan, kecuali Anda telah menginstal layanan pada perangkat itu. Pada diagram di atas, Anda dapat menginstal server server ssh pada PC desktop di titik mana (dan firewall mengizinkan) desktop Anda akan memiliki port 22 terbuka. Laptop Anda kemudian dapat ssh ke port 22 desktop dan login.
Oleh karena itu, jumlah port pada perangkat turun ke berapa banyak layanan yang berjalan pada perangkat itu, konfigurasi layanan itu, dan konfigurasi firewall.
Jika Anda ingin membuat server ssh berjalan pada desktop Anda dalam contoh di atas, dapat diakses dari pengguna jarak jauh di suatu tempat di Internet Anda akan mengalami masalah kecil karena, meskipun Anda memiliki banyak alamat internal, Anda hanya memiliki satu eksternal (
98.23.45.62
).Untuk mengatasi ini, Anda harus mengkonfigurasi fasilitas yang dikenal sebagai Port Forwarding di router Anda. Ini menginstruksikan router untuk mengambil semua lalu lintas yang tiba di port tertentu dan meneruskannya ke host dan port internal tertentu.
Dalam hal ini, semua lalu lintas yang tiba di port 22 diteruskan ke
10.0.0.2
port 22. Seperti yang mungkin telah Anda kumpulkan, ini berarti bahwa Anda hanya dapat memiliki port 22 diteruskan ke satu server internal.Jika Anda ingin dapat ssh ke desktop dan laptop, Anda harus mengkonfigurasi router untuk mendengarkan pada port eksternal alternatif (seperti 2022) dan meneruskannya ke laptop Anda di
10.0.0.2
port 22. Pengguna jarak jauh akan harusssh 98.23.45.62
mengakses desktop danssh -p 2022 98.23.45.62
mengakses laptop Anda.Tentu saja, ini tidak selalu sesederhana ini karena alamat IP eksternal dapat berubah kecuali Anda secara khusus meminta / membeli alamat IP statis.
sumber
98.23.45.62
(pada dasarnya, IP eksternal router umum mereka)? Jika demikian, maka jika saya membuat server yang berjalan di laptop saya, dan ingin agar dapat dijangkau dari dunia luar, bagaimana klien eksternal / jarak jauh membuat permintaan ke server itu jika memiliki IP yang sama dengan semua perangkat lain di belakang router ?!? Sekali lagi terima kasih banyak!"Perangkat" adalah kata yang kelebihan beban. Kadang-kadang digunakan untuk berarti mesin, dan kadang-kadang berarti perangkat atau antarmuka mesin.
Setiap antarmuka jaringan memiliki alamatnya sendiri.
Setiap mesin memiliki nol, satu atau lebih alamat tergantung pada berapa banyak antarmuka jaringan yang dimilikinya.
Dalam kasus sederhana, setiap antarmuka jaringan fisik memiliki satu alamat IP, dan sistem Anda juga memiliki antarmuka loopback yang digunakan program untuk berbicara dengan program yang berjalan pada mesin yang sama. Setiap antarmuka memiliki alamat IP yang berbeda. Banyak, banyak pengaturan kompleks dimungkinkan (ikatan, aliasing, alamat lokal, dll.) Tetapi intuisi dasarnya adalah bahwa setiap alamat IP sesuai dengan satu antarmuka.
Saat Anda mengakses mesin melalui jaringan, Anda menggunakan alamat IP, jadi Anda sebenarnya mengakses antarmuka jaringan tertentu dari mesin itu. Dalam kebanyakan kasus, perbedaannya adalah moot, karena hanya satu antarmuka yang dapat dijangkau dari mesin jarak jauh, dan itu tidak akan membuat perbedaan apa pun, karena program menerima koneksi pada semua antarmuka. Namun dimungkinkan untuk server hanya mendengarkan pada satu antarmuka.
sumber
Perangkat Anda mungkin memiliki beberapa antarmuka jaringan. Itu bisa berhubungan dengan perangkat nyata ( NIC ) atau virtual .
Agar dapat digunakan (yaitu memulai atau mendengarkan koneksi), setiap antarmuka harus memiliki alamat IP. Biasanya akan ada satu IP per antarmuka, tetapi dimungkinkan untuk memiliki beberapa melalui IP alias .
Koneksi individual pada setiap alamat IP diidentifikasi oleh nomor port. Ada batas 65536 port per alamat IP yang diberlakukan oleh protokol IP. Salah satu alasan di balik IP alias adalah untuk mengatasi batasan ini.
Jadi pada akhirnya perangkat Anda dapat memiliki IP sebanyak yang Anda inginkan (dengan alasan - saya kira ada batasan yang diberlakukan oleh kernel pada jumlah antarmuka dan IP yang dapat dikelola), yang sama sekali independen dari jumlah antarmuka jaringan adaptor yang Anda miliki. Di sisi lain, perangkat Anda akan memiliki IP setidaknya sebanyak yang ada antarmuka jaringan yang digunakan .
sumber
Perangkat adalah benda fisik yang diwakili oleh label di dalam sistem. Dengan cara ini sistem dapat melakukan tindakan yang berbeda seperti pengaturan / permintaan / penggunaan perangkat fisik. Label dibuat oleh driver yang mengelola perangkat keras fisik pada sistem kernel.
Jadi Anda dapat memiliki beberapa perangkat jaringan, masing-masing diidentifikasi dengan label uniq (jangan terlalu menyulitkan pembicaraan tentang ikatan).
Masalah Anda adalah tentang alamat ip.
Ada beberapa kelas alamat IP yang berbeda. Anda memiliki yang publik, yang dapat dijangkau dari mana saja di Internet dan alamat pribadi yang biasanya terbatas pada area pribadi (rumah / jaringan bisnis untuk contoh).
Biasanya jaringan rumah atau jaringan kantor memiliki beberapa alamat ip publik dan banyak alamat pribadi (antara laptop / ponsel / tablet / lemari es / pemanggang roti / dari semua anggota keluarga).
Anda dapat menetapkan banyak alamat ip ke perangkat keras fisik, tetapi Anda harus melakukannya dengan baik dan menghormati logika tcp / ip yang mendasarinya, jika Anda tidak ingin menghadapi masalah yang tidak dapat dipisahkan :)
Sebagai contoh di jaringan lokal (lan) Anda tidak dapat memiliki dua perangkat keras dengan alamat IP yang sama. Ini sebagian besar disebabkan oleh protokol Ethernet yang didasarkan pada alamat MAC (pengidentifikasi perangkat keras uniq), dan ada hubungan satu-ke-satu antara alamat MAC dan alamat ip pada jaringan lokal.
Anda juga dapat memiliki satu mesin, dengan dua perangkat keras satu dengan alamat publik dari penyedia Anda, dan satu di dalam jaringan lokal Anda. Mesin ini biasanya akan digunakan seperti gateway ke dunia eksternal untuk semua mesin di jaringan lokal Anda.
sumber