Поиск

7 дек. 2020 г.

ifconfig умер! Да здравствует ip! или новая команда управления сетевыми подключениями в Linux.



Во всех дистрибутивах Linux команда ifconfig в нынешнее время отсутствует. Чтобы пользоваться ей, достаточно установить пакет net-tools. Сегодня мы рассмотрим новую команду управления сетевыми подлючениями ip. Команда ip используется для назначения адреса сетевому интерфейсу и / или настройки параметров сетевого интерфейса в операционных системах Linux.

Отобразить информацию обо всех сетевых интерфейсах:

ip a

или

ip addr

Показать только TCP / IP IPv4

ip -4 a

Показать только TCP / IP IPv6

ip -6 a

Показывать только интерфейс eth0

ip a show eth0

ip a list eth0

ip a show dev eth0

Показывать только работающие интерфейсы

ip link  ls up


Назначить IP-адрес интерфейсу

Синтаксис добавления адреса IPv4 / IPv6 следующий:

ip a add {ip_addr/mask} dev {interface}

Чтобы назначить 192.168.1.200/255.255.255.0 для eth0, введите:

ip a add 192.168.1.200/255.255.255.0 dev eth0

ИЛИ

ip a add 192.168.1.200/24 dev eth0


Добавить широковещательный адрес в интерфейс

По умолчанию команда ip не устанавливает широковещательный адрес, если явно не запрошено. Таким образом, синтаксис для установки широковещательного АДРЕСА выглядит следующим образом: можно использовать специальные символы, такие как и, вместо широковещательного адреса, установив / сбросив биты хоста в интерфейсе prex. В этом примере добавим адрес 192.168.1.50 с сетевой маской 255.255.255.0 (/ 24) со стандартной широковещательной передачей и меткой «eth0Home» к интерфейсу eth0: вы можете установить адрес обратной связи для устройства обратной связи lo следующим образом:

ip addr add brd {ADDDRESS-HERE} dev {interface}

ip addr add broadcast {ADDDRESS-HERE} dev {interface}

ip addr add broadcast 172.20.10.255 dev dummy0

Пример:

ip addr add 192.168.1.50/24 brd + dev eth0 label eth0Home

ip addr add 127.0.0.1/8 dev lo brd + scope host


Удалить IP-адрес из интерфейса

Синтаксис для удаления адреса IPv4 / IPv6 следующий:

ip a del {ipv6_addr_OR_ipv4_addr} dev {interface}

Чтобы удалить 192.168.1.200/24 ​​из eth0, введите:

ip a del 192.168.1.200/24 dev eth0


Как включить/выключить сетевое устройство?

Синтаксис выглядит следующим образом:

ip link set dev {DEVICE} {up|down}

Чтобы выключить устройство eth1, введите:

ip link set dev eth1 down

Чтобы включить устройство eth1, введите:

ip link set dev eth1 up


Как изменить MTU устройства?

Для гигабитных сетей вы можете установить максимальные размеры единиц передачи (MTU) (JumboFrames) для повышения производительности сети. Синтаксис:

ip link set mtu {NUMBER} dev {DEVICE}

Чтобы изменить MTU устройства eth0 на 9000, введите: Примеры выходных данных:

ip link set mtu 9000 dev eth0


Показать кеш arp

ip n show

ip neigh show


Добавить новую запись ARP

Синтаксис:

ip neigh add {IP-HERE} lladdr {MAC/LLADDRESS} dev {DEVICE} nud {STATE}

В этом примере добавим постоянную запись ARP для соседа 192.168.1.5 на устройстве eth0:

ip neigh add 192.168.1.5 lladdr 00:1a:30:38:a8:00 dev eth0 nud perm


Удалить запись ARP

Синтаксис для аннулирования или удаления записи ARP для соседа 192.168.1.5 на устройстве eth1 следующий.

ip neigh del {IPAddress} dev {DEVICE}

ip neigh del 192.168.1.5 dev eth1

Изменение состояния на достижимое для соседа 192.168.1.100 на устройстве eth1

ip neigh chg 192.168.1.100 dev eth1 nud reachable


Очистить запись ARP

Эта команда flush или f очищает таблицы arp, задав некоторые условия. Синтаксис:

ip -s -s n f {IPAddress}

в этом примере очистим таблицу arp

ip -s -s n f 192.168.1.5

или

ip -s -s n flush 192.168.1.5


Команды управления таблицей маршрутизации

Используйте следующие команды для управления таблицей маршрутизации ядра или управления ею.

Показать таблицу маршрутизации

Чтобы отобразить содержимое таблиц маршрутизации: Примеры выходных данных:

ip r

ip r list

ip route list

ip r list [options] ip route

Отобразить маршрутизацию для 192.168.1.0/24:

ip r list 192.168.1.0/24


Добавить новый маршрут

ip route add {NETWORK/MASK} via {GATEWAYIP}

ip route add {NETWORK/MASK} dev {DEVICE}

ip route add default {NETWORK/MASK} dev {DEVICE}

ip route add default {NETWORK/MASK} via {GATEWAYIP}

Пример:

ip route add 192.168.1.0/24 via 192.168.1.254

ip route add 192.168.1.0/24 dev eth0


Удалить маршрут

Для удаления шлюза по умолчанию используется следующий синтаксис:

ip route del default

В этом примере удалим маршрут, созданный в предыдущем подразделе :

ip route del 192.168.1.0/24 dev eth0


Как изменить MAC-адрес в Linux

MAC-адрес сетевой карты (NIC) Linux можно изменить следующим образом:

NIC="eno1" 

ip link show $NIC

ip link set dev $NIC down

назначаем новый MAC адрес

ip link set dev $NIC address XX:YY:ZZ:AA:BB:CC

ip link set dev $NIC up


И напоследок, параметр сделает вывод команды ip цветным.

ip -c a