ip

ip

Синтаксис ip следующий:

ip [options] OBJECTS COMMAND [параметры]

Options – это глобальные настройки, которые сказываются на работе всей утилиты независимо от других аргументов, их указывать необязательно.

  • OBJECTS – это тип данных, с которым надо будет работать, например: адреса, устройства, таблица arp, таблица маршрутизации и так далее;
  • COMMAND – какое-либо действие с объектом;
  • параметры – само собой, командам иногда нужно передавать параметры, они передаются в этом пункте.

Синтаксис OBJECTS

Объект Сокращенная форма Цель
link l Физическое сетевое устройство
address a либо addr Адрес протокола (IP или IPv6) на устройстве
addrlabel addrl Конфигурация метки для выбора адреса протокола.
neighbour n либо neigh Запись кэша ARP или NDISC
route r Запись в таблице маршрутизации.
rule ru Правило в базе данных политик маршрутизации.
maddress m либо maddr Многоадресный адрес
mroute mr Запись кэша многоадресной маршрутизации.
tunnel t Настройка туннелирования
xfrm x Платформа для протокола IPsec

Чтобы получить информацию о каждом объекте, используем команду справки:

ip OBJECT help
ip OBJECT h
ip a help
ip r help

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

ip a
# либо
ip addr

Для выбора между IPv4 и IPv6 используем следующий синтаксис:

### Only show TCP/IP IPv4  ##
ip -4 a
 
### Only show TCP/IP IPv6  ###
ip -6 a

Также можно указать и перечислить конкретные детали TCP/IP интерфейса:

### Only show eth0 interface ###
ip a show eth0
ip a list eth0
ip a show dev eth0
 
### Only show running interfaces ###
ip link ls up

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

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

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

ip a add 10.10.10.14/255.255.255.0 dev eth0
# либо 
ip a add 10.10.10.14/24 dev eth0

Для удаления адреса IPv4/IPv6 используется следующий синтаксис:

ip a del {ipv6_addr_OR_ipv4_addr} dev {interface}
ip a del 10.10.10.14/24 dev eth0

Команда flush может удалить IP-адрес в соответствии с заданным условием. Например, можно удалить все IP-адреса из частной сети 10.10.10.0/24, используя следующую команду:

ip -s -s a f to 10.10.10.0/24
 
2: eth0    inet 10.10.10.15/24 scope global secondary eth0
2: eth0    inet 10.10.10.14/24 scope global eth0
 
*** Round 1, deleting 2 addresses ***
*** Flush is complete after 1 round ***

Так же, можно отключить IP-адрес на всех интерфейсах ppp

ip -4 addr flush label "ppp*"
 
# Вот еще один пример для всех интерфейсов Ethernet
ip -4 addr flush label "eth*"

Синтаксис выглядит так:

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

Для деактивации интерфейса вводим:

ip link set dev eth0 down

Соответственно для включения

ip link set dev eth0 up
ip n show
 
# либо так
ip neigh show
 
74.fff.uu.cc dev eth1 lladdr 00:30:48:yy:zz:ww STALE
74.rr.ww.fff dev eth1 lladdr 00:30:48:yy:zz:ww DELAY
10.10.29.65 dev eth0 lladdr 00:1a:30:38:a8:00 REACHABLE

Последнее поле показывает состояние хоста:

  • STALE – сосед действителен, но, вероятно, уже недоступен, поэтому ядро ​​попытается проверить его при первой передаче.
  • DELAY – пакет был отправлен устаревшему соседу, и ядро ​​ожидает подтверждения.
  • REACHABLE – сосед действителен и очевидно доступен.

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

ip r
ip r list
ip route list
ip r list [options] ip route

Отображение маршрутизации для 10.10.10.0/24:

ip r list 10.10.10.0/24
10.10.10.0/24 dev eth0  proto kernel  scope link  src 10.10.10.14

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

ip route add 10.10.15.0/24 via 10.10.10.1
ip route add 10.10.15.0/24 dev eth0

Добавление маршрута по умолчанию

ip route add default via 10.10.10.1 dev eth0

Удаление маршрута
Удалить шлюз по умолчанию

ip route del default

удаление конкретного маршрута

ip route del 10.10.10.0/24 dev eth0

Настройка цветного вывода, осуществляется с опцией -c

ip -c route
ip -c link
 
# The 'always' is default and color output is enabled regardless of stdout state
ip -c=always command1
 
# If parameter is 'auto', stdout is checked to be a terminal before enabling color output
ip -c=auto command2
 
# If parameter is 'never', color output is disabled
ip -c=never command3

Либо создать алиас и не мучится

alias  ip = 'ip -c' 
sudo ip -br -c addr show
sudo ip -br -c link show

Шпаргалка по устаревшим командам

Старая команда Новая команда
ifconfig -a ip a
ifconfig ens160 down ip link set ens160 down
ifconfig ens160 up ip link set ens160 up
ifconfig ens160 10.10.10.14 ip a add 10.10.10.14/24 dev ens160
ifconfig ens160 netmask 255.255.255.0 ip a add 10.10.10.14/24 dev ens160
ifconfig ens160 mtu 9000 ip link set ens160 mtu 9000
ifconfig ens160:0 10.10.10.55 ip addr add 10.10.10.55/24 dev ens160
netstat ss
netstat -tulpn ss -tulpn
netstat -neopa ss -neopa
netstat -g ip maddr
route ip r
route add -net 10.10.2.0 netmask 255.255.255.0 dev ens160 ip route add 10.10.2.0/24 dev ens160
route add default gw 192.168.10.154 ip route add default via 192.168.10.154
arp -a ip neigh
arp -v ip -s neigh
arp -s 10.10.10.3 1:2:3:4:5:6 ip neigh add 10.10.10.3 lladdr 1:2:3:4:5:6 dev ens160
arp -i ens160 -d 192.168.2.254 ip neigh del 192.168.2.254 dev ens160
  • ip.txt
  • Последнее изменение: 2021/06/15 14:20
  • admin