Linux сетевые интерфейсы удалить

Содержание
  1. Команда ip в Linux (с примерами)
  2. Как использовать команду ip
  3. Отображение и изменение IP-адресов
  4. Отображение информации обо всех IP-адресах
  5. Отображение информации об одном сетевом интерфейсе
  6. Назначьте IP-адреса интерфейсу
  7. Назначьте несколько IP-адресов одному интерфейсу
  8. Удалить / удалить IP-адрес из интерфейса
  9. Отображение и изменение сетевых интерфейсов
  10. Отображение информации о сетевых интерфейсах
  11. Измените статус интерфейса ВВЕРХ / ВНИЗ
  12. Отображение и изменение таблицы маршрутизации
  13. Показать таблицу маршрутизации
  14. Добавить новый маршрут
  15. Удалить маршрут
  16. Выводы
  17. Как удалить сетевой интерфейс?
  18. Экспериментальный блог
  19. понедельник, 20 февраля 2012 г.
  20. Создание и удаление виртуальных сетевых интерфейсов
  21. 7 сетевых Linux-команд, о которых стоит знать системным администраторам
  22. Команда ip
  23. Команда ifconfig
  24. Команда mtr
  25. Команда tcpdump
  26. ▍ Захват трафика, идущего к некоему хосту и от него
  27. ▍ Захват трафика, идущего в некую сеть и из неё
  28. ▍ Захват трафика, поступающего на некий порт и выходящего из некоего порта
  29. Команда netstat
  30. Команда nslookup
  31. Команда ping
  32. ▍ Destination Host Unreachable
  33. ▍ Request timed out
  34. ▍ Unknown host/Ping Request Could Not Find Host
  35. Итоги

Команда ip в Linux (с примерами)

Команда ip — это мощный инструмент для настройки сетевых интерфейсов, который должен знать любой системный администратор Linux. Он используется для включения или выключения интерфейсов, назначения и удаления адресов и маршрутов, управления кешем ARP и многого другого.

В этой статье объясняется, как использовать команду ip, на практических примерах и подробных объяснениях наиболее распространенных параметров.

Как использовать команду ip

Утилита ip является частью пакета iproute2, который установлен во всех современных дистрибутивах Linux.

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

OBJECT — это тип объекта, которым вы хотите управлять. Наиболее часто используемые объекты (или подкоманды):

  • link ( l ) — отображение и изменение сетевых интерфейсов.
  • address ( a ) — отображение и изменение IP-адресов.
  • route ( r ) — отображение и изменение таблицы маршрутизации.
  • neigh ( n ) — Отображение и управление соседними объектами (таблица ARP).

Объект может быть написан в полной или сокращенной (краткой) форме. Чтобы отобразить список команд и аргументов для каждого объекта, введите ip OBJECT help .

При настройке сетевых интерфейсов вы должны выполнять команды как root или пользователь с привилегиями sudo . В противном случае команда RTNETLINK answers: Operation not permitted .

Конфигурации, установленные с помощью команды ip , не являются постоянными. После перезапуска системы все изменения теряются. Чтобы сделать изменения постоянными, вам необходимо отредактировать файлы конфигурации конкретного дистрибутива или добавить команды в сценарий запуска.

Отображение и изменение IP-адресов

При работе с объектом addr команды принимают следующий вид:

Наиболее часто используемые КОМАНДЫ объекта addr : show , add и del .

Отображение информации обо всех IP-адресах

Чтобы отобразить список всех сетевых интерфейсов и связанный с ними IP-адрес, введите следующую команду:

Результат будет выглядеть примерно так:

Вы получите тот же результат, если наберете опустить команду show и наберете: ip addr .

Если вы хотите отображать только IP-адреса IPv4 или IPv6 , используйте ip -4 addr или ip -6 addr .

Отображение информации об одном сетевом интерфейсе

Чтобы получить информацию о конкретном сетевом интерфейсе, используйте ip addr show dev за которым следует имя устройства. Например, чтобы запросить eth0 , вы должны ввести:

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

