Seperti apa seharusnya file jaringan. Apa itu Jaringan dan Bagaimana Cara Memperbaikinya? Penipuan dengan file host

Ketika datang ke jaringan komputer, Anda sering mendengar penyebutan NFS. Apa arti singkatan ini?

Ini adalah protokol terdistribusi berkas sistem, awalnya dikembangkan oleh Sun Microsystems pada tahun 1984, yang memungkinkan pengguna di komputer klien untuk mengakses file melalui jaringan, mirip dengan mengakses penyimpanan lokal. NFS, seperti banyak protokol lainnya, didasarkan pada sistem Open Network Computing Remote Procedure Call (ONC RPC).

Dengan kata lain, apa itu NFS? Ini adalah standar terbuka, yang didefinisikan dalam Request for Comments (RFC), yang memungkinkan siapa saja untuk mengimplementasikan protokol.

Versi dan variasi

Penemu hanya menggunakan versi pertama untuk tujuan eksperimennya sendiri. Ketika tim pengembangan menambahkan perubahan signifikan pada NFS asli dan merilisnya di luar kepengarangan Sun, mereka menunjuk versi baru sebagai v2 sehingga Anda dapat menguji interoperabilitas antar distribusi dan membuat fallback.

NFS v2

Versi 2 awalnya hanya berjalan pada User Datagram Protocol (UDP). Pengembangnya ingin menjaga sisi server tanpa penguncian diimplementasikan di luar protokol inti.

Antarmuka sistem file virtual memungkinkan implementasi modular yang tercermin dalam protokol sederhana. Pada Februari 1986, solusi didemonstrasikan untuk sistem operasi seperti System V release 2, DOS, dan VAX/VMS menggunakan Eunice. NFS v2 hanya mengizinkan 2 GB file pertama untuk dibaca karena batasan 32-bit.

NFSv3

Proposal pertama untuk mengembangkan NFS versi 3 di Sun Microsystems diumumkan segera setelah rilis distribusi kedua. Motivasi utamanya adalah mencoba mengurangi masalah kinerja penulisan sinkron. Pada Juli 1992, perbaikan praktis menyelesaikan banyak kekurangan NFS versi 2, hanya menyisakan dukungan file yang tidak mencukupi (ukuran file 64-bit dan offset file).

  • dukungan untuk ukuran file 64-bit dan offset untuk menangani data yang lebih besar dari 2 gigabyte (GB);
  • dukungan untuk penulisan asinkron di server untuk meningkatkan kinerja;
  • atribut file tambahan dalam banyak jawaban untuk menghindari keharusan mengekstraknya kembali;
  • operasi READDIRPLUS untuk mendapatkan data dan atribut bersama dengan nama file saat memindai direktori;
  • banyak perbaikan lainnya.

Selama pengenalan versi 3, dukungan untuk TCP sebagai protokol lapisan transport mulai meningkat. Penggunaan TCP sebagai sarana transfer data yang dilakukan dengan menggunakan NFS melalui WAN, mulai memungkinkan terjadinya transfer ukuran besar file untuk dilihat dan direkam. Hasilnya, pengembang mampu mengatasi batas 8 KB yang diberlakukan oleh User Datagram Protocol (UDP).

Apa itu NFSv4?

Dipengaruhi oleh Endre File System (AFS) dan Server Message Block (SMB, juga disebut CIFS), versi 4 mencakup peningkatan kinerja, keamanan yang lebih baik, dan memperkenalkan protokol dengan kondisi yang ditetapkan.

Versi 4 adalah distribusi pertama yang dikembangkan oleh Internet Engineering Task Force (IETF) setelah pengembangan protokol outsourcing Sun Microsystems.

NFS versi 4.1 bertujuan untuk memberikan dukungan protokol untuk memanfaatkan penyebaran cluster server, termasuk kemampuan untuk menyediakan akses bersamaan yang dapat diskalakan ke file yang didistribusikan di beberapa server (ekstensi pNFS).

Protokol sistem file terbaru, NFS 4.2 (RFC 7862), secara resmi dirilis pada November 2016.

Ekstensi lainnya

Dengan pengembangan standar, alat yang sesuai untuk bekerja dengannya telah muncul. Misalnya, WebNFS, ekstensi untuk versi 2 dan 3, memungkinkan protokol akses jaringan ke sistem file, lebih mudah untuk diintegrasikan ke dalam browser web dan memungkinkan pekerjaan melalui firewall.

Berbagai protokol pihak ketiga juga telah dikaitkan dengan NFS. Dari jumlah tersebut, yang paling terkenal adalah:

  • Network Lock Manager (NLM) dengan dukungan protokol byte (ditambahkan untuk mendukung API penguncian file Sistem V UNIX);
  • kuota jarak jauh (RQUOTAD), yang memungkinkan pengguna NFS melihat kuota penyimpanan di server NFS;
  • NFS over RDMA - Adaptasi NFS yang menggunakan akses memori langsung jarak jauh (RDMA) sebagai media transfer;
  • NFS-Ganesha adalah server NFS ruang pengguna yang mendukung CephFS FSAL (Lapisan Abstraksi Sistem File) menggunakan libcephfs.

Platform

Sistem File Jaringan sering digunakan dengan sistem operasi Unix (seperti Solaris, AIX, HP-UX), MacOS Apple, dan sistem operasi mirip Unix (seperti Linux dan FreeBSD).

Ini juga tersedia untuk platform seperti Acorn RISC OS, OpenVMS, MS-DOS, Microsoft Windows, Novell NetWare, dan IBM AS/400.

Protokol Alternatif akses jarak jauh untuk file termasuk Server Message Block (SMB, juga disebut CIFS), Apple Transfer Protocol (AFP), NetWare Core Protocol (NCP), dan OS/400 Server File System (QFileSvr.400).

