GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Anda perlu menghapus ifconfig untuk ip

Untuk waktu yang lama, ifconfig perintah adalah metode default untuk mengkonfigurasi antarmuka jaringan. Ini melayani pengguna Linux dengan baik, tetapi jaringan itu rumit, dan perintah untuk mengkonfigurasinya harus kuat. ip command adalah perintah jaringan default baru untuk sistem modern, dan dalam artikel ini, saya akan menunjukkan cara menggunakannya.

ip perintah secara fungsional diatur pada dua lapisan tumpukan jaringan OSI:Lapisan 2 (lapisan tautan data) dan Lapisan 3 (jaringan atau lapisan IP). Ia melakukan semua pekerjaan di net-tools yang lama paket.

Menginstal ip

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

ip perintah disertakan dalam iproute2util kemasan. Ini mungkin sudah termasuk dalam distribusi Linux Anda. Jika tidak, Anda dapat menginstalnya dari repositori perangkat lunak distro Anda.

Membandingkan penggunaan ipconfig dan ip

ip dan ipconfic perintah dapat digunakan untuk mengkonfigurasi antarmuka jaringan, tetapi mereka melakukan hal-hal yang berbeda. Saya akan membandingkan cara melakukan tugas umum dengan yang lama (ipconfig ) dan baru (ip ) perintah.

Melihat antarmuka jaringan dan alamat IP

Jika Anda ingin melihat alamat IP host atau melihat informasi antarmuka jaringan, ifconfig lama perintah, tanpa argumen, memberikan ringkasan yang bagus:

$ ifconfig 
                                                                                                
eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500                                                                 
       ether bc:ee:7b:5e:7d:d8  txqueuelen 1000  (Ethernet)                                                       
       RX packets 0  bytes 0 (0.0 B)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 0  bytes 0 (0.0 B)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
       inet 127.0.0.1  netmask 255.0.0.0
       inet6 ::1  prefixlen 128  scopeid 0x10<host>
       loop  txqueuelen 1000  (Local Loopback)
       RX packets 41  bytes 5551 (5.4 KiB)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 41  bytes 5551 (5.4 KiB)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
       inet 10.1.1.6  netmask 255.255.255.224  broadcast 10.1.1.31
       inet6 fdb4:f58e:49f:4900:d46d:146b:b16:7212  prefixlen 64  scopeid 0x0<global>
       inet6 fe80::8eb3:4bc0:7cbb:59e8  prefixlen 64  scopeid 0x20<link>
       ether 08:71:90:81:1e:b5  txqueuelen 1000  (Ethernet)
       RX packets 569459  bytes 779147444 (743.0 MiB)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 302882  bytes 38131213 (36.3 MiB)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ip . baru perintah memberikan hasil yang serupa, tetapi perintahnya adalah ip address show , atau cukup ip a singkatnya:

$ ip a 

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
   inet6 ::1/128 scope host  
      valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
   link/ether bc:ee:7b:5e:7d:d8 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
   link/ether 08:71:90:81:1e:b5 brd ff:ff:ff:ff:ff:ff
   inet 10.1.1.6/27 brd 10.1.1.31 scope global dynamic wlan0
      valid_lft 83490sec preferred_lft 83490sec
   inet6 fdb4:f58e:49f:4900:d46d:146b:b16:7212/64 scope global noprefixroute dynamic  
      valid_lft 6909sec preferred_lft 3309sec
   inet6 fe80::8eb3:4bc0:7cbb:59e8/64 scope link  
      valid_lft forever preferred_lft forever

Tambahkan alamat IP

Untuk menambahkan alamat IP ke antarmuka dengan ifconfig , perintahnya adalah:

$ ifconfig eth0 add 192.9.203.21

Perintahnya mirip dengan ip :

$ ip address add 192.9.203.21 dev eth0

Sub-perintah di ip dapat dipersingkat, jadi perintah ini sama validnya:

$ ip addr add 192.9.203.21 dev eth0

Anda dapat membuatnya lebih pendek:

$ ip a add 192.9.203.21 dev eth0

Hapus alamat IP

Kebalikan dari menambahkan alamat IP adalah menghapusnya.

Dengan ifconfig , sintaksnya adalah:

$ ifconfig eth0 del 192.9.203.21

ip sintaks perintah adalah:

$ ip a del 192.9.203.21 dev eth0

Aktifkan atau nonaktifkan multicast

Mengaktifkan (atau menonaktifkan) multicast pada antarmuka dengan ifconfig terjadi dengan multicast argumen:

# ifconfig eth0 multicast

Dengan ip , gunakan set sub-perintah dengan perangkat (dev ) dan Boolean atau toggle multicast pilihan:

# ip link set dev eth0 multicast on

Mengaktifkan atau menonaktifkan jaringan

Setiap sysadmin akrab dengan trik lama "matikan lalu nyalakan lagi" untuk memperbaiki masalah. Dalam hal antarmuka jaringan, itu berarti membawa jaringan ke atas atau ke bawah.

ifconfig perintah melakukan ini dengan up atau down kata kunci:

# ifconfig eth0 up

Atau Anda dapat menggunakan perintah khusus:

# ifup eth0

ip perintah menggunakan set subperintah untuk mengatur antarmuka ke up atau down status:

# ip link set eth0 up

Mengaktifkan atau menonaktifkan Address Resolution Protocol (ARP)

Dengan ifconfig , Anda mengaktifkan ARP dengan mendeklarasikannya:

# ifconfig eth0 arp

Dengan ip , Anda menyetel arp properti sebagai on atau off :

# ip link set dev eth0 arp on

Pro dan kontra dari ip dan ipconfig

ip perintah lebih fleksibel dan secara teknis lebih efisien daripada ifconfig karena menggunakan Netlink soket daripada ioctl panggilan sistem.

ip perintah mungkin tampak lebih bertele-tele dan lebih kompleks daripada ifconfig , tapi itulah salah satu alasan mengapa ini lebih fleksibel. Setelah Anda mulai menggunakannya, Anda akan merasakan logika internalnya (misalnya, menggunakan set alih-alih campuran deklarasi atau pengaturan yang tampaknya sewenang-wenang).

Akhirnya, ifconfig sudah usang (misalnya, tidak memiliki dukungan penuh untuk ruang nama jaringan), dan ip dirancang untuk jaringan modern. Cobalah, pelajari, gunakan. Anda akan senang melakukannya!


Linux
  1. 6 opsi untuk tcpdump yang perlu Anda ketahui

  2. Ruang Cadangan Untuk Root Pada Sistem File – Mengapa?

  3. Perlu Untuk `builtin` Builtin?

  1. Mengapa kebutuhan saya akan kontrol membuat saya beralih ke Linux

  2. Mengapa kita membutuhkan file .so.1 di Linux?

  3. Apakah saya perlu menulis halaman manual untuk pustaka C?

  1. Apa yang dapat dilakukan shell dotfile untuk Anda

  2. Hashing Kata Sandi Dan Mengapa Kami Membutuhkannya

  3. Apakah Anda Membutuhkan Shell Untuk Scp?