GNU/Linux >> Belajar Linux >  >> Linux

7 perintah jaringan Linux yang harus diketahui oleh setiap sysadmin

Artikel ini adalah yang pertama dalam seri yang berpusat di sekitar rekomendasi perintah 'bersumber dari kerumunan'. Saya bertanya kepada sekelompok kontributor inti kami apa perintah Linux favorit mereka, dan tanggapannya luar biasa. Kami menerima 46 perintah individu, dan banyak di antaranya digarisbawahi oleh banyak pengiriman.

Seri ini mewakili daftar lengkap, dipecah berdasarkan kategori. Saya telah menjuluki tujuh perintah pertama ini "Perintah jaringan yang harus diketahui semua orang."

Catatan Editor :Evans Amoany memberikan informasi perintah dan contoh. Salah satu Sudoer kami dan admin *nix yang berbakat. Berteriak kepada Evans karena melakukan pekerjaan berat di sini.

[ Anda mungkin juga menikmati: Jaringan Linux:13 kegunaan untuk netstat ]

ip

ip command adalah salah satu perintah dasar yang dibutuhkan setiap administrator dalam pekerjaan sehari-hari, mulai dari menyiapkan sistem baru dan menetapkan IP hingga memecahkan masalah sistem yang ada. ip perintah dapat menampilkan informasi alamat, memanipulasi perutean, plus menampilkan jaringan berbagai perangkat, antarmuka, dan terowongan.

Sintaksnya adalah sebagai berikut:

ip

OBJECT adalah bagian terpenting dari sinopsis, dan berikut ini didukung (beberapa dihilangkan untuk singkatnya):

address - alamat protokol (IPv4 atau IPv6) pada perangkat.

  • terowongan - terowongan melalui IP
  • rute - entri tabel perutean
  • aturan - aturan dalam basis data kebijakan perutean
  • vrf - mengelola perutean virtual dan perangkat penerusan
  • xfrm - mengelola kebijakan IPSec

Berikut adalah beberapa kasus penggunaan umum untuk ip perintah.

Untuk menampilkan alamat IP yang ditetapkan ke antarmuka di server Anda:

[root@server ~]# ip address show 

Untuk menetapkan IP ke antarmuka, misalnya, enps03 :

[root@server ~]# ip address add 192.168.1.254/24 dev enps03

Untuk menghapus IP pada antarmuka:

[root@server ~]# ip address del 192.168.1.254/24 dev enps03

Ubah status antarmuka dengan membawa antarmuka eth0 daring:

[root@server ~]# ip link set eth0 up

Ubah status antarmuka dengan membawa antarmuka eth0 offline:

[root@server ~]# ip link set eth0 down

Ubah status antarmuka dengan mengubah MTU eth0 :

[root@server ~]# ip link set eth0 mtu 9000

Ubah status antarmuka dengan mengaktifkan mode promiscuous untuk eth0 :

[root@server ~]# ip link set eth0 promisc on

Tambahkan rute default (untuk semua alamat) melalui gateway lokal 192.168.1.254 yang dapat dijangkau pada perangkat eth0 :

[root@server ~]# ip route add default via 192.168.1.254 dev eth0

Tambahkan rute ke 192.168.1.0/24 melalui gateway di 192.168.1.254:

[root@server ~]# ip route add 192.168.1.0/24 via 192.168.1.254

Tambahkan rute ke 192.168.1.0/24 yang dapat dijangkau di perangkat eth0 :

[root@server ~]# ip route add 192.168.1.0/24 dev eth0

Hapus rute untuk 192.168.1.0/24 melalui gateway di 192.168.1.254:

[root@server ~]# ip route delete 192.168.1.0/24 via 192.168.1.254

Menampilkan rute yang diambil untuk IP 10.10.1.4:

[root@server ~]# ip route get 10.10.1.4

ifconfig

ifconfig perintah adalah/adalah pokok di banyak sabuk alat sysadmin untuk mengonfigurasi dan memecahkan masalah jaringan. Sejak itu telah digantikan oleh ip perintah yang dibahas di atas. Namun, jika Anda ingin informasi lebih lanjut, lihat artikel kami yang diterbitkan sebelumnya di sini.

mtr