Ini karena persyaratan NFS, yang sebagian besar diarahkan untuk "kerang" mirip Unix.

Namun, protokol SMB dan NetWare (NCP) lebih sering digunakan daripada NFS pada sistem yang berjalan Microsoft Windows. AFP paling banyak digunakan pada platform Apple Macintosh, sedangkan QFileSvr.400 paling umum digunakan pada OS/400.

Implementasi tipikal

Dengan asumsi skenario khas gaya Unix di mana satu komputer (klien) memerlukan akses ke data yang disimpan di komputer lain (server NFS):

  • Server mengimplementasikan proses Network File System, berjalan secara default sebagai nfsd, untuk membuat datanya tersedia untuk umum bagi klien. Administrator server menentukan cara mengekspor nama dan opsi direktori, biasanya menggunakan file konfigurasi /etc/exports dan perintah exportfs.
  • Administrasi keamanan server memastikan bahwa ia dapat mengenali dan menyetujui klien tepercaya. Konfigurasi jaringannya memastikan bahwa klien yang sesuai dapat bernegosiasi dengannya melalui sistem firewall apa pun.
  • Mesin klien meminta akses ke data yang diekspor, biasanya dengan mengeluarkan perintah yang sesuai. Ini menanyakan server (rpcbind) yang menggunakan port NFS dan kemudian menghubungkannya.
  • Jika semuanya berjalan tanpa kesalahan, pengguna di mesin klien akan dapat melihat dan berinteraksi dengan sistem file yang diinstal di server dalam parameter yang diizinkan.

Perlu juga dicatat bahwa otomatisasi proses Sistem File Jaringan juga dapat dilakukan - mungkin menggunakan etc/fstab dan/atau cara serupa lainnya.

Perkembangan hingga saat ini

Pada abad ke-21, protokol DFS dan AFS yang bersaing belum mencapai kesuksesan komersial besar dibandingkan dengan Sistem File Jaringan. IBM, yang sebelumnya memperoleh semua hak komersial atas teknologi di atas, menyumbangkan sebagian besar kode sumber AFS ke komunitas pengembang gratis perangkat lunak di 2000. Proyek Open AFS masih ada sampai sekarang. Pada awal 2005, IBM mengumumkan bahwa mereka mengakhiri penjualan AFS dan DFS.

Pada bulan Januari 2010, Panasas menawarkan NFS v 4.1, berdasarkan teknologi yang meningkatkan kemampuan akses paralel ke data. Protokol Network File System v 4.1 mendefinisikan metode untuk memisahkan metadata sistem file dari lokasi file tertentu. Jadi itu melampaui pemisahan nama/data sederhana.

Apa NFS versi ini dalam praktiknya? Fitur di atas membedakannya dari protokol tradisional, yang berisi nama file dan datanya di bawah satu pengikatan ke server. Dengan penerapan Network File System v 4.1, beberapa file dapat didistribusikan antara server multi-situs, tetapi partisipasi klien dalam pemisahan metadata dan data terbatas.

Dalam implementasi protokol distribusi keempat, server NFS adalah kumpulan sumber daya atau komponen server; mereka diasumsikan dikendalikan oleh server metadata.

Klien masih menghubungi satu server metadata untuk melintasi atau berinteraksi dengan namespace. Saat memindahkan file ke dan dari server, ia dapat berinteraksi langsung dengan kumpulan data yang dimiliki oleh grup NFS.

Apa penggunaan praktis/etc/file jaringan? Sejauh yang saya mengerti, dimungkinkan untuk menentukan nama jaringan dalam file ini. Sebagai contoh:

[dilindungi email]:~# cat /etc/networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 google-dns 8.8.4.4 [dilindungi email]:~#

Namun, jika saya mencoba menggunakan nama jaringan ini, misalnya di utilitas ip, itu tidak berfungsi:

[dilindungi email]:~# ip route tambahkan google-dns melalui 104.236.63.1 dev eth0 Kesalahan: awalan inet diharapkan daripada "google-dns". [dilindungi email]:~# ip route tambahkan 8.8.4.4 melalui 104.236.64.1 dev eth0 [dilindungi email]:~#

Apa kegunaan praktis dari file /etc/networks?

2 Solusi mengumpulkan formulir web untuk "penggunaan praktis file /etc/networks"

Seperti yang tertulis di halaman manual, file /etc/networks harus menjelaskan nama simbolis untuk jaringan. Dengan jaringan, ini berarti alamat jaringan dengan tail.0 di akhir. Hanya didukung jaringan sederhana kelas A, B atau C.

Dalam contoh Anda, entri google-dns salah. Ini bukan jaringan A, B, atau C. Ini adalah hubungan ip-address-hostname, jadi milik /etc/hosts . Sebenarnya entri default juga tidak cocok.

Misalkan Anda memiliki alamat IP 192.168.1.5 dari jaringan perusahaan. Entri di /etc/network dapat berupa:

Nama Perusahaan 192.168.1.0

Saat menggunakan utilitas seperti route atau netstat , jaringan ini diterjemahkan (kecuali jika Anda menekan izin dengan flag -n). Tabel perutean mungkin terlihat seperti ini:

Tabel perutean IP Kernel Gateway Tujuan Genmask Flags Metric Ref Use Iface default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 corpname * 255.255.255.0 U 0 0 0 eth0

Perintah ip tidak pernah menggunakan nama host untuk input, jadi contoh Anda hampir tidak penting. Anda juga memasukkan nama host di /etc/networks , bukan nama jaringan!

Entri di /etc/networks digunakan oleh alat yang mencoba mengubah angka menjadi nama, seperti perintah rute (usang). Tanpa entri yang sesuai, ini menunjukkan:

