Удаление сетевого интерфейса linux

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

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

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

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

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

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

ip [ OPTIONS ] OBJECT  COMMAND | help > 

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

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

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

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

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

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

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

ip addr [ COMMAND ] ADDRESS dev IFNAME 

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

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

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

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

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever 

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

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

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

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

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

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

ip addr add ADDRESS dev IFNAME 

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

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

sudo ip address add 192.168.121.45/24 dev eth0

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

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

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

sudo ip address add 192.168.121.241/24 dev eth0sudo ip address add 192.168.121.45/24 dev eth0

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

2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 3515sec preferred_lft 3515sec inet 192.168.121.45/24 scope global secondary eth0 valid_lft forever preferred_lft forever 

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

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

ip addr dev ADDRESS dev IFNAME 

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

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

sudo ip address del 192.168.121.45/24 dev eth0

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

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

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

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

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

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff 

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

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

2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff 

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

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

ip link set dev DEVICE> up|down> 

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

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

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

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

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

ip route ip route list ip route list SELECTOR 

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

default via 192.168.121.1 dev eth0 proto dhcp src 192.168.121.241 metric 100 192.168.121.0/24 dev eth0 proto kernel scope link src 192.168.121.241 192.168.121.1 dev eth0 proto dhcp scope link src 192.168.121.241 metric 100 

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

172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 

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

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

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

ip route add 192.168.121.0/24 via 192.168.121.1

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

ip route add 192.168.121.0/24 dev eth0

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

ip route add default via 192.168.121.1 dev eth0

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

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

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

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

ip route add 192.168.121.0/24 via 192.168.121.1

Выводы

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

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

Источник

How to permanently remove eth0.x in CentOS

I’m trying to remove eth0.x and keep eth0. While ifconfig lists both eth0.1 and eth0.500, I didn’t find their configuration files /etc/sysconfig/network-scripts/ifcfg-eth0.x . I tried ifconfig eth0.1 down and it worked. But after restarting the network, both eth0.1 and eth0.500 came back. Is there a way to permanently remove these two interfaces?

You can remove the network card from the machine (but note that then the eth* name can change on the next boot).

eth0.x and eth0 are on the same card. Is there a way to remove eth0.x without deleting eth0? @grochmal

3 Answers 3

I’m thinking you use Centos 7, where Network-Manager is default network configuration utility. Two interfaces eth0.1 and eth0.500 are vlan 1 and vlan 500 tagged. To show all interfaces use command: # nmcli connection show To delete both vlan interfaces use these commands: # nmcli con del eth0.1 and # nmcli con del eth0.500 You can find help there https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/sec-Configure_802_1Q_VLAN_Tagging_Using_the_Command_Line_Tool_nmcli.html

These are virtual devices, they do not have their own configuration files in /etc/sysconfig/network-scripts/ but are defined in the main configuration file, something along the lines of this:

iface eth0:1 inet static address 192.168.4.1 netmask 255.255.255.0 

You can delete the interface using ip link delete eth0.1 assuming you want to delete interface eth0.1 . But if the main configuration file holds those lines or something similar as I wrote above then I think the interface will come back on reboot. To permanently remove it then find the lines that define the virtual interface and comment them out or remove them (I recommend commenting out, never know unless you need them some time again).

Источник

Bring down and delete bridge interface that’s up

How do I remove a bridge that has an IP address that was brought up manually and isn’t in /etc/network/interfaces?

$ ifconfig br100 br100 Link encap:Ethernet HWaddr 00:00:00:00:00:00 inet addr:172.16.0.5 Bcast:172.16.0.255 Mask:255.255.255.0 
# brctl delbr br100 bridge br100 is still up; can't delete it 
# ifdown br100 ifdown: interface br100 not configured 

7 Answers 7

# ip link set br100 down # brctl delbr br100 

To delete all bridge interfaces do sudo ip link show | grep br- | awk -F ‘:’ ‘‘ | tr -d ‘ ‘ | while read b; do sudo ip link set «$b» down; sudo brctl delbr «$b»; done

I stumbled upon an info that «brctl» is obsolete as of centos8 (and may be missing from the repos). Use «ip» as in answer by robo

$ sudo ip link delete br0 type bridge 

To clarify this for future.

ifup and ifdown are commands from some flavours of linux. And are used to control network settings set in /etc/network/interfaces for debian based systems and /etc/sysconfig/network-scripts/ifcg* on Redhat based systems (I cannot comment on others).

Creating and removing interfaces manually is done by using ifconfig (or ip which is bit more tricky to use). Bridges can be controlled with brctl

So after removing all interfaces from a bridge with brctl delif it can be moved to «down state» with ifconfig br100 down (or ip link set br100 down ) and can now be removed with brctl delbr br100

Please note that using network-manager to manage your networks might make your manually changed interfaces to reset.

Источник

Читайте также:  Samsung scx 3200 драйвер linux
Оцените статью
Adblock
detector