Android

Polecenie ip systemu Linux z przykładami

Linux Terminal 201: ifconfig vs ip - HakTip 154

Linux Terminal 201: ifconfig vs ip - HakTip 154

Spisu treści:

Anonim

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:

ip addr show dev eth0

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

ip link set eth0 down

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.

terminal ip