# route Kernel IP routing table Gateway Tujuan Genmask Flags Metric Ref Use Iface default 192.168.1.254 0.0.0.0 UG 0 0 0 eth0 192.168.0.0 * 255.255.254.0 U 0 0 0 eth0

Jika sekarang kita menambahkan baris mylocalnet 192.168.0.0 ke /etc/networks:

# route Kernel IP routing table Gateway Tujuan Genmask Flags Metric Ref Use Iface default 192.168.1.254 0.0.0.0 UG 0 0 0 eth0 mylocalnet * 255.255.254.0 U 0 0 0 eth0

Dalam praktiknya, ini tidak pernah digunakan.

Pergi!

Setelah Anda mensubnet jaringan Anda, Anda harus bersiap untuk pencarian sederhana alamat dengan nama menggunakan file /etc/hosts. Jika Anda tidak akan menggunakan DNS atau NIS untuk ini, Anda harus meletakkan semua host di file host.

Bahkan jika Anda ingin menggunakan DNS atau NIS, Anda juga dapat memiliki beberapa subset nama di /etc/hosts. Misalnya, jika Anda ingin memiliki semacam pencarian nama bahkan ketika antarmuka jaringan tidak berjalan, seperti saat boot. Ini bukan hanya masalah kenyamanan, tetapi juga memungkinkan Anda untuk menggunakan nama host simbolis dalam skrip rc. Jadi, ketika mengubah alamat IP, Anda hanya perlu menyalin file host yang diperbarui ke semua mesin daripada mengedit banyak file rc. Biasanya Anda akan meletakkan semua nama dan alamat lokal di host dengan menambahkannya ke gateway dan server NIS mana pun jika digunakan.

Juga, saat memeriksa, Anda harus memastikan bahwa server nama hanya menggunakan informasi dari file host. Perangkat lunak DNS atau NIS mungkin memiliki file sampel yang mungkin memberikan hasil yang aneh saat digunakan. Untuk memaksa semua aplikasi menggunakan /etc/hosts secara eksklusif saat mencari alamat IP host, Anda harus mengedit file /etc/host.conf. Komentari semua baris yang dimulai dengan urutan kata kunci dan rekatkan baris:

pesan tuan rumah

Konfigurasi library nameserver akan dijelaskan secara rinci di Bab 6.

File host berisi satu entri per baris, yang terdiri dari alamat IP, nama host, dan daftar alias opsional. Bidang dipisahkan oleh spasi atau tab, bidang alamat harus dimulai di kolom pertama. Apa pun setelah simbol # diperlakukan sebagai komentar dan diabaikan.

Nama host dapat sepenuhnya memenuhi syarat atau relatif terhadap domain lokal. Untuk vale, Anda akan memasukkan nama yang sepenuhnya memenuhi syarat, vale.vbrew.com , ke dalam host, serta vale itu sendiri, sehingga nama resmi dan nama lokal yang lebih pendek diketahui.

Contoh file host untuk Virtual Brewery diberikan di bawah ini. Dua nama khusus, vlager-if1 dan vlager-if2 , menentukan alamat untuk kedua antarmuka yang digunakan pada vlager .


Terkadang jaringan dan kesalahan sistem lainnya kesalahan jendela mungkin terkait dengan masalah dalam registri Windows. Beberapa program dapat menggunakan file jaringan, tetapi ketika program tersebut dihapus atau diubah, entri registri Windows yang tidak valid (tidak valid) terkadang tertinggal.

Pada dasarnya, ini berarti bahwa sementara jalur sebenarnya ke file mungkin telah diubah, lokasi sebelumnya yang salah masih tercatat di registri Windows. Ketika Windows mencoba mencari referensi file yang salah ini (lokasi file di PC Anda), jaringan. Selain itu, infeksi malware mungkin telah merusak entri registri yang terkait dengan Microsoft Windows. Dengan demikian, entri registri Windows yang rusak ini perlu diperbaiki untuk memperbaiki akar masalahnya.

Mengedit registri Windows secara manual untuk menghapus kunci jaringan yang tidak valid tidak disarankan kecuali Anda adalah profesional layanan PC. Kesalahan yang dibuat saat mengedit registri dapat membuat PC Anda tidak dapat digunakan dan menyebabkan kerusakan yang tidak dapat diperbaiki pada perangkat Anda sistem operasi. Faktanya, bahkan satu koma di tempat yang salah dapat mencegah komputer Anda melakukan booting!

Karena risiko ini, kami sangat menyarankan menggunakan pembersih registri tepercaya seperti WinThruster (Dikembangkan oleh Mitra Bersertifikat Emas Microsoft) untuk memindai dan memperbaiki jaringan apa pun. Menggunakan pembersih registri mengotomatiskan proses menemukan entri registri yang tidak valid, referensi file yang hilang (seperti yang menyebabkan kesalahan jaringan Anda), dan tautan rusak di dalam registri. Sebelum setiap pemindaian, secara otomatis dibuat salinan cadangan, yang memungkinkan Anda untuk membatalkan perubahan apa pun dengan satu klik dan melindungi Anda dari kemungkinan kerusakan pada komputer Anda. Bagian terbaiknya adalah memperbaiki kesalahan registri secara drastis dapat meningkatkan kecepatan dan kinerja sistem.


Sebuah peringatan: Jika kamu tidak pengguna berpengalaman PC, kami TIDAK menyarankan mengedit registri Windows secara manual. Penggunaan yang salah Editor Registri dapat menyebabkan masalah serius dan memerlukan menginstal ulang windows. Kami tidak menjamin bahwa masalah yang dihasilkan dari penyalahgunaan Registry Editor, bisa diperbaiki. Anda menggunakan Peninjau Suntingan Registri dengan risiko Anda sendiri.

