Linux Terminal 201: ifconfig vs ip - HakTip 154
Spisu treści:
- Jak korzystać z polecenia ip
- Wyświetlanie i modyfikowanie adresów IP
- Wyświetl informacje o wszystkich adresach IP
- Wyświetl informacje o jednym interfejsie sieciowym
- Przypisz adresy IP do interfejsu
- Przypisz wiele adresów IP do tego samego interfejsu
- Usuń / Usuń adres IP z interfejsu
- Wyświetlanie i modyfikowanie interfejsów sieciowych
- Wyświetl informacje o interfejsach sieciowych
- Zmień status interfejsu GÓRA / DÓŁ
- Wyświetlanie i zmiana tabeli routingu
- Wyświetl tabelę routingu
- Dodaj nową trasę
- Usuń trasę
- Wniosek
Polecenie
ip
to potężne narzędzie do konfigurowania interfejsów sieciowych, które powinien znać każdy administrator systemu Linux. Można go używać do zwiększania lub zmniejszania interfejsów, przypisywania i usuwania adresów oraz tras zarządzania pamięcią podręczną ARP i wiele więcej.
W tym samouczku pokażemy, jak korzystać z polecenia
ip
poprzez praktyczne przykłady i szczegółowe objaśnienia najczęściej używanych opcji.
Jak korzystać z polecenia ip
Narzędzie
ip
jest częścią pakietu iproute2, który jest instalowany we wszystkich nowoczesnych dystrybucjach Linuksa.
Składnia polecenia
ip
jest następująca:
ip OBJECT COMMAND
OBJECT to typ obiektu, którym chcesz zarządzać. Najczęściej używanymi obiektami (lub podkomendami) są:
-
link
(l
) - Wyświetl i zmodyfikuj interfejsy sieciowe.address
(a
) - Wyświetl i zmodyfikuj adresy IP.route
(r
) - Wyświetl i zmień tabelę routingu.neigh
(n
) - Wyświetlaj obiekty sąsiednie i manipuluj nimi (tablica ARP).
Obiekt może być napisany w całości lub w skrócie (krótkiej) formie. Aby wyświetlić listę poleceń i argumentów dla każdego typu obiektu
ip OBJECT help
. każda podkomenda
Podczas konfigurowania interfejsów sieciowych musisz wykonać polecenia jako użytkownik root lub użytkownik z uprawnieniami sudo. W przeciwnym razie polecenie wydrukuje
RTNETLINK answers: Operation not permitted
Konfiguracje ustawione za pomocą polecenia
ip
nie są trwałe. Po ponownym uruchomieniu systemu wszystkie zmiany zostaną utracone. W przypadku ustawień stałych należy edytować pliki konfiguracyjne specyficzne dla dystrybucji lub dodać polecenia do skryptu uruchamiania.
Wyświetlanie i modyfikowanie adresów IP
Podczas pracy z obiektem
addr
polecenia mają następującą postać:
ip addr ADDRESS dev IFNAME
Najczęściej używane POLECENIA obiektu
addr
to:
show
,
add
i
del
.
Wyświetl informacje o wszystkich adresach IP
Aby wyświetlić listę wszystkich interfejsów sieciowych i powiązany adres IP, wpisz następującą komendę:
ip addr show
Dane wyjściowe będą wyglądać mniej więcej tak:
1: lo: 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 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever
1: lo: 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 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever
1: lo: 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 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever
Otrzymasz to samo, jeśli wpiszesz pominąć polecenie
show
i wpisz:
ip addr
.
Wyświetl informacje o jednym interfejsie sieciowym
Aby uzyskać informacje o określonym interfejsie sieciowym, użyj
ip addr show dev
a następnie nazwy urządzenia. Na przykład, aby
eth0
zapytanie do
eth0
, wpisz:
Przypisz adresy IP do interfejsu
Aby przypisać adres IP do interfejsu, użyj następującej składni:
ip addr add ADDRESS dev IFNAME
Gdzie
IFNAME
to nazwa interfejsu, a
ADDRESS
to adres IP, który chcesz przypisać do interfejsu.
Aby dodać adres
192.168.121.45
z maską 24 do urządzenia
eth0
, wpisz:
sudo ip address add 192.168.121.45/24 dev eth0
Po pomyślnym zakończeniu polecenie nie wyświetli żadnych danych wyjściowych. Jeśli interfejs nie istnieje, pojawi się komunikat
Cannot find device "eth0"
.
Przypisz wiele adresów IP do tego samego interfejsu
Dzięki
ip
możesz przypisać wiele adresów do tego samego interfejsu. Na przykład:
sudo ip address add 192.168.121.241/24 dev eth0
sudo ip address add 192.168.121.45/24 dev eth0
Aby potwierdzić, że adresy IP są przypisane, wpisz
ip -4 addr show dev eth0
lub
ip -4 a show dev eth0
:
2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 3515sec preferred_lft 3515sec inet 192.168.121.45/24 scope global secondary eth0 valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 3515sec preferred_lft 3515sec inet 192.168.121.45/24 scope global secondary eth0 valid_lft forever preferred_lft forever
Usuń / Usuń adres IP z interfejsu
Składnia usuwania adresu IP z interfejsu jest następująca:
ip addr dev ADDRESS dev IFNAME
IFNAME to nazwa interfejsu, a ADRES to adres IP, który chcesz usunąć z interfejsu.
Aby usunąć adres
192.168.121.45/24
z urządzenia eth0 wpisz:
sudo ip address del 192.168.121.45/24 dev eth0
Wyświetlanie i modyfikowanie interfejsów sieciowych
Aby zarządzać stanem interfejsów sieciowych i wyświetlać je, użyj obiektu
link
.
Najczęściej używanymi poleceniami podczas pracy z obiektami
link
są:
show
,
set
,
add
i
del
.
Wyświetl informacje o interfejsach sieciowych
Aby wyświetlić listę wszystkich interfejsów sieciowych, wpisz następujące polecenie:
ip link show
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
W przeciwieństwie do
ip addr show
,
ip link show
nie drukuje informacji o adresach IP powiązanych z urządzeniem.
Aby uzyskać informacje o określonym interfejsie sieciowym, użyj
ip link show dev
a następnie nazwy urządzenia. Na przykład, aby
eth0
zapytanie do
eth0
, wpisz:
ip link show dev eth0
2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
Zmień status interfejsu GÓRA / DÓŁ
Aby zwiększyć lub zmniejszyć liczbę interfejsów, użyj
ip link set dev
a następnie nazwy urządzenia i żądanego stanu:
ip link set dev {DEVICE} up
Na przykład, aby wprowadzić interfejs
eth0
online, wpisz:
ip link set eth0 up
I przynieść, jeśli offline
Wyświetlanie i zmiana tabeli routingu
Aby przypisać, usunąć i wyświetlić tabelę routingu jądra, użyj obiektu
route
. Najczęściej używanymi poleceniami podczas pracy z obiektami tras są:
list
,
add
i
del
.
Wyświetl tabelę routingu
Aby uzyskać listę wpisów trasy jądra, użyj jednego z następujących poleceń:
ip route ip route list ip route list SELECTOR
Jeśli zostanie użyte bez
SELECTOR
polecenie wyświetli wszystkie wpisy tras w jądrze:
ip route list
default via 192.168.121.1 dev eth0 proto dhcp src 192.168.121.241 metric 100 192.168.121.0/24 dev eth0 proto kernel scope link src 192.168.121.241 192.168.121.1 dev eth0 proto dhcp scope link src 192.168.121.241 metric 100
Aby wyświetlić tylko routing dla określonej sieci, na przykład
172.17.0.0/16
, wpisz:
ip r list 172.17.0.0/16
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
Dodaj nową trasę
Aby dodać nowy wpis do tabeli routingu, użyj polecenia
route add
a następnie nazwy sieci lub urządzenia.
Dodaj trasę do 192.168.121.0/24 przez bramę 192.168.121.1
ip route add 192.168.121.0/24 via 192.168.121.1
Dodaj trasę do 192.168.121.0/24, do której można dotrzeć na urządzeniu eth0.
ip route add 192.168.121.0/24 dev eth0
Aby dodać domyślną trasę, użyj słowa kluczowego
default
. Następujące polecenie doda domyślną trasę przez bramę lokalną
192.168.121.1
której można dotrzeć na urządzeniu
eth0
.
ip route add default via 192.168.121.1 dev eth0
Usuń trasę
Aby usunąć wpis z tabeli routingu, użyj polecenia
route add
. Składnia usuwania trasy jest taka sama jak podczas dodawania.
Następujące polecenie usunie domyślną trasę:
ip route del default
Usuń trasę dla 192.168.121.0/24 przez bramę 192.168.121.1
ip route add 192.168.121.0/24 via 192.168.121.1
Wniosek
Do tej pory powinieneś dobrze rozumieć, jak korzystać z polecenia
ip
Linux. Aby uzyskać więcej informacji o innych opcjach
ip
odwiedź stronę man polecenia ip lub wpisz
man ip
w swoim terminalu.
Polecenie echa w systemie Linux z przykładami
Polecenie echo jest jednym z najbardziej podstawowych i często używanych poleceń w systemie Linux. Argumenty przekazywane do echa są wypisywane na standardowe wyjście.
Polecenie cięcia systemu Linux z przykładami
Wytnij to narzędzie wiersza polecenia, które umożliwia wycinanie części wierszy z określonych plików lub danych potokowych i drukowanie wyniku na standardowe wyjście. W tym samouczku pokażemy, jak korzystać z polecenia cięcia systemu Linux poprzez praktyczne przykłady i szczegółowe objaśnienia najczęściej używanych opcji cięcia.
Polecenie tee systemu Linux z przykładami
Polecenie tee odczytuje ze standardowego wejścia i zapisuje jednocześnie zarówno standardowe wyjście, jak i jeden lub więcej plików. Trójnik jest najczęściej używany w połączeniu z innymi poleceniami za pomocą rurociągów.