MTR (Matt's traceroute) adalah program dengan antarmuka baris perintah yang berfungsi sebagai alat diagnostik dan pemecahan masalah jaringan. Perintah ini menggabungkan fungsionalitas ping dan traceroute perintah. Sama seperti traceroute , mtr perintah akan menunjukkan rute dari komputer ke host yang ditentukan. mtr menyediakan banyak statistik tentang setiap hop, seperti waktu respons dan persentase. Dengan mtr perintah, Anda akan mendapatkan informasi lebih lanjut tentang rute dan dapat melihat perangkat bermasalah di sepanjang jalan. Jika Anda melihat peningkatan waktu respons atau kehilangan paket secara tiba-tiba, maka jelas, ada tautan yang buruk di suatu tempat.

Sintaks perintahnya adalah sebagai berikut:

mtr hostname/IP

Mari kita lihat beberapa kasus penggunaan umum.

mtr dasar perintah menunjukkan statistik, termasuk setiap hop (nama host) dengan waktu dan kerugian%:

[root@server ~]# mtr google.com

Tampilkan alamat IP numerik (jika Anda menggunakan -g , Anda akan mendapatkan alamat IP (angka) alih-alih nama host):

[root@server ~]# mtr -g google.com

Tampilkan juga alamat IP numerik dan nama host:

[root@server ~]# mtr -b google.com

Atur jumlah ping yang ingin Anda kirim:

[root@server ~]# mtr -c 10 google.com

Dapatkan laporan dari mtr hasil perintah:

[root@server ~]# mtr -r -c 10 google.com > mtr-command-google-output

atau:

[root@server ~]# mtr -rw -c 10 google.com > mtr-command-google-output

Paksa penggunaan TCP alih-alih ICMP:

[root@server ~]# mtr –tcp google.com

Paksa penggunaan UDP alih-alih ICMP:

[root@server ~]# mtr –udp google.com

Tetapkan jumlah hop maksimum:

[root@server ~]# mtr -m 35 216.58.223.78

Tentukan ukuran paket:

[root@server ~]# mtr -r -s 50 google.com

Cetak ke keluaran CSV:

[root@server ~]# mtr –csv google.com

Cetak ke keluaran XML:

[root@server ~]# mtr –xml google.com

tcpdump

tcpdump perintah dirancang untuk menangkap dan menampilkan paket.

Anda dapat menginstal tcpdump dengan perintah di bawah ini:

[root@server ~]# dnf install -y tcpdump

Sebelum memulai pengambilan apa pun, Anda perlu mengetahui antarmuka mana yang tcpdump bisa menggunakan. Anda perlu menggunakan sudo atau memiliki akses root dalam kasus ini.

[root@server ~]# tcpdump -D

  1 eth0
  2 nflog
  3 nfqueue
  4 usbmon1
  5 any
  6 lo (Loopback)

Jika Anda ingin mencatat lalu lintas di eth0 , Anda dapat memulainya dengan tcpdump -i eth0 contoh keluaran:

[root@server ~]# tcpdump -i eth0
[root@server ~]# tcpdump -i eth0 -c 10

Tangkap lalu lintas ke dan dari satu host

Anda dapat memfilter lalu lintas yang berasal dari host tertentu. Misalnya, untuk menemukan lalu lintas yang datang dan pergi ke 8.8.8.8, gunakan perintah:

[root@server ~]# tcpdump -i eth0 -c 10 host 8.8.8.8

Untuk lalu lintas yang berasal dari 8.8.8.8, gunakan:

[root@server ~]# tcpdump -i eth0 src host 8.8.8.8

Untuk lalu lintas keluar menuju 8.8.8.8, gunakan:

[root@server ~]# tcpdump -i eth0 dst host 8.8.8.8

Tangkap lalu lintas ke dan dari jaringan

Anda juga dapat menangkap lalu lintas ke dan dari jaringan tertentu menggunakan perintah di bawah ini:

[root@server ~]# tcpdump -i eth0 net 10.1.0.0 mask 255.255.255.0

atau:

[root@server ~]# tcpdump -i eth0 net 10.1.0.0/24

Anda juga dapat memfilter berdasarkan sumber atau tujuan.

Berdasarkan sumbernya (lalu lintas datang dari):

[root@server ~]# tcpdump -i eth0 src net 10.1.0.0/24

Berdasarkan tujuan (lalu lintas menuju):

[root@server ~]# tcpdump -i eth0 dst net 10.1.0.0/24

Mencatat lalu lintas ke dan dari nomor port

Tangkap hanya lalu lintas port DNS 53:

[root@server ~]# tcpdump -i eth0 port 53

Untuk host tertentu,

[root@server ~]# tcpdump -i eth0 host 8.8.8.8 and port 53

Untuk menangkap lalu lintas HTTPS saja,

[root@server ~]# tcpdump -i eth0 -c 10 host www.google.com and port 443

Untuk menangkap semua port kecuali port 80 dan 25,

[root@server ~]# tcpdump -i eth0 port not 53 and not 25

netstat

netstat alat untuk mencetak koneksi jaringan, tabel perutean, statistik antarmuka, koneksi penyamaran, dan keanggotaan multicast. Utilitas ini adalah bagian dari paket net-tool, seperti halnya ifconfig . Dalam paket iproute2 baru, ss alat digunakan untuk mencapai tujuan yang sama.

Jika netstat tidak ditemukan di sistem Anda, instal dengan perintah ini:

[root@server ~]# dnf install net-tools

Penggunaan utama netstat tanpa parameter apa pun:

[root@server ~]# netstat

Untuk penggunaan lanjutan, perluas netstat perintah dengan opsi:

netstat <options>

Atau daftar opsi satu per satu:

netstat <option 1> <option 2> <option 3>

Untuk membuat daftar semua port dan koneksi terlepas dari status atau protokolnya, gunakan:

[root@server ~]# netstat -a

Daftar semua port TCP dengan menjalankan:

[root@server ~]# netstat -at

Daftar semua port UDP dengan:

[root@server ~]# netstat -au

Untuk mengembalikan daftar hanya port yang mendengarkan untuk semua protokol, gunakan:

[root@server ~]# netstat -l

Daftar semua port TCP yang mendengarkan dengan:

[root@server ~]# netstat -lt

Kembalikan hanya mendengarkan port UDP dengan menjalankan:

[root@server ~]# netstat -lu

Untuk membuat daftar port mendengarkan UNIX, gunakan:

[root@server ~]# netstat -lx

Tampilkan statistik untuk semua port terlepas dari protokolnya dengan:

[root@server ~]# netstat -s

Daftar statistik untuk port TCP hanya dengan:

[root@server ~]# netstat -st

Untuk melihat koneksi TCP dengan nama PID/Program yang terdaftar, gunakan:

[root@server ~]# netstat -tp

Untuk menemukan proses yang menggunakan nomor port tertentu, jalankan:

[root@server ~]# netstat -an | grep ‘:<port number>’

nslookup

Gunakan nslookup utilitas untuk menanyakan server nama Internet secara interaktif. Gunakan untuk melakukan kueri DNS dan menerima nama domain atau alamat IP, atau catatan DNS spesifik lainnya.

Perhatikan contoh umum berikut.

Untuk menemukan catatan A dari а domain:

[root@server ~]# nslookup example.com

Untuk memeriksa catatan NS domain:

[root@server ~]# nslookup -type=ns example.com

Untuk menemukan data MX yang bertanggung jawab atas pertukaran email:

[root@server ~]# nslookup -query=mx example.com

Untuk menemukan semua data DNS domain yang tersedia:

[root@server ~]# nslookup -type=any example.com

Untuk memeriksa penggunaan server DNS tertentu (dalam hal ini, kueri menggunakan server nama khusus ns1.nsexample.com):

[root@server ~]# nslookup example.com ns1.nsexample.com

Memeriksa data DNS A untuk melihat IP domain adalah praktik umum, tetapi terkadang Anda perlu memverifikasi apakah alamat IP terkait dengan domain tertentu. Untuk tujuan itu, Anda memerlukan pencarian DNS terbalik.

[root@server ~]# nslookup 10.20.30.40

ping

Ping adalah alat yang memverifikasi konektivitas tingkat IP ke komputer TCP/IP lain dengan mengirimkan pesan Echo Request Internet Control Message Protocol (ICMP). Tanda terima pesan Echo Reply yang sesuai ditampilkan, bersama dengan waktu pulang pergi. Ping adalah perintah TCP/IP utama yang digunakan untuk memecahkan masalah konektivitas, jangkauan, dan resolusi nama.

ping Simple sederhana perintah hanya mengambil satu parameter:Nama host atau alamat IP host yang ingin Anda verifikasi. ping sederhana contohnya seperti di bawah ini:

[root@server ~]# ping google.com
PING google.com (216.58.206.174) 56(84) bytes of data.
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=1 ttl=56 time=10.7 ms
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=2 ttl=56 time=10.2 ms
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=3 ttl=56 time=10.4 ms
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=4 ttl=56 time=10.4 ms
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=5 ttl=56 time=17.3 ms
^C
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 10.219/11.844/17.381/2.773 ms

Anda harus menghentikan ping perintah dengan menekan CTRL+C . Jika tidak, itu akan ping sampai Anda menghentikannya. Setelah setiap ping perintah, itu akan menampilkan laporan ringkasan dengan informasi berikut:

  • Min:Waktu minimum yang diperlukan untuk mendapatkan respons dari host yang telah di-ping dari pihak Anda.
  • Rata-rata:Waktu rata-rata yang diperlukan untuk mendapatkan respons dari host yang telah di-ping dari pihak Anda.
  • Maks:Waktu maksimum yang diperlukan untuk mendapatkan respons dari host yang telah di-ping dari pihak Anda.

Juga, Anda akan melihat TTL, yang merupakan singkatan dari Time To Live. Ping menggunakan nilai TTL numerik untuk mencoba mencapai komputer host tertentu melalui jalur rute. Ini juga dikenal sebagai batas hop.

Biasanya, saat Anda menjalankan ping simple sederhana perintah tanpa melewati parameter tambahan apa pun, Linux akan ping yang menjadi tuan rumah untuk waktu yang tak terbatas. Jika Anda ingin ping host sepuluh kali, gunakan perintah berikut:

[root@server ~]# ping -c 10 google.com

Gunakan opsi -q untuk hanya melihat ping ringkasan statistik:

[root@server ~]# ping -c 10 google.com

Pada sistem dengan banyak antarmuka, Anda dapat menentukan antarmuka untuk ping perintah untuk digunakan. Jika sistem memiliki keduanya eth0 dan eth1 dan saya ingin ping menggunakan eth0 :

[root@server ~]# ping -I eth0 google.com

Atau gunakan alamat di antarmuka, dengan asumsi antarmuka sebagai 10.233.201.45 sebagai IP:

[root@server ~]# ping -I 10.233.201.45 google.com

Anda juga dapat ping dan tentukan versi IP sebagai v4 atau v6:

[root@server ~]# ping -4 google.com
[root@server ~]# ping -6 google.com

Saat melakukan ping ke host, Anda akan menemukan keluaran yang berbeda dari ping hasil, termasuk tiga contoh berikut.

Host Tujuan Tidak Dapat Dijangkau

Alasan terbaik yang mungkin adalah tidak ada rute dari sistem host lokal dan ke host tujuan yang diinginkan, atau router jarak jauh melaporkan bahwa ia tidak memiliki rute ke host tujuan.

Waktu permintaan habis

Hasil ini berarti bahwa tidak ada pesan Echo Reply yang diterima dalam waktu default satu detik atau waktu yang Anda tetapkan saat Anda melakukan ping ke host tersebut. Hal ini dapat disebabkan oleh banyak penyebab yang berbeda; yang paling umum termasuk kemacetan jaringan, kegagalan permintaan ARP, pemfilteran paket/firewall, dll.

Host Tidak Dikenal/Permintaan Ping Tidak Dapat Menemukan Host

Mungkin Anda salah mengeja nama host atau host tidak ada sama sekali di jaringan.

Anda harus memiliki 0% packet loss untuk setiap ping menghasilkan latensi yang baik atau waktu respons yang lebih rendah. Bergantung pada media transmisi (UTP, kabel serat optik, Wi-Fi) yang Anda gunakan, latensi Anda akan berbeda.

[ Lembar contekan gratis:Dapatkan daftar utilitas dan perintah Linux untuk mengelola server dan jaringan. ] 

Menantikan

Anda harus menambahkan perintah dan contoh ini ke dalam rutinitas saat mengonfigurasi dan memecahkan masalah jaringan Anda sendiri. Jika menurut Anda jenis artikel ini bermanfaat, pastikan untuk menghubungi kami dan beri tahu kami. Juga, perhatikan bagian dua dari daftar perintah komunitas kami. Berikutnya adalah 16 perintah umum Linux yang tidak dapat Anda lakukan tanpanya.


Linux
  1. 3 keterampilan yang harus dibawa oleh setiap sysadmin Linux ke meja

  2. 6 opsi perintah OpenSSL yang harus diketahui oleh setiap sysadmin

  3. 17 perintah Linux yang harus diketahui setiap sysadmin

  1. 10 perintah yang harus diketahui setiap pengguna Linux

  2. Daftar Perintah Linux yang Harus Diketahui Setiap Pengembang

  3. 10 Perintah Mematikan yang Tidak Boleh Anda Jalankan di Linux

  1. Tema suara di Linux:Apa yang harus diketahui setiap pengguna

  2. 34 Perintah Dasar Linux Yang Harus Diketahui Setiap Pengguna

  3. Perintah Nginx Yang Harus Anda Ketahui