Sebelum memulihkan secara manual Registri Windows, Anda perlu mencadangkan dengan mengekspor bagian jaringan dari registri (misalnya, Microsoft Windows):

  1. Klik pada tombol Mulai.
  2. Memasuki " memerintah" di dalam bilah pencarian... JANGAN TEKAN BELUM MEMASUKI!
  3. Memegang kunci CTRL-Shift pada keyboard, tekan MEMASUKI.
  4. Dialog akses akan ditampilkan.
  5. Klik Ya.
  6. Kotak hitam terbuka dengan kursor berkedip.
  7. Memasuki " regedit" dan tekan MEMASUKI.
  8. Di Peninjau Suntingan Registri, pilih kunci terkait jaringan (mis. Microsoft Windows) yang ingin Anda buat cadangannya.
  9. Di menu Mengajukan Pilih Ekspor.
  10. Terdaftar Menyimpan ke pilih folder tempat Anda ingin menyimpan cadangan kunci Microsoft Windows.
  11. di lapangan Nama file masukkan nama untuk file cadangan, seperti "Microsoft Pencadangan Windows salinan".
  12. Pastikan lapangan Rentang Ekspor nilai yang dipilih Cabang yang dipilih.
  13. Klik Menyimpan.
  14. File akan disimpan dengan ekstensi .reg.
  15. Anda sekarang memiliki cadangan jaringan Anda.

Langkah selanjutnya untuk mengedit registri secara manual tidak akan dibahas dalam artikel ini, karena kemungkinan besar akan merusak sistem Anda. Jika Anda ingin informasi lebih lanjut tentang mengedit registri secara manual, silakan lihat tautan di bawah ini.

Waktu yang baik, para pembaca yang budiman. Saya memposting bagian kedua. Bagian saat ini berfokus pada implementasi jaringan di linux(cara mengatur jaringan di Linux, cara mendiagnosis jaringan di Linux dan memelihara subsistem jaringan di Linux).

Mengkonfigurasi TCP/IP di Linux untuk Jaringan Ethernet

Bekerja dengan protokol jaringan TCP / IP di Linux cukup hanya memiliki antarmuka loopback, tetapi jika Anda perlu menggabungkan host satu sama lain, tentu saja, Anda harus memiliki antarmuka jaringan, saluran transmisi data (misalnya, twisted pair), mungkin beberapa peralatan jaringan. Juga, perlu untuk menginstal (, dll.), Biasanya disertakan dalam . Itu juga perlu memiliki jaringan (misalnya /etc/hosts) dan dukungan jaringan.

Pengaturan jaringan

Mari kita mulai memahami mekanisme jaringan Linux dengan mengkonfigurasi jaringan secara manual, yaitu dari kasus ketika alamat IP antarmuka jaringan statis. Jadi, saat menyiapkan jaringan, Anda perlu mempertimbangkan dan mengonfigurasi parameter berikut:

alamat IP- seperti yang telah disebutkan di bagian pertama artikel - ini adalah alamat unik mesin, dalam format empat angka desimal yang dipisahkan oleh titik. Biasanya, saat bekerja di jaringan lokal, itu dipilih dari rentang pribadi, misalnya: 192.168.0.1

Subnetmask- sama, 4 angka desimal, menentukan bagian mana dari alamat yang merujuk ke alamat jaringan/subnet dan bagian mana yang merujuk ke alamat host. Subnet mask adalah angka yang ditambahkan (dalam bentuk biner) dengan alamat IP untuk mengetahui subnet mana yang dimiliki alamat tersebut. Misalnya, alamat 192.168.0.2 dengan topeng 255.255.255.0 milik subnet 192.168.0.

Alamat subnet- ditentukan oleh subnet mask. Pada saat yang sama, tidak ada subnet untuk antarmuka loopback.

Alamat siaran- alamat yang digunakan untuk mengirim paket broadcast yang akan diterima oleh semua host di subnet. Biasanya sama dengan alamat subnet dengan nilai host 255, yaitu untuk subnet 192.168.0, siaran akan menjadi 192.168.0.255, demikian pula, untuk subnet 192.168, siaran akan menjadi 192.168.255.255. Tidak ada alamat broadcast untuk antarmuka loopback.

Alamat IP gerbang adalah alamat mesin yang merupakan gateway default untuk komunikasi dengan dunia luar. Mungkin ada beberapa gateway jika komputer terhubung ke beberapa jaringan secara bersamaan. Alamat gateway tidak digunakan pada jaringan yang terisolasi (tidak terhubung ke jaringan global) karena jaringan ini tidak memiliki tempat untuk mengirim paket di luar jaringan, hal yang sama berlaku untuk antarmuka loopback.

Alamat IP server nama (server DNS)- alamat server yang mengubah nama host menjadi alamat IP. Biasanya disediakan oleh ISP.

File pengaturan jaringan Linux (file konfigurasi)

Untuk memahami jaringan di Linux, saya pasti akan menyarankan Anda untuk membaca artikel "". Secara umum, semua kerja linux didasarkan pada , yang lahir ketika OS melakukan booting dan menghasilkan turunannya, yang pada gilirannya melakukan semua pekerjaan yang diperlukan, baik itu menjalankan bash atau daemon. Ya, dan seluruh boot Linux didasarkan, di mana seluruh urutan peluncuran utilitas kecil dengan berbagai parameter ditulis, yang dimulai / dihentikan secara berurutan ketika sistem mulai / berhenti. Subsistem jaringan Linux dimulai dengan cara yang sama.

