Linux именование сетевых интерфейсов

Именование сетевых интерфейсов в Debian 9 Stretch. Как переименовать сетевой интерфейс. Как вернуть старое именование сетевых интерфейсов.

При переходе на использование Debian 9 Stretch, обнаружил что имена сетевых интерфейсов имеют странный вид, вместо привычных eth0.. я вижу ens32:

ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 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 inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens32: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:50:56:92:95:88 brd ff:ff:ff:ff:ff:ff inet 10.10.16.22/8 brd 10.255.255.255 scope global ens32 valid_lft forever preferred_lft forever inet6 fe80::250:56ff:fe92:9588/64 scope link valid_lft forever preferred_lft forever

Как оказалось что в Debian 9 Stretch ввели новый стандарт схемы именования сетевых интерфейсов. Новый метод использует предоставляемый BIOS указатель номеров, а затем пытается использовать номера слотов PCI-карт, что приводит к созданию имён вида ens0 или enp1s1 (ethernet), а также wlp3s0 (wlan).

Поэтому во время загрузке системы, выполняется переименование интерфейсов согласно новой методике, в моем случае с eth0 на ens32:

dmesg | grep -i eth [ 1.207176] e1000 0000:02:00.0 eth0: (PCI:66MHz:32-bit) 00:50:56:92:95:88 [ 1.207184] e1000 0000:02:00.0 eth0: Intel(R) PRO/1000 Network Connection [ 1.208713] e1000 0000:02:00.0 ens32: renamed from eth0

Хочу обратить внимание, что при обновлении с предыдущей версии (Debian 8 Jessie) имена сетевых интерфейсов, не будут изменены согласно новой методике.

Вернуть старые имена для интерфейсов

В файле загрузчика (/etc/default/grub), необходимо понять значение строки:

GRUB_CMDLINE_LINUX="" на GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

После этого применяем сделанные изменения в загрузчике, выполняем команду:

grub-mkconfig -o /boot/grub/grub.cfg 

Переименование интерфейсов

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

ip link set ens32 down ip link set ens32 name eth0 ip link set eth0 up

Данное изменение имени интерфейса временное, после перезагрузки системы, сделанные изменения пропадут.

Читайте также:  Arch linux ip address

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

nano /etc/udev/rules.d/70-persistent-net.rules 

К примеру, интерфейс с MAC-адресом, необходимо переименовать в eth0, пишем следующее:

# interface with MAC address "00:50:56:92:95:88" will be assigned "eth0" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR=="00:50:56:92:95:88", ATTR=="0x0", ATTR=="1", KERNEL=="eth*", NAME="eth0" 

После перезагрузки системы или службы сети, изменения в именование интерфейса будет применены.

Важно помнить, что после всех сделанных изменений, необходимо так же внести изменения в конфигурационный файл /etc/network/interfaces, изменить старые имена интерфейсов на новые.

Понравилась или оказалась полезной статья, поблагодари автора

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА

Источник

Ручная настройка сети в Linux

Для доступа к сетевым картам в Linux используются так называемые интерфейсы. Интерфейсы это не файлы устройств и их нет в каталоге /dev. Интерфейсы создаются динамически и не всегда связаны с сетевыми картами. Например интерфейс ppp0 — это интерфейс VPNа, организованного по протоколу PPTP, а интерфейс lo это виртуальная сетевая карта с адресом localhost (127.0.0.1). В Linux имена интерфейсов традиционно состоят из мнемонического типа интерфейса и его порядкового номера. Карты ethernet доступны через интерфейсы eth0, eth1 и т.д. В системах, использующих systemd способ именования другой — интерфейсы имеют имена вида enp2s0 (en -Ethernet, p — PCI, 2 — номер на шине) Список всех интерфейсов можно посмотреть командой ifconfig -a или ip link .

Привязка интерфейса к карте

При наличии нескольких сетевых карт возникает вопрос о порядке их нумерации. В CentOS 6 эта задача возложена на подсистему обнаружения и конфигурации устройств — udev. В системах с systemd правила именования встроены в udev, но могот быть переопределены, как написано ниже.

Конфигурационный файл переименования интерфейсов обновляется автоматически при первом обнаружении очередной сетевой карты и находится в файле /etc/udev/rules.d/70-persistent-net.rules. Файл состоит из строк такого содержания:

# PCI device 0x1af4:0x1000 (virtio-pci) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR=="52:54:00:29:24:1e", ATTR=="1", KERNEL=="eth*", NAME="eth0" 

Видно, что нумерация опирается на аппаратный (MAC) адрес карты. Если в компьютере заменить карту, то интерфейс eth0 станет недоступным, а новая карта получит имя eth1. Если есть желание вручную назначить имена картам, то можно отредактировать этот файл, выставив желаемые соответствия между MAC адресами именами интерфейсов (возможно потребуется перезагрузка).

Читайте также:  Показать все ip адреса линукс

ifcfg

Классическая утилита конфигурации сетевых интерфейсов ifcfg

#просмотр списка активных интерфейсов ifcfg #просмотр конфигурации конкретного интерфейса ifcfg eth0 #просмотр списка доступных интерфейсов ifcfg -a #настройка ip адреса и активация интерфейса ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up #деактивация интерфейса ifconfig eth0 down 

route

Настройка таблицы маршрутизации route

