как удалить сетевой интерфейс linux
Как удалить сетевой интерфейс?
Попробуй вернуть конфиг на место и сделать ifdown интерфейсу.
Попробуй вернуть конфиг на место и сделать ifdown интерфейсу.
конфига нет изначально, интерфейс был поднят как параметр ядра при загрузке
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 и всё
Утилита ip Linux
Если вы начинающий системный администратор, думаю, вам понадобится утилита ip. Она позволяет посмотреть сетевые интерфейсы и IP адреса им присвоенные, посмотреть и настроить таблицу маршрутизации, включать или отключать сетевые интерфейсы, управлять маршрутизацией и ARP, а также многое другое.
Синтаксис и опции утилиты ip
Сначала рассмотрим синтаксис команды. Утилита довольно многофункциональная, поэтому и синтаксис её вызова непростой:
$ ip [опции] объект команда [параметры]
Дальше рассмотрим все еще более подробно:
Теперь давайте рассмотрим самые важные объекты.
Теперь рассмотрим доступные команды, с помощью которых может быть выполнена настройка сети linux. Они зависят от объекта, к которому будут применяться. Вот основные команды: add, change, del или delete, flush, get, list или show, monitor, replace, restore, save, set, и update. Если команда не задана, по умолчанию используется show (показать).
Здесь тоже поддерживается сокращение и в большинстве случаев для выполнения нужного действия достаточно нескольких символов. Но алфавитный порядок соблюдается не всегда. Например, ip a s, означает ip address show, а не ip address set, к сожалению.
Примеры использования ip
1. Просмотр IP адресов
Чтобы посмотреть все IP адреса, связанные с сетевыми интерфейсами используйте такую команду:
Можно посмотреть IP адреса только по определённому сетевому интерфейсу, например: enp0s3:
ip a show dev enp0s3
Можно отобразить только статические IP адреса:
ip a show dev enp0s3 permanent
Или только динамические:
ip a show dev enp0s3 dynamic
2. Добавление IP адреса
Чтобы присвоить IP адрес для устройства нужно использовать команду add. Её общий синтаксис такой:
$ ip addr add IP_адрес / маска dev интерфейс
Например, давайте присвоим тому же интерфейсу enp0s3 IP адрес 10.0.2.100 с маской подсети 255.255.255.0:
ip addr add 10.0.2.100/255.255.255.0 dev enp0s3
Маску можно указать и в сокращённом виде:
ip addr add 10.0.2.100/24 dev enp0s3
3. Удаление IP адреса
Чтобы удалить IP адрес из интерфейса надо использовать команду del. Синтаксис её очень похож на предыдущую команду. Например, удалим IP адрес 10.0.2.100:
ip addr del 10.0.2.100/255.255.255.0 dev enp0s3
Можно удалять IP адреса по одному или удалить все сразу с помощью команды flush:
Или же можно удалить адреса только определённой подсети:
sudo ip a flush to 10.0.2.0/24
Если вы будете применять эти команды к интерфейсу, с помощью которого у вас работает сеть, то сеть пропадёт и чтобы её вернуть надо будет перезагрузить сетевые службы.
4. Список интерфейсов
Чтобы посмотреть список сетевых интерфейсов используйте объект link:
5. Включение или выключение интерфейсов
Для решения этой задачи тоже используется объект link, но с командой set. Синтаксис её такой:
$ ip link set dev интерфейс действие
В качестве действия можно использовать up или down. Например, чтобы отключить интерфейс enp0s3 выполните:
ip link set dev enp0s3 down
А чтобы включить его обратно:
ip link set dev enp0s3 up
6. Настройка MTU
Параметр MTU означает размер одного пакета, передаваемого по сети. Этот размер можно изменить с помощью команды set. Например, увеличим MTU для enp0s3 до 4000 тысяч байт:
ip link set mtu 4000 dev enp0s3
7. Настройка MAC адреса
sudo ip link set dev enp0s3 down
Затем можно установить адрес:
sudo ip link set dev enp0s3 address AA:BB:CC:DD:EE:FF
А потом включить интерфейс обратно:
sudo ip link set dev enp0s3 up
8. Таблица ARP
Именно протокол ARP отвечает за преобразование IP адресов в низкоуровневые MAC адреса. Для того чтобы не отправлять ARP запросы каждый раз в сеть, кэш хранится в таблице ARP на протяжении 20-ти минут. Чтобы посмотреть содержимое таблицы ARP используйте такую команду:
9. Добавление записи в таблицу ARP
Обычно записи в эту таблицу попадают автоматически, но вы можете добавить их и вручную. Для этого используйте команду add объекта neigh:
sudo ip neigh add 192.168.0.105 lladdr b0:be:76:43:21:41 dev enp0s3
В этом примере я заставил компьютер думать, что узел с IP 192.168.0.105 это 192.168.0.1. Теперь можно попытаться выполнить ping по этому адресу и оно будет работать, несмотря на то, что реально такого узла в сети нет.
10. Очистка таблицы ARP
Вы можете удалять IP адреса по одному с помощью команды del:
sudo ip neigh del dev enp0s3 192.168.0.105
Можно удалить все записи для определённого сетевого интерфейса:
ip neigh flush dev enp0s3
Или очистить таблицу полностью командой flush:
11. Просмотр таблицы маршрутизации
Для просмотра таблицы маршрутизации используйте объект route и команду show:
12. Добавление маршрута
Синтаксис добавления нового маршрута в таблицу маршрутизации такой:
$ ip route add подсеть / маска via шлюз
Вместо шлюза можно указать сетевой интерфейс с помощью которого надо отправлять пакеты:
$ ip route add подсеть / маска dev устройство
Например, добавим новый маршрут для сети через тот же IP адрес:
sudo ip route add 169.255.0.0 via 169.254.19.153
Или можно указать сетевой интерфейс через который надо отправлять пакеты для определённой сети:
sudo ip route add 169.255.0.0 dev enp0s3
13. Удаление маршрута
Удалить маршрут можно командой с аналогичным синтаксисом, только вместо add надо использовать del:
sudo ip route del 169.255.0.0 via 169.254.19.153
Выводы
Вот и подошла к завершению наша статья. Надеюсь, утилита ip Linux уже не кажется такой непонятной. Если у вас есть вопросы или хотите предложить ещё какие-нибудь примеры, пишите комментарии!
Как удалить сетевой интерфейс linux
Для добавления или удаления физических сетевых интерфейсов необходимо всегда использовать утилиту netifcfg.
Ниже рассмотрены конкретные примеры. Ваши условия могут отличаться, учитывайте это.
3. Войдите в Linux bash.
5. Перед добавлением нового физического сетевого интерфейса получите список текущих интерфейсов в нотации Linux (это нужно, чтобы после добавления нового сетевого интерфейса можно было однозначно определить его имя в нотации Linux):
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0:
mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:50:56:9e:7a:a9 brd ff:ff:ff:ff:ff:ff
3: eth1:
mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:50:56:9e:5a:f9 brd ff:ff:ff:ff:ff:ff
4: eth2:
mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 00:50:56:9e:6f:d8 brd ff:ff:ff:ff:ff:ff
6. Выключите шлюз и добавьте новый сетевой интерфейс (сетевая карта для аппаратного шлюза, либо сетевой адаптер для виртуального шлюза). После чего включите шлюз, дождитесь загрузки и войдите в Linux bash.
Примечание. Для виртуального шлюза рекомендуется добавлять сетевые адаптеры только одного типа. Например, для гипервизора ESXi либо все адаптеры с типом (Adapter Type) e1000, либо все Vmxnet3.
7. Определите в нотации Linux имя нового сетевого интерфейса:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0:
mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:50:56:9e:7a:a9 brd ff:ff:ff:ff:ff:ff
3: eth1:
mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:50:56:9e:5a:f9 brd ff:ff:ff:ff:ff:ff
4: eth2:
mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 00:50:56:9e:6f:d8 brd ff:ff:ff:ff:ff:ff
5: __err__eth3:
mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 00:50:56:9e:dd:57 brd ff:ff:ff:ff:ff:ff
Видно, что новый сетевой интерфейс добавился под именем __err__eth3 (префикс __err__ говорит о том, что данный интерфейс добавлен системой автоматически и для него отсутствует привязка).
Примечание. При осуществлении привязки, имена интерфейсам назначаются исходя из сортировки по уникальным идентификаторам (в данном случае по адресу PCI шины). Чем больше значение идентификатора, тем больше номер интерфейса (здесь eth ).
Чтобы этого не произошло, следует проверить привязки перед осуществлением привязки сетевых интерфейсов с помощью команды netifcfg map и в случае необходимости изменить номера интерфейсов.
8. Сгенерируйте описание для физических сетевых интерфейсов при помощи netifcfg с опцией enum и посмотрите результат.
# netifcfg enum > map.txt
#Unique ID iface type OS name Cisco-like name
0000:03:00.0 phye eth0 GigabitEthernet0/0
0000:0b:00.0 phye eth1 GigabitEthernet0/1
0000:13:00.0 phye eth2 GigabitEthernet0/2
0000:1b:00.0 phye eth3 GigabitEthernet0/3
9. Осуществите привязку сетевых интерфейсов при помощи netifcfg с опцией map :
# netifcfg map map.txt
SUCCESS: Operation was successful.
Примечание. Автоматически сгенерированные строки для физических интерфейсов в данном файле менять запрещено.
SUCCESS: Operation was successful.
Процедура удаления выполняется аналогично процедуре добавления.
🇺🇸 Как включить (UP) и отключить (DOWN) порт сетевого интерфейса (NIC) в Linux?
Вам может потребоваться выполнить эти команды в соответствии с вашими требованиями.
Я могу привести несколько примеров, где вам это понадобится.
При добавлении нового сетевого интерфейса или при создании нового виртуального сетевого интерфейса из исходного физического интерфейса.
вам может понадобиться отослать эти команды, чтобы вызвать новый интерфейс.
Кроме того, если вы внесли какие-либо изменения или если они не работают, вам нужно выполнить одну из следующих команд, чтобы применить их.
Это можно сделать разными способами, и мы хотели бы добавить лучшие пять методов, которые мы использовали в статье.
Это можно сделать, используя следующие пять методов.
Приведенные ниже выходные данные показывают информацию о доступной сетевой карте (NIC) в моей системе Linux.
1) Как подключить и отключить сетевой интерфейс в Linux с помощью команды ifconfig?
Команда ifconfig используется для настройки сетевого интерфейса.
Он используется во время загрузки для настройки интерфейсов по мере необходимости.
Он предоставляет много информации о NIC.
Мы можем использовать команду ifconfig, когда нам нужно внести какие-либо изменения в сетевую карту.
Общий синтаксис для ifconfig:
Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.
Запишите его, вы должны ввести имя вашего интерфейса вместо нашего варианта.
Да действительно, данный интерфейс не работает согласно следующему выводу.
Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux.
Да, данный интерфейс работает сейчас согласно следующему выводу.
2) Как включить и отключить сетевой интерфейс в Linux с помощью команды ifdown / up?
Команда ifdown отключает сетевой интерфейс, а команда ifup – поднимает сетевой интерфейс.
Примечание. Она не работает с новым интерфейсным именем устройства, таким как enpXXX.
Общий синтаксис для ifdown / ifup:
Выполните следующую команду, чтобы отключить интерфейс eth1 в Linux.
Выполните следующую команду, чтобы включить интерфейс eth1 в Linux.
Да, данный интерфейс работает сейчас согласно следующему выводу.
ifup и ifdown не поддерживают последние имена интерфейсных устройств enpXXX.
При запуске команды я получил следующее сообщение.
3) Как вывести из строя или поднять сетевой интерфейс в Linux с помощью команды ip?
Команда ip используется для управления картой сетевого интерфейса (NIC).
Это замена старой и устаревшей команды ifconfig в современных системах Linux.
Она похожа на команду ifconfig, но имеет много мощных функций, которые недоступны в команде ifconfig.
Общий синтаксис для IP:
Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.
Да, данный интерфейс не работает согласно следующему выводу.
Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux.
Да, данный интерфейс работает сейчас согласно следующему выводу.
4) Как включить и отключить сетевой интерфейс в Linux с помощью команды nmcli?
nmcli – это инструмент командной строки для управления NetworkManager и создания отчетов о состоянии сети.
Его можно использовать в качестве замены для nm-applet или других графических клиентов. nmcli используется для создания, отображения, редактирования, удаления, активации и деактивации сети.
подключения, а также контролировать и отображать состояние сетевого устройства.
Выполните следующую команду, чтобы определить имя интерфейса, потому что команда nmcli выполняет большую часть задачи, используя имя профиля вместо имени устройства.
Общий синтаксис для IP:
Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.
Вы должны дать имя профиля вместо имени устройства, чтобы отключить его.
Да, данный интерфейс не работает согласно следующему выводу.
Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux. Вы должны дать имя профиля вместо имени устройства, чтобы включить его.
Да, данный интерфейс работает сейчас согласно следующему выводу.
5) Как вывести из строя сетевой интерфейс в Linux с помощью команды nmtui?
nmtui – приложение TUI на основе curses для взаимодействия с NetworkManager.
При запуске nmtui пользователю предлагается выбрать действие для выполнения, если оно не было указано в качестве первого аргумента.
Запустите следующую команду, чтобы запустить интерфейс nmtui.
Выберите «Подключится» и нажмите «ОК».
Выберите интерфейс, который хотите отключить, затем нажмите кнопку «отключить».
Для активации выполните ту же процедуру, что и выше.
Команда ip в Linux (с примерами)
Команда ip — это мощный инструмент для настройки сетевых интерфейсов, который должен знать любой системный администратор Linux. Он используется для включения или выключения интерфейсов, назначения и удаления адресов и маршрутов, управления кешем ARP и многого другого.
В этой статье объясняется, как использовать команду ip, на практических примерах и подробных объяснениях наиболее распространенных параметров.
Как использовать команду ip
Утилита ip является частью пакета iproute2, который установлен во всех современных дистрибутивах Linux.
Синтаксис команды ip следующий:
OBJECT — это тип объекта, которым вы хотите управлять. Наиболее часто используемые объекты (или подкоманды):
Отображение и изменение IP-адресов
При работе с объектом addr команды принимают следующий вид:
Отображение информации обо всех IP-адресах
Чтобы отобразить список всех сетевых интерфейсов и связанный с ними IP-адрес, введите следующую команду:
Результат будет выглядеть примерно так:
Отображение информации об одном сетевом интерфейсе
Назначьте IP-адреса интерфейсу
Чтобы назначить IP-адрес интерфейсу, используйте следующий синтаксис:
Где IFNAME — это имя интерфейса, а ADDRESS — это IP-адрес, который вы хотите назначить интерфейсу.
Назначьте несколько IP-адресов одному интерфейсу
С помощью ip вы можете назначить несколько адресов одному интерфейсу. Например:
Удалить / удалить IP-адрес из интерфейса
Синтаксис для удаления IP-адреса из интерфейса следующий:
IFNAME — это имя интерфейса, а ADDRESS — это IP-адрес, который вы хотите удалить из интерфейса.
Чтобы удалить адрес 192.168.121.45/24 с устройства eth0, введите:
Отображение и изменение сетевых интерфейсов
Отображение информации о сетевых интерфейсах
Чтобы отобразить список всех сетевых интерфейсов, введите следующую команду:
Чтобы получить информацию о конкретном сетевом интерфейсе, используйте ip link show dev за которым следует имя устройства. Например, чтобы запросить eth0 вы должны ввести:
Измените статус интерфейса ВВЕРХ / ВНИЗ
Чтобы вывести интерфейсы вверх или вниз, используйте ip link set dev за которым следует имя устройства и желаемое состояние:
Например, чтобы подключить интерфейс eth0 сети, вы должны ввести:
И принести если оффлайн
Отображение и изменение таблицы маршрутизации
Показать таблицу маршрутизации
Чтобы получить список записей маршрута ядра, используйте одну из следующих команд:
При использовании без SELECTOR команда выведет список всех записей маршрута в ядре:
Добавить новый маршрут
Чтобы добавить новую запись в таблицу маршрутизации, используйте команду route add за которой следует имя сети или устройства.
Добавьте маршрут к 192.168.121.0/24 через шлюз 192.168.121.1
Добавьте маршрут к 192.168.121.0/24, который может быть достигнут на устройстве eth0.
Удалить маршрут
Следующая команда удалит маршрут по умолчанию:
Удалите маршрут для 192.168.121.0/24 через шлюз 192.168.121.1
Выводы
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.