Setiap distribusi Linux memiliki mekanisme inisialisasi jaringan yang sedikit berbeda, tetapi gambaran keseluruhan, saya pikir, setelah membaca akan menjadi jelas. Jika Anda melihat skrip awal subsistem jaringan dari setiap distribusi Linux, maka cara mengkonfigurasi jaringan menggunakan file konfigurasi akan menjadi lebih atau kurang jelas, misalnya, di Debian (kami akan mengambil distribusi ini sebagai dasar), skrip bertanggung jawab untuk menginisialisasi jaringan /etc/init.d/networking dengan melihat yang:

Net-server:~#cat /etc/init.d/networking #!/bin/sh -e ### BEGIN INFO INIT # Menyediakan: jaringan # Diperlukan-Mulai: mountkernfs $local_fs # Diperlukan-Berhenti: $local_fs # Harus -Mulai: ifupdown # Should-Stop: ifupdown # Default-Start: S # Default-Stop: 0 6 # Deskripsi Singkat: Menaikkan antarmuka jaringan. ### END INIT INFO PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" [ -x /sbin/ifup ] || keluar 0 . /lib/lsb/init-functions process_options() ( [ -e /etc/network/options ] || return 0 log_warning_msg "/etc/network/options masih ada dan akan DIABAIKAN! Baca README.Debian dari netbase." ) check_network_file_systems() ( [ -e /proc/mounts ] || kembalikan 0 jika [ -e /etc/iscsi/iscsi.initramfs ]; lalu log_warning_msg "not deconfiguring network interfaces: iSCSI root is mounted." exit 0 fi exec 9<&0 < /proc/mounts while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network devices still mounted." exit 0 ;; esac case $FSTYPE in nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs) log_warning_msg "not deconfiguring network interfaces: network file systems still mounted." exit 0 ;; esac done exec 0<&9 9<&- } check_network_swap() { [ -e /proc/swaps ] || return 0 exec 9<&0 < /proc/swaps while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network swap still mounted." exit 0 ;; esac done exec 0<&9 9<&- } case "$1" in start) process_options log_action_begin_msg "Configuring network interfaces" if ifup -a; then log_action_end_msg $? else log_action_end_msg $? fi ;; stop) check_network_file_systems check_network_swap log_action_begin_msg "Deconfiguring network interfaces" if ifdown -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; force-reload|restart) process_options log_warning_msg "Running $0 $1 is deprecated because it may not enable again some interfaces" log_action_begin_msg "Reconfiguring network interfaces" ifdown -a --exclude=lo || true if ifup -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; *) echo "Usage: /etc/init.d/networking {start|stop}" exit 1 ;; esac exit 0

Anda dapat menemukan beberapa fungsi yang memeriksa sistem file jaringan yang terpasang ( periksa_jaringan_file_sistem(), periksa_jaringan_swap()), serta memeriksa keberadaan beberapa konfigurasi yang belum dapat dipahami /etc/network/options ( fungsi pilihan_proses()), dan di bagian paling bawah, dengan desain kasus "$1" di dan sesuai dengan parameter yang dimasukkan (start/stop/force-reload|restart atau lainnya) melakukan tindakan tertentu. Dari ini sangat tindakan tertentu", contoh argumen start menunjukkan bahwa fungsi dimulai terlebih dahulu proses_pilihan, maka frasa tersebut dikirim ke log Mengonfigurasi antarmuka jaringan, dan jalankan perintah ifup -a. Jika Anda melihat man ifup , Anda dapat melihat bahwa perintah ini membaca konfigurasi dari file /etc/network/interfaces dan sesuai dengan kuncinya -Sebuah memulai semua antarmuka yang memiliki parameter mobil.

Perintah ifup dan ifdown dapat digunakan untuk mengkonfigurasi (atau, masing-masing, mendekonfigurasi) antarmuka jaringan berdasarkan definisi antarmuka dalam file /etc/network/interfaces.

-a, --semua
Jika diberikan ke ifup, pengaruhi semua antarmuka yang ditandai otomatis. Antarmuka dibawa dalam urutan yang didefinisikan di /etc/network/interfaces. Jika diberikan ke ifdown, memengaruhi semua antarmuka yang ditentukan. Antarmuka diturunkan dalam urutan di mana mereka saat ini terdaftar di file negara. Hanya antarmuka yang ditentukan di /etc/network/interfaces yang akan diturunkan.

ip-server:~# cat /etc/network/interfaces # File ini menjelaskan antarmuka jaringan yang tersedia di sistem Anda # dan cara mengaktifkannya. Untuk informasi lebih lanjut, lihat antarmuka (5). # Antarmuka jaringan loopback auto lo iface lo inet loopback # Antarmuka jaringan utama allow-hotplug eth0 iface eth0 inet dhcp allow-hotplug eth2 iface eth2 inet alamat statis 192.168.1.1 netmask 255.255.255.0 gateway 192.168.1.254 broadcast 192.168.1.255

Di baris konfigurasi ini memungkinkan-hotplug Dan mobil adalah sinonim dan antarmuka akan ditampilkan sesuai perintah ifup -a. Itu, pada kenyataannya, adalah seluruh rantai operasi subsistem jaringan. Demikian pula, di distribusi lain: di RedHat dan SUSE, jaringan dimulai dengan skrip /etc/init.d/network. Setelah memeriksanya, Anda juga dapat menemukan di mana letak konfigurasi jaringan.

/etc/hosts

File ini berisi daftar alamat IP Dan nama host yang sesuai dengan mereka (alamat).Format file tidak berbeda dengan file master:

Ip-server:~# cat /etc/hosts # ip host.in.domain host 127.0.0.1 localhost 127.0.1.1 ip-server.domain.local ip-server 192.168.1.1 ip-server.domain.local ip-server

