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!