Чтобы назначить IP-адрес интерфейсу, используйте следующий синтаксис:

Где IFNAME — это имя интерфейса, а ADDRESS — это IP-адрес, который вы хотите назначить интерфейсу.

Чтобы добавить адрес 192.168.121.45 с сетевой маской 24 к устройству eth0 , вы должны ввести:

В случае успеха команда не покажет никаких результатов. Если интерфейс не существует, вы получите сообщение « Cannot find device «eth0» .

Назначьте несколько IP-адресов одному интерфейсу

С помощью ip вы можете назначить несколько адресов одному интерфейсу. Например:

Чтобы подтвердить, что IP-адреса назначены, введите ip -4 addr show dev eth0 или ip -4 a show dev eth0 :

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

Синтаксис для удаления IP-адреса из интерфейса следующий:

IFNAME — это имя интерфейса, а ADDRESS — это IP-адрес, который вы хотите удалить из интерфейса.

Чтобы удалить адрес 192.168.121.45/24 с устройства eth0, введите:

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

Для управления и просмотра состояния сетевых интерфейсов используйте объект link .

При работе с объектами link наиболее часто используются следующие команды: show , set , add и del .

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

Чтобы отобразить список всех сетевых интерфейсов, введите следующую команду:

В отличие от ip addr show , ip link show не выводит информацию об IP-адресах, связанных с устройством.

Чтобы получить информацию о конкретном сетевом интерфейсе, используйте ip link show dev за которым следует имя устройства. Например, чтобы запросить eth0 вы должны ввести:

Измените статус интерфейса ВВЕРХ / ВНИЗ

Чтобы вывести интерфейсы вверх или вниз, используйте ip link set dev за которым следует имя устройства и желаемое состояние:

Например, чтобы подключить интерфейс eth0 сети, вы должны ввести:

И принести если оффлайн

Отображение и изменение таблицы маршрутизации

Для назначения, удаления и отображения таблицы маршрутизации ядра используйте объект route . Наиболее часто используемые команды при работе с объектами маршрутов: list , add и del .

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

Чтобы получить список записей маршрута ядра, используйте одну из следующих команд:

При использовании без SELECTOR команда выведет список всех записей маршрута в ядре:

Чтобы отобразить только маршрутизацию для определенной сети, например 172.17.0.0/16 , введите:

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

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

Читайте также:  Слайд шоу киностудия windows live

Добавьте маршрут к 192.168.121.0/24 через шлюз 192.168.121.1

Добавьте маршрут к 192.168.121.0/24, который может быть достигнут на устройстве eth0.

Чтобы добавить маршрут по умолчанию, используйте ключевое слово default . Следующая команда добавит маршрут по умолчанию через локальный шлюз 192.168.121.1 который может быть достигнут на устройстве eth0 .

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

Чтобы удалить запись из таблицы маршрутизации, используйте команду route add . Синтаксис удаления маршрута такой же, как и при добавлении.

Следующая команда удалит маршрут по умолчанию:

Удалите маршрут для 192.168.121.0/24 через шлюз 192.168.121.1

Выводы

К настоящему времени вы должны хорошо понимать, как использовать команду Linux ip . Для получения дополнительной информации о других параметрах ip посетите страницу руководства по команде ip или введите man ip в терминале.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Как удалить сетевой интерфейс?

Есть несколько сетевых интерфейсов, сконфигурированных посредством
/etc/sysconfig/network/ifcfg-*
Один интерфейс нужно удалить (под удалением предлагаю понимать исчезание интерфейса из вывода ip/ifconfig)
Я удалил конфиг интерфейса, и дёрнул сеть через service network restart — не помогло.
В моём случае это надо для переделки обычного интерфейса в VLAN интерфейс или наоборот, а каждый раз перезагружать машину скучно

Попробуй вернуть конфиг на место и сделать ifdown интерфейсу.

Попробуй вернуть конфиг на место и сделать ifdown интерфейсу.