Secara historis, file ini telah digunakan sebagai pengganti layanan DNS. Saat ini, file tersebut juga dapat digunakan sebagai pengganti layanan DNS, tetapi hanya dengan syarat bahwa jumlah mesin di jaringan Anda diukur dalam satuan, dan bukan dalam puluhan atau ratusan, karena dalam hal ini, Anda harus mengontrol kebenaran file ini pada setiap mesin.

/etc/nama host

File ini berisi Nama host NetBIOS:

Ip-server:~# cat /etc/hostname ip-server

File ini menyimpan nama dan alamat jaringan lokal dan lainnya. Contoh:

Ip-server:~# cat /etc/networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 home-network 192.168.1.0

Saat menggunakan file ini, jaringan dapat dikelola berdasarkan nama. Misalnya, tambahkan rute bukan rute menambahkan 192.168.1.12 , Sebuah rute menambahkan.

/etc/nsswitch.conf

File mendefinisikan urutan pencarian nama host/networks, baris berikut bertanggung jawab untuk pengaturan ini:

Untuk host: host: file dns Untuk jaringan: jaringan: file

Parameter file menentukan untuk menggunakan file yang ditentukan (/etc/hosts Dan /etc/networks masing-masing), parameter dns menentukan untuk menggunakan layanan dns.

/etc/host.conf

File menentukan opsi resolusi nama untuk resolver

Ip-server:~# cat /etc/host.conf multi on

File ini memberi tahu pustaka resolv untuk mengembalikan semua alamat host valid yang ditemukan di file /etc/hosts, bukan hanya yang pertama.

/etc/resolv.conf

File ini mendefinisikan parameter nama jaringan ke mekanisme terjemahan alamat IP. Dalam bahasa sederhana mendefinisikan pengaturan DNS. Contoh:

Ip-server:~# cat /etc/resolv.conf nameserver 10.0.0.4 nameserver 10.0.0.1 cari domain.local

2 baris pertama menunjukkan server DNS. Baris ketiga menentukan domain pencarian. Jika, saat menyelesaikan nama, nama tersebut bukan nama FQDN, maka domain ini diganti sebagai "akhir". Misalnya, saat menjalankan perintah ping host, alamat ping diubah menjadi host.domain.local. Parameter lainnya dapat dibaca di man resolv.conf . Sangat sering, Linux menggunakan generasi dinamis dari file ini, menggunakan apa yang disebut. program /sbin/resolvconf. Program ini merupakan perantara antara layanan yang secara dinamis menyediakan server nama (misalnya, klien DHCP) dan layanan yang menggunakan data server nama. Untuk menggunakan file yang dibuat secara dinamis /etc/resolv.conf, Anda perlu menjadikan file ini sebagai tautan simbolis ke /etc/resolvconf/run/resolv.conf. Dalam beberapa distribusi, jalurnya mungkin berbeda, ini pasti akan ditulis dalam pria resolvconf.

Konfigurasi jaringan

Setelah membiasakan diri dengan file konfigurasi utama, Anda dapat melihat file . Perintah telah disebutkan di atas. ifup, ifdown, tetapi alat ini tidak cukup universal, misalnya, dalam distribusi RH, perintah ini tidak tersedia secara default. Selain itu, distribusi baru memiliki alat manajemen jaringan tingkat tinggi baru - , yang termasuk dalam paket iproute. Untuknya (paket iproute) saya persembahkan . Dan dalam posting saat ini saya tidak akan mempertimbangkannya. Perintah yang dijelaskan di bawah ini milik .