#добавление шлюза по умолчанию route add default gw 192.168.0.1 #добавление маршрута в локальную сеть route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 #добавление маршрута в удаленную сеть route add -net 192.57.66.0 netmask 255.255.255.0 gw 192.168.0.2 #удаление маршрута route del -net 192.57.66.0 netmask 255.255.255.0 gw 192.168.0.2 #просмотр таблицы маршрутизации route #или netstat -r 

ip

В современных дистрибутивах линукса на смену ifconfig и route приходит универсальная утилита ip

#просмотр списка доступных интерфейсов ip link #просмотр статистики по интерфейсам ip -s link #просмотр ip адресов ip addr #просмотр таблицы маршрутизации ip route 

DNS

Адреса серверов DNS и имя локального домена вписываются в файл /etc/resolv.conf

search example.com nameserver 8.8.8.8 

Ручная настройка сети в ArchLinux

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

ArchLinux использует для настройки сети systemd/netctl . Для конфигурации используются файлы профилей, которые хранятся в /etc/netctl/ . В данном каталоге есть подкаталог examples/ из которого можно копировать файлы с образцами профилей в /etc/netctl/ . Например:

cp /etc/netctl/examples/ethernet-static /etc/netctl/enp1s0-work 

Содержимое enp1s0-work после редактирования

Interface=enp1s0 Connection=ethernet IP=static Address=('10.1.10.2/24') Gateway='10.1.10.1' DNS=('10.1.10.1') 
#активация профиля netctl start enp1s0-work #включение автоматической активации с текущими настройками профиля при старте системы netctl enable enp1s0-work #обновление конфигурации автостарта после изменения настроек профиля netctl reenable enp1s0-work 

Ручная настройка сети в Ubuntu 20 и старше

В Ubuntu 20 система скриптов ifup / ifdown заменена программой netplan , со своими конфигурационными файлами на языке YAML — /etc/netplan/имяфайла.yaml

Пример конфигурации

Здесь только секция ethernets, но могут быть секции для vlan, bonding и т.д. Массивы имеют две альтернативные формы записи — в квадратных скобках и построчно, где каждая строка начинается с «- «. link-local: [] — запрет IPV6

network: version: 2 renderer: networkd ethernets: enp3s0f0: link-local: [] addresses: - 192.168.56.110/24 routes: - to: 172.16.0.0/24 via: 192.168.56.100 gateway4: 192.168.56.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] 

Команды

netplan generate — генерация из файлов YAML конфигураций для бэкендов NetworkManager или systemd-networkd в каталогах /run/каталог_бэкенда/. Здесь же проходит валидация синтаксиса.

Читайте также:  Установка драйверов wifi linux mint 19

netplan apply — применение конфигурации

Ручная настройка сети в Ubuntu

Просмотр доступных интерфейсов — ifcfg -a

Файл конфигурации интерфейсов — /etc/network/interfaces . auto — говорит о том, что интерфейс надо конфигурировать при старте системы.

iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.254 auto eth0 iface eth1 inet dhcp auto eth1 

После смены настроек в /etc/network/interfaces , необходимо отключить и снова включить интерфейс.

Ручная настройка сети в CentOS 6

Общие настройки сети

Файл /etc/sysconfig/network используется стартовыми скриптами и содержит ключевые параметры — нужна ли сеть, нужно ли конфигурировать IP v6, имя компьютера. Сюда можно вписать шлюз по умолчанию, но CentOS 6 ориентируется на динамическое подкючение к сетям через WiFi и вписывает его в конфигурацию подходящего интерфейса.

NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=wwww.example.com GATEWAY=10.10.10.1 

Конфигурация интерфейса

Файлы в каталоге /etc/sysconfig/network-scripts с именами вида ifcfg-eth0

Интерфейс, получающий адрес по DHCP

# динамическая конфигурация интерфейса ONBOOT="yes" DEVICE="eth0" BOOTPROTO="dhcp" 
# статическая конфигурация интерфейса ONBOOT="yes" DEVICE="eth1" BOOTPROTO="static" IPADDR=145.14.137.221 PREFIX=24 # конфигурация шлюза и DNS GATEWAY=192.168.1.1 DEFROUTE=yes DNS1=192.168.1.14 # NM - NetworkManager - графическая оболочка + автоматизация настроек NM_CONTROLLED="no" 

Дополнительный IP адрес на интерфейсе eth1

ONBOOT=no DEVICE=eth1:0 BOOTPROTO=static IPADDR=172.16.12.6 NETMASK=255.255.0.0 # следующие два параметра можно не писать # они вычисляются из IP и маски BROADCAST=172.16.255.255 NETWORK=172.16.0.0 

Инициализация VLAN на eth1

DEVICE=eth1.72 VLAN=yes VLAN_TRUNK_IF=eth1 BOOTPROTO=static IPADDR=10.10.0.1 NETMASK=255.255.255.192 ONBOOT=yes 

Настройка DNS

Файл /etc/resolv.conf

# мой домен, для подстановки в короткие имена search example.com # сервер DNS nameserver 8.8.8.8 

Ручная настройка имен хостов файл /etc/hosts

127.0.0.1 localhost.localdomain localhost ANY ::1 localhost6.localdomain6 localhost6 194.87.0.50 www.ru 

Настройка брандмауэра

Файл /etc/sysconfig/system-config-firewall правила для настройки программой system-config-firewall

Файл /etc/sysconfig/iptables текущие правила, сохраненные на случай перезагрузки.

После ручного изменения правил их можно сохранить командой service iptables save

Источник

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