ок, буду попробовать
усложним задачу, сценарий номер 2 — конфига нет изначально, интерфейс был поднят как параметр ядра при загрузке

конфига нет изначально, интерфейс был поднят как параметр ядра при загрузке

P.S. Читайте маны — они рулёз!

Если не ошибаюсь, у меня были случаи когда ifconfig не выполнял, не помню почему. Приходилось делать ifconfig 0.0.0.0 Поэтому, что бы не возникало лишних неоднозначностей, так и предложил.

В выхлопе ip addr будет
eth0: mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
но интерфейс не исчезнет.
Чтобы из выхлопа ip интерфейс исчез нужно убить вождя выгрузить модуль ядра. Не помню точно как в шапках (может быть иначе), но в дебьянах именно так.

В моём случае это надо для переделки обычного интерфейса в VLAN интерфейс или наоборот, а каждый раз перезагружать машину скучно

почитай как вланы делать в шапке, там про удаление слова нет, надо просто настройки физического интерфейса убрать и написать два конфига для вланов, потом поднять вланы через ifup и всё

Источник

Экспериментальный блог

Когда-то создал ради пробы. Потом решил так и оставить.

Официальная возможность получить лицензионный софт бесплатно.

Это не реклама!

понедельник, 20 февраля 2012 г.

Создание и удаление виртуальных сетевых интерфейсов

Понадобилось мне навесить на комп дополнительный адрес. Под виндой я просто добавляю еще один IP в свойства протокола. Под linux немного сложнее:

ifconfig ethX:Y xxx.xxx.xxx.xxx

то бишь, на реальный интерфейс ethX навершивается виртуальный ethX:Y с указанным адресом.
Всё просто и ясно, плодим виртуальные интерфейсы до посинения.

На трезвую же голову хочется их удалить, ибо уже не нужны. Радостно тычем:

и получаем «interface ethX:Y not configured«. Шикарно: адрес есть, пингуется, но не настроен. Помогает команда

ifconfig ethX:Y down

которая напрочь сносит этот виртуальный интерфейс. Туда ему и дорога!
Идея найдена здесь.

(upd 20120220) Более того, такой способ считается устаревшим, и в настоящее время рекомендуется применять

$ ip addr help
Usage: ip addr IFADDR dev STRING [ LIFETIME ]
[ CONFFLAG-LIST]
ip addr del IFADDR dev STRING
ip addr [ dev STRING ] [ scope SCOPE-ID ]
[ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ]
IFADDR := PREFIX | ADDR peer PREFIX
[ broadcast ADDR ] [ anycast ADDR ]
[ label STRING ] [ scope SCOPE-ID ]
SCOPE-ID := [ host | link | global | NUMBER ]
FLAG-LIST := [ FLAG-LIST ] FLAG
FLAG := [ permanent | dynamic | secondary | primary |
tentative | deprecated | CONFFLAG-LIST ]
CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG
CONFFLAG := [ home | nodad ]
LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ]
LFT := forever | SECONDS

Источник

7 сетевых Linux-команд, о которых стоит знать системным администраторам

Существуют Linux-команды, которые всегда должны быть под рукой у системного администратора. Эта статья посвящена 7 утилитам, предназначенным для работы с сетью.

Этот материал — первый в серии статей, построенных на рекомендациях, собранных от множества знатоков Linux. А именно, я спросил у наших основных разработчиков об их любимых Linux-командах, после чего меня буквально завалили ценными сведениями. А именно, речь идёт о 46 командах, некоторые из которых отличает тот факт, что о них рассказало несколько человек.

В данной серии статей будут представлены все эти команды, разбитые по категориям. Первые 7 команд, которым и посвящена эта статья, направлены на работу с сетью.

Команда ip

Команда ip — это один из стандартных инструментов, который необходим любому системному администратору для решения его повседневных задач — от настройки новых компьютеров и назначения им IP-адресов, до борьбы с сетевыми проблемами существующих систем. Команда ip может выводить сведения о сетевых адресах, позволяет управлять маршрутизацией трафика и, кроме того, способна давать данные о различных сетевых устройствах, интерфейсах и туннелях.