Jadi, untuk memastikan bahwa perintah tersebut akan berfungsi di semua distribusi Linux, Anda perlu menggunakan dua perintah dasar kuno. Ini adalah , dan arp. Tim pertama (bertanggung jawab untuk menyiapkan antarmuka jaringan(ip, topeng, gerbang), kedua () - pengaturan perutean, ketiga (arp) - manajemen meja arp. Saya ingin mencatat bahwa eksekusi perintah ini tanpa menonaktifkan skrip startup SystemV standar dari subsistem jaringan hanya akan membuat perubahan hingga reboot / restart pertama dari layanan jaringan, karena. jika Anda memikirkannya dengan otak Anda, Anda dapat memahami naskahnya /etc/init.d/networking di awal berikutnya, itu akan membaca ulang konfigurasi di atas dan menerapkan pengaturan lama. Dengan demikian, jalan keluar untuk mengatur pengaturan secara permanen adalah perintah ifconfig dengan parameter yang sesuai - masuk ke dalam, atau secara manual memperbaiki konfigurasi antarmuka jaringan yang sesuai.

Demikian pula, jika perintah ifconfig dengan opsi yang hilang(misalnya, hanya alamat IP), maka sisanya diselesaikan secara otomatis (misalnya, alamat broadcast ditambahkan secara default dengan alamat host yang diakhiri dengan 255 dan subnet mask default adalah 255.255.255.0).

Rute untuk interface yang tersedia di kernel modern selalu dimunculkan secara otomatis oleh kernel. Atau lebih tepatnya, rute langsung ke jaringan sesuai dengan pengaturan IP dan subnet di mana antarmuka yang dimunculkan terlihat dibentuk secara otomatis oleh kernel. Gerbang bidang (gerbang) untuk entri tersebut menunjukkan alamat antarmuka keluaran atau *. Dalam versi kernel yang lebih lama (jumlah kernel dari mana rute mulai naik secara otomatis - saya tidak akan memberi tahu Anda) perlu menambahkan rute secara manual.

Jika ada kebutuhan untuk mengatur rute, maka Anda perlu menggunakan . Anda dapat menambah dan menghapus rute dengan perintah ini, tetapi sekali lagi, ini hanya akan membantu sampai Anda memulai ulang /etc/init.d/networking (atau skrip jaringan lain dalam distribusi Anda). Agar rute dapat ditambahkan secara otomatis, perlu, seperti dengan perintah ifconfig, untuk menambahkan perintah untuk menambahkan rute ke rc.local, atau secara manual memperbaiki konfigurasi antarmuka jaringan yang sesuai (misalnya, di Deb - /etc/network/options).

Dengan aturan apa? rute ke jaringan terbentuk, saya ikut

Diagnostik Jaringan Linux

Ada sejumlah besar alat diagnostik jaringan di Linux, seringkali sangat mirip dengan yang dari Microsoft. Saya akan mempertimbangkan 3 utilitas diagnostik jaringan utama, yang tanpanya akan bermasalah untuk mengidentifikasi masalah.

Saya pikir utilitas ini akrab bagi hampir semua orang. Tugas utilitas ini adalah untuk mengirim disebut paket ICMP server jarak jauh, yang akan ditentukan dalam parameter perintah, server mengembalikan perintah yang dikirim, dan pingmenghitung waktu diperlukan untuk paket yang dikirim untuk mencapai server dan kembali. Sebagai contoh:

# ping ya.ru PING ya.ru (87.250.251.3) 56(84) byte data. 64 byte dari www.yandex.ru (87.250.251.3): icmp_seq=1 ttl=57 waktu=42,7 md dari www.yandex.ru (87.250.251.3): icmp_seq=3 ttl=57 waktu=42,5 md 64 byte dari www .yandex.ru (87.250.251.3): icmp_seq=4 ttl=57 waktu=42,5 md 64 byte dari www .yandex.ru (87.250.251.3): icmp_seq=5 ttl=57 waktu=41,9 md ^C --- ya statistik .ru ping --- 5 paket terkirim, 5 diterima, kehilangan paket 0%, waktu 4012 ms rtt min/ avg/max/mdev = 41.922/42.588/43.255/0.500ms

Seperti yang dapat dilihat dari contoh di atas, ping memberi kita banyak informasi berguna. Pertama-tama, kami menemukan bahwa kita bisa membuat koneksi dengan host ya.ru(terkadang mereka mengatakan bahwa "host ya.ru tersedia untuk kami"). Kedua, kita melihat bahwa DNS bekerja dengan benar, karena nama "ping" telah dikonversi dengan benar ke alamat IP (PING ya.ru (87.250.251.3)). Lebih jauh, di lapangan icmp_seq= mengatur penomoran paket yang dikirim. Setiap paket yang dikirim diberi nomor secara berurutan, dan jika ada "celah" dalam penomoran ini, maka ini akan memberi tahu kita bahwa koneksi dengan "ping" tidak stabil, dan itu juga dapat berarti bahwa server tujuan pengiriman paket kelebihan beban. Berdasarkan nilai waktu = kami melihat, berapa lama perjalanan paket? ke 87.250.251.3 dan kembali. Anda dapat menghentikan utilitas ping dengan menekan Ctrl+C.

Cara yang sama, utilitas ping menarik karena dapat memungkinkan Anda untuk melihat dengan tepat di mana masalah muncul. Katakanlah utilitas ping menampilkan pesan jaringan tidak dapat dijangkau atau pesan serupa lainnya. Ini kemungkinan besar menunjukkan konfigurasi sistem Anda yang salah. Dalam hal ini, Anda dapat mengirim paket ke alamat IP ISP untuk mencari tahu di mana masalah terjadi (antara PC lokal atau "di luar"). Jika Anda terhubung ke Internet melalui router, maka Anda dapat mengirim paket ke IP-nya. Dengan demikian, jika masalah sudah muncul pada tahap ini, ini menunjukkan konfigurasi sistem lokal yang salah, atau kerusakan kabel, jika router merespons dan server penyedia tidak, maka masalahnya ada di saluran komunikasi penyedia, dll. Terakhir, jika konversi nama ke IP gagal, maka Anda dapat memeriksa koneksi melalui IP, jika jawabannya benar, maka Anda dapat menebak bahwa masalahnya ada di DNS.

Perlu dicatat bahwa utilitas ini tidak selalu merupakan alat diagnostik yang andal. Server jarak jauh dapat memblokir respons terhadap permintaan ICMP.

rute jejak

Dalam istilah sederhana, tim disebut jejak rute. Seperti yang dapat Anda pahami dari namanya, utilitas ini akan menunjukkan rute mana paket-paket itu pergi ke host. utilitas traceroute agak mirip dengan ping, tetapi menampilkan informasi yang lebih menarik. Contoh:

# traceroute ya.ru traceroute ke ya.ru (213.180.204.3), maksimal 30 hop, paket 60 byte .kubtelecom.ru (213.132.64.65) 2.761 MS 5.787 MS 5.777 MS 3 LGW.KUBTELECOM.RU (213.132.75.54) 5.713 MS 5.701 MS 5.636 MS 4 kubtelecom-lgw.krasnodar.gldn.net (194.186.6.177) 81.430 MS 81.581 MS 81.687 MS 5 Cat26.Moscow.gldn.net (194.186.118) 47.789 MS 47.888 MS 48.011 MS 6 213.33.201.230 ( 213.33.201.230) 43.322 MS 41.783 MS 41.106 MS 7 carmine-red-vlan602.yandex.net (87.250. 242.206) 41.199 ms 42.578 ms 42.610 ms 8 www.yandex.ru (213.180.204.3) 43.185 ms 42.126 ms 42.679 ms

Seperti yang Anda lihat, Anda dapat melacak rute dari router penyedia 243-083-free.kubtelecom.ru (213.132.83.243) (Rusia Selatan) ke host terakhir di www.yandex.ru (213.180.204.3) di Moscow.

menggali

Utilitas ini mengirimkan kueri ke server DNS dan mengembalikan informasi tentang domain yang ditentukan. Contoh:

# gali @ns.kuban.ru roboti.ru ;<<>> DiG 9.3.6-P1<<>> @ns.kuban.ru roboti.ru ; (1 server ditemukan);; opsi global: cetak cmd ;; mendapat jawaban: ;; ->> KEPALA<<- opcode: QUERY, status: NOERROR, id: 64412 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;roboti.ru. IN A ;; ANSWER SECTION: roboti.ru. 448 IN A 72.52.4.90 ;; AUTHORITY SECTION: roboti.ru. 345448 IN NS ns1.sedoparking.com. roboti.ru. 345448 IN NS ns2.sedoparking.com. ;; Query time: 102 msec ;; SERVER: 62.183.1.244#53(62.183.1.244) ;; WHEN: Thu Feb 17 19:44:59 2011 ;; MSG SIZE rcvd: 94

perintah gali mengirim permintaan server DNS - ns.kuban.ru (@ns.kuban.ru- parameter ini opsional, dalam hal ini sumber informasi tentang DNS akan diambil dari server dari pengaturan sistem Anda) tentang nama domain roboti.ru. Akibatnya, saya menerima tanggapan, yang dapat kita lihat di bagian BAGIAN JAWABAN informasi tentang alamat IP domain, di bagian BAGIAN OTORITAS informasi tentang apa yang disebut. server DNS otoritatif. Baris ketiga dari bawah memberi tahu kita server mana yang memberikan respons.

Utilitas Diagnostik Lainnya

ping, dig, dan utilitas diagnostik lainnya dengan parameter dapat ditemukan di pos.

Menghubungkan kartu jaringan baru

Menghubungkan dan meluncurkan kartu jaringan baru melalui beberapa langkah:

1. Koneksi fisik kartu

3. Lihat output sistem untuk mendeteksi kartu jaringan baru:

Mari kita lihat outputnya SEBELUM menghubungkan kartu baru:

Server:~# dmesg | grep eth [ 4.720550] e1000: eth0: e1000_probe: Intel(R) PRO/1000 Koneksi Jaringan [ 5.130191] e1000: eth1: e1000_probe: Intel(R) PRO/1000 Koneksi Jaringan [ 15.285527] e1000: eth2: e1000_watchdog: NIC Link is Hingga 1000 Mbps Full Duplex, Kontrol Aliran: RX [ 15.681056] e1000: eth0: e1000_watchdog: NIC Link Naik 1000 Mbps Full Duplex, Kontrol Aliran: RX

output menunjukkan bahwa sistem memiliki 2 kartu jaringan eth1 dan eth2. Kami menghubungkan yang ketiga dan melihat hasilnya:

Server:~# dmesg | grep eth [ 4.720513] e1000: eth0: e1000_probe: Intel(R) PRO/1000 Koneksi Jaringan [ 5.132029] e1000: eth1: e1000_probe: Intel(R) PRO/1000 Koneksi Jaringan [ 5.534684] e1000: eth2: e1000_probe: Intel(R ) PRO/1000 Sambungan Jaringan [ 39.274875] udev: mengganti nama antarmuka jaringan eth2 menjadi eth3 [ 39.287661] udev: mengganti nama antarmuka jaringan eth1_rename_ren menjadi eth2 [ 45.670744] e1000: eth2: e1000_watchdog: NIC Tautan Naik 1000 Mbps Full Duplex, Kontrol Aliran: RX [ 46.237232] e1000: eth0: e1000_watchdog: NIC Link Naik 1000 Mbps Full Duplex, Kontrol Aliran: RX [ 96.977468] e1000: eth3: e1000_watchdog: NIC Link Naik 1000 Mbps Full Duplex, Kontrol Aliran: RX

DI DALAM dmesg kami melihat bahwa kartu jaringan baru telah muncul - eth3, yang sebenarnya adalah eth2, tetapi telah diubah namanya oleh pengelola perangkat udev menjadi eth3, dan eth2 sebenarnya adalah eth1 yang diubah namanya (kita akan berbicara tentang udev di posting terpisah). Munculnya jaringan baru kami di dmesg memberitahu kita bahwa kartu jaringan didukung inti dan benar diputuskan. Satu-satunya yang tersisa adalah menyiapkan antarmuka baru di /etc/network/interfaces(Debian) karena peta yang diberikan tidak diinisialisasi oleh skrip awal /etc/init.d/network. ifconfig melihat kartu ini:

Server:~# ifconfig eth3 eth3 Link encap:Ethernet HWaddr 08:00:27:5f:34:ad inet6 addr: fe80::a00:27ff:fe5f:34ad/64 Cakupan:Link UP MENJALANKAN MULTICAST MTU:1500 Metrik: 1 paket RX:311847 error:0 jatuh:0 overrun:0 frame:0 paket TX:126 error:0 jatuh:0 overrun:0 operator:0 tabrakan:0 txqueuelen:1000 RX byte:104670651 (99,8 MiB) TX byte: 16184 (15,8 KiB)

tapi selain itu - tidak mengkonfigurasi. Cara mengkonfigurasi kartu jaringan telah dibahas di atas.

Ringkasan

Saya pikir itu saja untuk hari ini. Ketika saya mulai menulis artikel ini, saya pikir saya akan cocok dengan satu posting, tetapi ternyata sangat besar. Oleh karena itu, diputuskan untuk memecah artikel menjadi dua. Secara total, saya mencoba untuk menyatakan, bukan langkah-demi-langkah cara mengkonfigurasi jaringan, tetapi untuk menyatakan prinsip dan menjelaskan pemahaman tentang bagaimana jaringan dimulai dan bekerja di Linux. Saya sangat berharap saya berhasil. Saya akan senang dengan komentar dan tambahan Anda. Seiring waktu, saya akan melengkapi artikel.