ip синтаксис команды:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
ip OBJECT COMMAND ip [ OPTIONS ] OBJECT { COMMAND | help } - синтаксис команды ip OBJECT – это тип объекта, которым вы хотите управлять. ip OBJECT help - помощь ip a help ip r help Объект может быть написан в полной или сокращенной (краткой) форме: link( l) – Отображение и изменение сетевых интерфейсов. address( a) – Отображение и изменение IP-адресов. route( r) – Показать и изменить таблицу маршрутизации. neigh( n) – Отображать и манипулировать соседними объектами (таблица ARP). Объекты: link - cетевое устройство address - IP адрес на устройстве addrlabel - управление метками для выбора адреса neighbour - записи для ARP или NDISC кэшей route - управление записями таблицы маршрутизации rule - правила в базе политик маршрутизации maddress - мультикаст адрес mroute - записи мультикастового кэша маршрутизации tunnel - туннель через IP xfrm - Фреймворк для протокола IPsec |
ip link изменить состояние интерфейса на UP или DOWN:
1 2 3 |
ip link set dev {DEVICE} {up|down} ip link set dev eth1 down ip link set dev eth1 up |
ip addr / примеры:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
ip addr show - показать информацию обо всех IP-адресах ip a s - показать информацию обо всех IP-адресах ip -4 a s - показать информацию обо всех IP-адресах ipv4 ip -6 a s - показать информацию обо всех IP-адресах ipv6 ip addr show dev eth0 - информация об одном сетевом интерфейсе ip a s dev eth0 - информация об одном сетевом интерфейсе ip address add 192.168.101.12/24 dev eth0 - добавить адрес 192.168.101.12 с сетевой маской 24 на устройство eth0 с помощью утилиты ip вы можете назначить несколько адресов одному интерфейсу ip address del 192.168.1.5/24 dev eth0 - удалить ip-адрес 192.168.1.5/24 с интерфейса eth0 |
Типы маршрутов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
Типы маршрутов: unicast — обычный маршрут. Ничего интересного. local — адрес назначения находится на данном хосте. После того, как выяснится, что пакет попадает на этот маршрут, будет производиться поиск подходящего сокета для него. broadcast — широковещательный маршрут. Для входящих пакетов, попадающих на этот маршрут, практически нет отличий от маршрута local, за исключением дополнительных проверок на игнорирование широковещательных пакетов. Для исходящих же есть небольшое отличие: в заголовке канального уровня так же выставляется широковещательный адрес назначения при использовании широковещательных сетей. unreachable — запрещающий маршрут. Для пакетов, попадающий на этот маршрут будет отослан отправителю icmp-пакет с сообщением о недоступности. prohibit — подобен типу unreachable, только сообщение другое будет отправлено. blackhole — пакет на этом маршруте будет молча отброшен Маршруты сгруппированы в таблицы маршрутизации. По умолчанию изначально в системе присутствуют три таблицы: local (255) — в этой таблице находятся локальные и широковещательные маршруты. Эта таблица обслуживается автоматически и генерируется на основе адресов, назначенных интерфейсам. main (254) — основная таблица маршрутизации. Автоматически в неё добавляются direct-connected маршруты. Так же если в параметрах утилиты ip не указана таблица маршрутизации, то подразумевается таблица main. default (253) — таблица для маршрутов по умолчанию. Её использование не прижилось и поэтому она, как правило, пустует всё время. ip route show table main - показать таблицу маршрутов main ip route show table local - показать таблицу маршрутов local ip route show table default - показать таблицу маршрутов default ip route show table all - показать все таблицы Имена таблиц хранятся в файле /etc/iproute2/rt_tables Пример создания своей таблицы: ip route add 192.168.0.0/24 dev eth0 proto static scope link table RED ip route add 192.168.1.0/24 dev eth1 proto static scope link table GREEN ip route add 192.168.2.0/24 dev eth2 proto static scope link table GREEN ip route add 192.168.3.0/24 dev eth3 proto static scope link table RED Пример создания политики для маршрутов: ip rule add iif eth0 pref 10 lookup RED ip rule add iif eth3 pref 10 lookup RED ip rule add iif eth1 pref 20 lookup GREEN ip rule add iif eth2 pref 20 lookup GREEN Пример создания запрета: ip route add unreachable default proto static table RED ip rule add unreachable iif eth1 pref 21 ip rule add unreachable iif eth2 pref 21 |
ip route / маршруты / примеры:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
ip route - показать маршруты ip route list - показать маршруты ip r l - показать маршруты ip r - показать маршруты 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 link set eth0 up - выключить интерфейс ip link set eth0 down - выключить интерфейс ip route add 192.168.8.0/24 via 192.168.8.1 - добавить маршрут для сети 192.168.8.0/24 через 192.168.8.1 ip route add default via 192.168.1.1 dev eth0 - добавить маршрут по умолчанию Удалить маршрут: ip route del default - удалить маршрут по умолчанию ip route del 192.168.8.0/24 via 192.168.8.1 - удалить маршрут для сети 192.168.8.0/24 ip route del 192.168.1.0/24 dev eth0 - удалить маршрут для сети 192.168.1.0/24 |
ip link / ip add / ip route / ip set:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
ip -4 a ip -6 a ip a show eth0 ip a list eth0 ip a show dev eth0 - показать адреса интерфейса eth0 ip link ls up - показать поднятые интерфейсы Назначить интерфейсу IP адрес: ip a add {ip_addr/mask} dev {interface} ip a add 192.168.1.200/255.255.255.0 dev eth0 ip a add 192.168.1.200/24 dev eth0 ip a a 192.168.1.200/24 d eth0 Добавить широковещательный адрес на интерфейс: 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 a add 192.168.1.50/24 brd + dev eth0 label eth0Work ip a add 127.0.0.1/8 dev lo brd + scope host Удалить IP адрес с интерфейса: ip a del {ipv6_addr_OR_ipv4_addr} dev {interface} ip a del 192.168.1.200/24 dev eth0 ip -4 addr flush label "ppp*" ip -4 addr flush label "eth0" ip link show - список сетевых интерфейсов в Linux (подобна ifconfig) ip link set eth0 up - активировать сетевое устройство (или отключить). Подобна "ifconfig eth0 up" ip addr show - список всех IP адресов в Linux (подобна ifconfig) ip neigh show - тоже что и arp -a, покажет таблицу arp ip route add 192.168.20.0/24 via 192.168.16.254 - добавить маршрут для сети 192.168.20.0/24 через шлюз 192.168.16.254 ip route add default via 192.168.51.254 dev eth0 - добавить маршрут по умолчанию \ маршрут последней надежды ip addr add 192.168.50.254/24 dev eth0 - добавить ip 192.168.50.254/24 на интерфейс eth0 ip addr add 192.168.51.254/24 dev eth0 label eth0:1 - создать виртуальный интерфейс eth0:1 и добавить ему адрес 192.168.51.254/24 ip route flush cache ip a list eth0 |
ARP
1 2 3 4 |
ip neigh show - показать таблицу ARP ip n s - показать таблицу ARP ip -s -s n f {IPAddress} - очистить ARP запись ip -s -s n flush 192.168.1.5 - очистить ARP запись |
Изменить MTU устройства:
1 2 3 4 5 |
ip link set mtu {NUMBER} dev {DEVICE} ip link set mtu 9000 dev eth1 - установим MTU устройства eth0 на 9000 ip link set dev eth0 mtu 1400 - установить MTU равным 1400 на интерфейсе eth0 |
ip bridge
1 2 3 4 5 6 7 8 9 |
ip link add name br0 type bridge - создание интерфейса типа «мост» и именем br0 ip link del dev br0 - удаление интерфейса br0 ip link set eth0 master br0 - добавление интерфейса eth0 к мосту br0 ip link set eth0 nomaster - удаление интерфейса eth0 из моста ip link set dev br0 type bridge vlan_filtering 1 - включает фильтрацию vlan на мостовом интерфейсе br0 ip link set dev br0 type bridge stp_state 1 - отключить STP на мосту br0 |
bridge
1 2 3 4 5 6 7 8 9 10 |
bridge fdb show dev br0 - показать таблицу forward моста br0 bridge link set dev eth0 guard on - отключить обработку BDPU на интерфейсе eth0 bridge link set dev eth0 cost 4 - установка стоимости STP на интерфейсе eth0 в значение 4 bridge link set dev eth0 root_block on - включить на eth0 функцию root guard bridge vlan show - посмотреть фильтры vlan на всех мостах bridge vlan show dev eth0 - посмотреть фильтры vlan на конкретном интерфейсе bridge vlan add dev eth0 <vid, pvid, untagged, self, master> - # установка фильтра vlan на указанном интерфейсе bridge vlan add vid 20 dev eth0 untagged - установка фильтра для vlan 20 на интерфейсе eth0, без тегирования bridge vlan add vid 20 dev eth0 pvid - установка фильтра для vlan 20 на интерфейсе eth0, с тегированием в 20 vlan по умолчанию bridge vlan delete dev eth0 - удаление фильтра/правила с интерфейса |
Добавление vlan
1 |
ip link add link eth0 name eth0.500 type vlan id 500 - добавить vlan интерфейс eth0.500 к родительскому eth0 |
Q-in-Q
1 2 |
ip link add link eth0 name eth0.24 type vlan proto 802.1ad id 24 - добавить интерфейс eth0.24 для верхнего S-тега (service tag) на интерфейсе eth0 ip link add link eth0.24 name eth0.24.371 type vlan proto 802.1Q id 371 - добавить интерфейс eth0.24.371 для нижнего C-тега (customer tag) на интерфейсе eth0.24 |