Синтаксис этой команды выглядит так:

Самое важное тут — это (подкоманда). Здесь можно использовать, помимо некоторых других, следующие ключевые слова:

  • address — адрес протокола (IPv4 или IPv6) на устройстве.
  • tunnel — IP-туннель.
  • route — запись таблицы маршрутизации.
  • rule — правило в базе данных политики маршрутизации.
  • vrf — управление виртуальными устройствами маршрутизации и перенаправления трафика.
  • xfrm — управление IPSec-политикой.

Ниже приведены примеры, демонстрирующие распространённые сценарии использования команды ip .

Вывод IP-адресов, назначенных интерфейсу на сервере:

Назначение IP-адреса интерфейсу, например — enps03 :

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

Изменение статуса интерфейса, в данном случае — включение eth0 :

Изменение статуса интерфейса, в данном случае — выключение eth0 :

Изменение статуса интерфейса, в данном случае — изменение MTU eth0 :

Изменение статуса интерфейса, в данном случае — перевод eth0 в режим приёма всех сетевых пакетов:

Добавление маршрута, используемого по умолчанию (для всех адресов), через локальный шлюз 192.168.1.254, который доступен на устройстве eth0 :

Добавление маршрута к 192.168.1.0/24 через шлюз на 192.168.1.254:

Добавление маршрута к 192.168.1.0/24, который доступен на устройстве eth0 :

Удаление маршрута для 192.168.1.0/24, для доступа к которому используется шлюз 192.168.1.254:

Вывод маршрута к IP 10.10.1.4:

Команда ifconfig

Команда ifconfig до определённого времени представляла собой один из основных инструментов, используемых многими системными администраторами для настройки сетей и решения сетевых проблем. Теперь ей на замену пришла команда ip , о которой мы только что говорили. Но если вас, всё же, интересует эта команда, можете взглянуть на данный материал.

Команда mtr

MTR (Matt’s traceroute) — это программа, работающая в режиме командной строки, представляющая собой инструмент для диагностики сетей и устранения сетевых неполадок. Эта команда совмещает в себе возможности ping и traceroute . Она, как traceroute , может выводить сведения о маршруте, по которому сетевые данные идут от одного компьютера к другому. Она выводит массу полезных сведений о каждом шаге маршрутизации, например — время ответа системы. Благодаря использованию команды mtr можно получить довольно подробные сведения о маршруте, можно обнаружить устройства, которые вызывают проблемы при прохождении данных по сети. Если, например, наблюдается рост времени ответа системы, или рост числа потерянных пакетов, это позволяет с уверенностью говорить о том, что где-то между исследуемыми системами возникла проблема с сетевым соединением.

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

Рассмотрим несколько распространённых способов применения mtr .

Если вызвать эту команду, указав лишь имя или адрес хоста — она выведет сведения о каждом шаге маршрутизации. В частности — имена хостов, сведения о времени их ответа и о потерянных пакетах:

Вот — вариант использования mtr , когда вместо имён хостов выводятся их IP-адреса (речь идёт о ключе -g , благодаря которому вместо имён выводятся числовые IP-адреса):

А следующий вариант команды позволяет выводить и имена, и IP-адреса хостов:

Так можно задать количество ping-пакетов, которые нужно отправить системе, маршрут к которой подвергается анализу:

А так можно получить отчёт, содержащий результаты работы mtr :

Вот — ещё один вариант получения такого отчёта:

Для того чтобы принудительно использовать TCP вместо ICMP — надо поступить так:

А вот так можно использовать UDP вместо ICMP:

Вот — вариант команды, где задаётся максимальное количество шагов маршрутизации:

Так можно настроить размер пакета:

Для вывода результатов работы mtr в формате CSV используется такая команда:

Вот — команда для вывода результатов работы mtr в формате XML:

Команда tcpdump

Утилита tcpdump предназначена для захвата и анализа пакетов.

Установить её можно так:

Прежде чем приступить к захвату пакетов, нужно узнать о том, какой интерфейс может использовать эта команда. В данном случае нужно будет применить команду sudo или иметь root-доступ к системе.

Если нужно захватить трафик с интерфейса eth0 — этот процесс можно запустить такой командой:

Или — такой, с указанием (через ключ -c ) количества пакетов, которые нужно захватить:

▍ Захват трафика, идущего к некоему хосту и от него

Можно отфильтровать трафик и захватить лишь тот, который приходит от определённого хоста. Например, чтобы захватить пакеты, идущие от системы с адресом 8.8.8.8 и уходящие к этой же системе, можно воспользоваться такой командой:

Для захвата трафика, идущего с хоста 8.8.8.8, используется такая команда:

Для захвата трафика, уходящего на хост 8.8.8.8, применяется такая команда:

▍ Захват трафика, идущего в некую сеть и из неё

Трафик можно захватывать и ориентируясь на конкретную сеть. Делается это так:

Ещё можно поступить так:

Можно, кроме того, фильтровать трафик на основе его источника или места, в которое он идёт.

Вот — пример захвата трафика, отфильтрованного по его источнику (то есть — по той сети, откуда он приходит):

Вот — захват трафика с фильтрацией по сети, в которую он направляется:

▍ Захват трафика, поступающего на некий порт и выходящего из некоего порта

Вот пример захвата трафика только для DNS-порта по умолчанию (53):

Захват трафика для заданного порта:

Захват только HTTPS-трафика:

Захват трафика для всех портов кроме 80 и 25:

Команда netstat

Инструмент netstat используется для вывода сведений о сетевых соединениях и таблицах маршрутизации, данных о работе сетевых интерфейсов, о masquerade-соединениях, об элементах групп многоадресной рассылки. Эта утилита является, как и ifconfig , частью пакета net-tools . В новом пакете iproute2 для достижения тех же целей используется утилита ss .

Если в вашей системе netstat отсутствует, установить эту программу можно так:

Ей, в основном, пользуются, вызывая без параметров:

В более сложных случаях её вызывают с параметрами, что может выглядеть так:

Можно вызывать netstat и с несколькими параметрами, перечислив их друг за другом:

Для вывода сведений обо всех портах и соединениях, вне зависимости от их состояния и от используемого протокола, применяется такая конструкция:

Для вывода сведений обо всех TCP-портах применяется такой вариант команды:

Если нужны данные по UDP-портам — утилиту вызывают так:

Список портов любых протоколов, ожидающих соединений, можно вывести так:

Список TCP-портов, ожидающих соединений, выводится так:

Так выводят список UDP-портов, ожидающих соединений:

А так — список UNIX-портов, ожидающих соединений:

Вот — команда для вывода статистических сведений по всем портам вне зависимости от протокола:

Так выводятся статистические сведения по TCP-портам:

Для просмотра списка TCP-соединений с указанием PID/имён программ используется такая команда:

Для того чтобы найти процесс, который использует порт с заданным номером, можно поступить так:

Команда nslookup

Команда nslookup используется для интерактивного «общения» с серверами доменных имён, находящимися в интернете. Она применяется для выполнения DNS-запросов и получения сведений о доменных именах или IP-адресах, а так же — для получения любых других специальных DNS-записей.

Рассмотрим распространённые примеры использования этой команды.

Получение A-записи домена:

Просмотр NS-записей домена:

Выяснение сведений о MX-записях, в которых указаны имена серверов, ответственных за работу с электронной почтой:

Обнаружение всех доступных DNS-записей домена:

Проверка использования конкретного DNS-сервера (в данном случае запрос производится к серверу имён ns1.nsexample.com ):

Проверка A-записи для выяснения IP-адресов домена — это распространённая практика, но иногда нужно проверить то, имеет ли IP-адрес отношение к некоему домену. Для этого нужно выполнить обратный просмотр DNS:

Команда ping

Команда ping — это инструмент, с помощью которого проверяют, на уровне IP, возможность связи одной TCP/IP-системы с другой. Делается это с использованием эхо-запросов протокола ICMP (Internet Control Message Protocol Echo Request). Программа фиксирует получение ответов на такие запросы и выводит сведения о них вместе с данными о времени их приёма-передачи. Ping — это основная команда, используемая в TCP/IP-сетях и применяемая для решения сетевых проблем, связанных с целостностью сети, с возможностью установления связи, с разрешением имён.

Эта команда, при простом способе её использования, принимает лишь один параметр: имя хоста, подключение к которому надо проверить, или его IP-адрес. Вот как это может выглядеть:

В данном случае работу команды ping можно остановить, воспользовавшись сочетанием клавиш CTRL+C . В противном случае она будет выполнять запросы до тех пор, пока её не остановят. После каждой ping-сессии выводятся сводные данные, содержащие следующие сведения:

  • Min — минимальное время, которое требуется на получение ответа от пингуемого хоста.
  • Avg — среднее время, которое требуется на получение ответа.
  • Max — максимальное время, которое требуется на получение ответа.

Кроме того, среди данных, выводимых программой о пакетах, есть такой параметр, как TTL (Time To Live, время жизни пакета). Тут используются числовые значения TTL, указывающие на то, сколько шагов маршрутизации может пройти пакет. Это значение ещё известно как «лимит переходов» (hop limit).

Обычно, если запустить команду ping в её простом виде, не передавая ей дополнительные параметры, Linux будет пинговать интересующий пользователя хост без ограничений по времени. Если нужно изначально ограничить количество ICMP-запросов, например — до 10, команду ping надо запустить так:

А для того чтобы увидеть лишь итоговый отчёт работы ping — можно воспользоваться ключом -q :

В системах с несколькими сетевыми интерфейсами можно задавать конкретный интерфейс, которым должна пользоваться команда ping . Например, есть компьютер, имеющий интерфейсы eth0 и eth1 . Если нужно, чтобы команда ping использовала бы интерфейс eth0 — надо запустить её так:

Или можно указать адрес интерфейса. В данном случае речь идёт об IP-адресе 10.233.201.45:

Применяя эту команду, можно указать и то, какую версию протокола IP использовать — v4 или v6:

В процессе работы с утилитой ping вы столкнётесь с различными результатами. В частности, это могут быть сообщения о нештатных ситуациях. Рассмотрим три таких ситуации.

▍ Destination Host Unreachable

Вероятной причиной получения такого ответа является отсутствие маршрута от локальной хост-системы к целевому хосту. Или, возможно, это удалённый маршрутизатор сообщает о том, что у него нет маршрута к целевому хосту.

▍ Request timed out

Если результат работы ping выглядит именно так — это значит, что локальная система не получила, в заданное время, эхо-ответов от целевой системы. По умолчанию используется время ожидания ответа в 1 секунду, но этот параметр можно настроить. Подобное может произойти по разным причинам. Чаще всего это — перегруженность сети, сбой ARP-запроса, отбрасывание пакетов фильтром или файрволом и прочее подобное.

▍ Unknown host/Ping Request Could Not Find Host

Такой результат может указывать на то, что неправильно введено имя хоста, или хоста с таким именем в сети просто не существует.

О хорошем качестве связи между исследуемыми системами говорит уровень потери пакетов в 0%, а так же — низкое значение времени получения ответа. При этом в каждом конкретном случае время получения ответа варьируется, так как оно зависит от разных параметров сети. В частности — от того, какая среда передачи данных используется в конкретной сети (витая пара, оптоволокно, радиоволны).

Итоги

Надеемся, вам пригодятся команды и примеры их использования, о которых мы сегодня рассказали. А если они вам и правда пригодились — возможно, вам будет интересно почитать продолжение этого материала.

Источник

Оцените статью