Настройка локальной сети вручную в ubuntu

Опции iface

Следующие «командные» опции доступны для любойго семейства и метода. Каждая из этих опций может быть задана несколько раз в одной строфе, в этом случае команды исполняются в том порядке, в котором они появляются в строфе. (Вы можете убедиться, что команда никогда не завершается с ошибкой, добавив суффикс «|| true». )

pre-up команда

Запустить команду до поднятия интерфейса. Если команда завершается с ошибкой, тогда ifup не отмечает интерфейс как настроенный, выводит сообщение об ошибке и завершается со статусом 0. В будущем это поведение может измениться.

up команда | post-up команда

Запустить команду после поднятия интерфейса. Если команда завершается с ошибкой, тогда ifup не отмечает интерфейс как настроенный (даже если он в действительности настроен), выводит сообщение об ошибке и завершается со статусом 0. В будущем это поведение может измениться.

down команда | pre-down команда

Запустить команду перед отключением интерфейса. Если команда завершается с ошибкой, тогда ifdown помечает интерфейс как не настроенный (даже если на самом деле его настройки не были сброшены) и завершается со статусом 0. В будущем это поведение может измениться.

post-down команда

Запустить команду после отключения интерфейса. Если команда завершается с ошибкой, ifdown помечает интерфейс как не настроенный и завершается со статусом 0. В будущем это поведение может измениться.

Для каждой из вышеперечисленных опций существует каталог /etc/network/if-<опция>.d/, сценарии в котором запускаются (без аргументов) с помощью run-parts(8) после обработки самих опций.

Все эти команды имеют доступ к следующим переменным окружения.

IFACE – Физическое имя обрабатываемого интерфейса.

LOGICAL – Логическое имя обрабатываемого интерфейса.

ADDRFAM – Семейство адресов интерфейса.

METHOD – Метод интерфейса (например, static).

MODE – start – если команда запущена из ifup, stop – если команда запущена из ifdown.

PHASE – Как и MODE, но с большей точностью, при которой различаются фазы pre-up, post-up, pre-down и post-down.

VERBOSITY – Указывает, что используется опция –verbose; установлена в 1 если это так, или 0 – если нет.

PATH – Путь поиска команды: usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Дополнительно, все опции, заданные в строфе определения интерфейса, экспортируются в переменные окружения. Имя переменной состоит из символов в верхнем регистре, дополненное символами «IF_» слева, с дефисами, преобразованными в знаки подчеркивания и с отброшенными не алфавитно-цифровыми символами.

Редактирование файла hosts

Файл Hosts сопоставляет имя хоста с IP-адресом локально. Например, у вас есть сервер в вашей локальной сети, вместо того, чтобы запоминать его IP, вы можете сопоставить его IP с именем в вашем файле hosts. Это позволит вам получить доступ к этой машине с именем вместо IP.

Чтобы отредактировать файл хостов, введите:

sudo nano /etc/hosts

Добавьте IP-адрес и имя сервера в файл хостов в следующем формате.

192.168.72.10 fileserver

Сохраните файл и перезагрузите систему, чтобы изменения вступили в силу.

Это все, что вам нужно для настройки сети в Ubuntu. Это были базовые конфигурации, есть много более сложных опций, которые вы можете настроить на своем компьютере с Ubuntu.

Как отключить ipv6 в Debian

Пока еще новая версия протокола ip не получила широкого распространения, если он вам специально не нужен, ipv6 можно отключить. Прежде чем отключать, необходимо узнать, какие сервисы в настоящее время его используют и перенастроить их, отключив у них ipv6. Если этого не сделать, то в работе этих программ могут возникнуть ошибки. Скорее всего не критичные, но все равно, сделаем все аккуратно и правильно. Сначала проверим, что у нас работает на ipv6:

На свежеустановленном сервере debian программы ssh, exim, dhclient и rpcbind используют ipv6. Отключим это. Начнем с ssh. Открываем файл /etc/ssh/sshd_config и раскомментируем параметр ListenAddress:

Перезапускаем ssh:

Сделаем то же самое с exim4. Открываем файл конфигурации /etc/exim4/exim4.conf.template и в самом начале, после вступительных комментариев пишем:

Перезапускаем exim:

В dhclient для отключения ipv6 в конфиге убираем все параметры в запросе request, начинающиеся с dhcp6. Должно получиться вот так:

Перезапускаем сеть:

Отключаем ipv6 в rpcbind. Открываем конфигурацию /etc/netconfig и комментируем 2 строки с udp6 и tcp6:

Перезапускаем службу rpcbind и nfs-common, которая от него зависит:

Проверяем, что у нас осталось:

dhclient почему-то остался висеть на ipv6 порту, но ладно, это не страшно, запрашивать по ipv6 он все равно ничего не будет. Теперь полностью отключаем ipv6 в Debian:

Добавьте эти строки в любое место конфига, например, в самый конец. Перезапустим sysctl для применения настроек:

Проверяем свойства сетевых интерфейсов командами ifconfig и ip. Информации об ipv6 быть не должно, мы его полностью отключили.

Более подробно по об отключении ipv6 в различных приложениях читайте в отдельной статье — как отключить ipv6.

Описание

/etc/network/interfaces содержит информацию по настройке сетевого интерфейса для команд ifup(8) и ifdown(8).

Здесь вы указываете, каким образом ваша система подключена к сети.

Строки, которые начинаются с символа «#» игнорируются

Обратите внимание, что комментарии с явным указанием конца строки не поддерживаются, комментарии должны занимать одну строку.. Строка может быть перенесена на новую строку для удобства чтения, для этого в конце строки необходим символ «\».

Строка может быть перенесена на новую строку для удобства чтения, для этого в конце строки необходим символ «\».

Файл состоит из нуля или более строф «iface», «mapping», «auto» и «allow-». Ниже указаны примеры.

auto lo eth0

allow-hotplug eth1

iface lo inet loopback

mapping eth0

script /usr/local/sbin/map-scheme

map HOME eth0-home

map WORK eth0-work

iface eth0-home inet static

address 192.168.1.1

netmask 255.255.255.0

up flush-mail

iface eth0-work inet dhcp

iface eth1 inet dhcp

Строки начинающиеся со слова «auto» используются для идентификации физических интерфейсов при их подьеме в время запуска ifup с опцией -a. (Эта опция используется сценариями загрузки системы.) Имена физических интерфейсов должны следовать за словом «auto» в той же строке. Может быть несколько строф «auto». ifup поднимет названные интерфейсы в порядке их перечисления.

Строки, начинающиеся с «allow-» используются для идентификации интерфейсов, которые должны быть подняты автоматически различными подсистемами. Это может быть сделано, например, с использованием команды «ifup –allow=hotplug eth0 eth1″, которая будет поднимать только eth0 или eth1, если они перечислены в строке «allow-hotplug». Учтите, что «allow-auto» и «auto» – синонимы.

Строфы, начинающиеся со слова «mapping», используются определения, какой логический интерфейс соответствует физическому интерфейсу, который будет поднят. Первая строка строфы отображения (mapping) состоит из слова «mapping» с последующим шаблоном, соответствующим синтаксису глобальной оболочки. Каждая такая строфа отображения должна содержать определение сценария. Именованный сцеанрий запускается с именем физического интерфейса в качестве аргумента и с передачей на его стандартный вход всех следующих «map» строк (без ведущей «map») в строфе. Сценарий перед завершением должен вывести строку на стандартный вывод. Обратитесь к /usr/share/doc/ifupdown/examples за примерами того, что должен вывести сценарий.

Отображение имени состоит из поиска необходимого шаблона отображения и запуска сценария, соответствующего первому совпадению; сценарий выводит имя, в которое будет отображено исходное имя.

ifup, в качестве его первого обязательного аргумента, обычно передается имя физического интерфейса. ifup так же использует это имя как начальное логическое имя интерфейса, если оно не сопровождается суффиксом вида =LOGICAL, в этом же случае ifup выбирает LOGICAL в качестве начального логического имени интерфейса. Затем это название отображения, возможно более одного раза в соответствии с последующими спецификациями отображения, до тех пор пока больше не останется доступных отображений. Если окончательное имя – это имя некого определенного логического интерфейса, тогда ifup попытается поднять физический интерфейс как этот логический интерфейс. В противном случае ifup закончит работу с ошибкой.

Строфы, определяющие логические интерфейсы, начинаются со строки, содержащей слово «iface», которая сопровождается именем логического интерфейса. В простых конфигурациях, без строф отображения, это имя просто должно быть именем физического интерфейса, к которому будут применены настройки. (Сценарий отображения по умолчанию действует подобно команде echo.) За именем интерфейса следует название семейства адресов, которое использует интерфейс. Это может быть «inet» для сетей TCP/IP, но имеется так же поддержка сетей IPX («ipx»), и сетей IPv6 («inet6″). За ним следует название метода, используемого для настройки интерфейса.

Дополнительные опции могут быть заданы в последующих строках строфы. Доступность опций зависит от семейства и метода, как описано ниже. Дополнительные опции могут предоставляться другими пакетами Debian. Например, пакет wireless-tools предоставляет несколько опций, начинающихся с «wireless-», которые можно использовать для настройки интерфейса с помощью iwconfig(8). (Обратитесь к wireless(7) за подробностями.)
Опции обычно содержат отступ для ясности (как в примере выше) но это не обязательно.

Простая настройка сети

Разберем пример настройки 3-х сетевых интерфейсов. Два из них будут с IP-адресами назначенными вручную (static IP), один — по DHCP.

Приводим файл к следующему виду:

network:
    version: 2
    renderer: networkd
    ethernets:
        ens3:
            dhcp4: true
        ens7:
            dhcp4: no
            addresses: [192.168.122.195/24]
            gateway4: 192.168.122.1
            mtu: 1500
            nameservers:
                addresses:
                search:
        ens9:
            dhcp4: no
            addresses: [192.168.1.10/24, 192.168.1.20/24]
            nameservers:
                addresses:
                    — 8.8.8.8
                    — 77.88.8.8
                search:

* где:

version — версия YAML. На момент обновления статьи, была 2.
renderer — менеджер сети (networkd или NetworkManager).
ethernets — настройка сетевых адаптеров ethernet.
ens3, ens7, ens9 — настройки для соответствующих сетевых адаптеров. В данном примере мы настраиваем 3 сетевых адаптера.
dhcp4 — будет ли получать сетевой адаптер IP-адрес автоматически. Возможны варианты yes/true — получать адрес автоматически; no/false — адрес должен быть назначен вручную.
addresses — задает IP-адреса через запятую.
gateway4 — шлюз по умолчанию. В данном примере указывается только для интерфейса ens7.
mtu  — при желании, можно задать значение MTU.
nameservers — настройка серверов имен (DNS).
nameservers addresses — указываем серверы DNS

Обратите внимание на разный формат записи для ens7 и ens9. Приемлемы оба варианта.
nameservers search — дописывает окончание домена, если мы обращаемся к узлу сети только по его имени

Стоит обратить внимание, что мы можем указать несколько доменов через запятую.

Как узнать IP, шлюз и маску?

Вы не можете установить любой IP для своего компьютера. Есть определенный диапазон значений, которые можно использовать. Ваш новый ip адрес должен быть в той же сети, что IP адрес роутера, который представляет из себя шлюз в сеть. Также, если вы задаете IP вручную, то нужно указать и другие параметры, которые система раньше получала по DHCP. И перед тем как переходить к настройке давайте рассмотрим откуда взять эти данные.

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

  • 10.0.0.0 – 10.255.255.255
  • 172.16.0.0 – 172.31.255.255
  • 192.168.0.0 – 192.168.255.255

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

Очень важно указать шлюз правильно, иначе компьютер не сможет получить доступ к сети. Посмотреть текущий адрес шлюза можно командой:

Здесь мы видим, что наш адрес шлюза — 192.168.0.1. Отсюда выплывает, что нам нужно выбирать наш ip именно из этого диапазона, можно менять только последнюю цифру и надо, чтобы в этой сети компьютеров с такими адресами больше не было, например, 192.168.0.64.

Маска подсети используется чтобы отделить локальную часть ip адреса, которая меняется, от статической. Сейчас в большинстве случаев применяется значение 255.255.255.0, которое означает изменение только последней цифры. Теперь, когда вы знаете откуда брать все значения, рассмотрим как установить ip адрес Linux.

Группы интерфейсов

Возможность работать с диапазонами портов — привычное дело для пользователей управляемых коммутаторов. Для тех, кто скучает по этой возможности в Linux, такая функциональность есть в iproute2.

Неудобство состоит в том, что интерфейсы нужно добавлять в группы по одному, командой . Номер группы должен быть в диапазоне от 1 до 255, по умолчанию интерфейсы принадлежат группе 0.

Создадим пару интерфейсов dummy и добавим их в группу номер 10:

1
2
3
4

$ip link add name dum0 type dummy

$ip link add name dum1 type dummy

$ip link set dum0 group10

$ip link set dum1 group10

Как обычно, интерфейсы создаются в выключенном состоянии:

1
2
3
4
5

$ip link show group10

4dum0<BROADCAST,NOARP>mtu1500qdisc noop state DOWN mode DEFAULTgroup10qlen1000

link/ether22b4dc272f6dbrd ffffffffffff

5dum1<BROADCAST,NOARP>mtu1500qdisc noop state DOWN mode DEFAULTgroup10qlen1000

link/ether5ada93ab9da7 brd ffffffffffff

Теперь мы можем включить их все сразу:

1
2
3
4
5
6

$sudo ip link set group10up

$ip link show group10

4dum0<BROADCAST,NOARP,UP,LOWER_UP>mtu1500qdisc noqueue state UNKNOWN mode DEFAULTgroup10qlen1000

link/ether22b4dc272f6dbrd ffffffffffff

5dum1<BROADCAST,NOARP,UP,LOWER_UP>mtu1500qdisc noqueue state UNKNOWN mode DEFAULTgroup10qlen1000

link/ether5ada93ab9da7 brd ffffffffffff

К сожалению, простого способа увидеть список групп в Linux нет. Зато есть возможность присвоить группам понятные человеку имена. Соответствие номеров и имен хранится в файле .

По умолчанию там определена только группа 0, новые записи легко добавить по аналогии:

1
2
3

$cat/etc/iproute2/group

# device group names

default

Подключение новой сетевой карты

Подключение и запуск новой сетевой карты сводится к выполнению нескольких шагов:

1. Физическое подключение карты

2. Запуск Linux

3. Просмотр вывода на обнаружение системой новой сетевой карты:

Посмотрим вывод ДО подключения новой карты:

server:~# dmesg | grep eth
 e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
 e1000: eth1: e1000_probe: Intel(R) PRO/1000 Network Connection
 e1000: eth2: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
 e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX

в выводе видно, что в системе есть 2 сетевые карты eth1 и eth2. Подключаем третью и смотрим вывод:

server:~# dmesg | grep eth
 e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
 e1000: eth1: e1000_probe: Intel(R) PRO/1000 Network Connection
 e1000: eth2: e1000_probe: Intel(R) PRO/1000 Network Connection
 udev: renamed network interface eth2 to eth3
 udev: renamed network interface eth1_rename_ren to eth2
 e1000: eth2: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
 e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
 e1000: eth3: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX

В dmesg мы видим, что появилась новая сетевушка — eth3, которая на самом деле — eth2, но переименована менеджером устройств udev в eth3, а eth2 — это на самом деле переименованная eth1 (об udev мы поговорим в отдельном посте). Появление нашей новой сетевой в dmesg нам говорит, что сетевая карта поддерживается ядром и корректно определилась. Осталось дело за малым — настроить новый интерфейс в /etc/network/interfaces (Debian), потому что данная карта не была инициализирована стартовым скриптом /etc/init.d/network. ifconfig данную карту видит:

server:~# ifconfig eth3
eth3      Link encap:Ethernet  HWaddr 08:00:27:5f:34:ad
          inet6 addr: fe80::a00:27ff:fe5f:34ad/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:311847 errors:0 dropped:0 overruns:0 frame:0
          TX packets:126 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:104670651 (99.8 MiB)  TX bytes:16184 (15.8 KiB)

но опять же — не конфигурирует. Как конфигурировать сетевую карту говорилось выше.

Настройка сетевого интерфейса Linux

1. Синтаксис и опции ethtool

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

$ ethtool опции интерфейс параметры

Вот основные опции утилиты, которые мы будем использовать в этой статье:

  • —version — выводит версию утилиты;
  • -g, —show-ring — позволяет посмотреть информацию о буфере RX и TX пакетов;
  • -G, —set-ring — позволяет установить размер буфера RX и TX пакетов, работает только для беспроводного интерфейса;
  • -i, —driver — выводит имя используемого драйвера;
  • -P, —show-permaddr — выводит постоянный MAC адрес устройства;
  • -r, —negotiate — выполняет повторное согласование скорости передачи данных, если включено автоматическое согласование;
  • -S, —statistics — выводит статистику;
  • -s, —change — позволяет менять настройки сетевого интерфейса;
  • -k, —show-offload — позволяет посмотреть какие технологии offload включены;
  • —reset — позволяет сбросить настройки различных компонентов сетевой карты, для сброса всех настроек используйте значение параметра all;

Это далеко не все опции программы, все вы можете посмотреть выполнив такую команду в терминале, если программа установлена:

2. Установка ethtool

Обычно, утилита не поставляется по умолчанию вместе с дистрибутивом, но она есть в официальных репозиториях. Для установки утилиты в Ubuntu или Debian выполните:

Для установки ethtool linux в Fedora, CentOS или REHL выполните:

А для OpenSUSE команда будет выглядеть вот так:

3. Информация про сетевые интерфейсы

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

В данном примере, я использовал фильтр egrep чтобы отсеять все интерфейсы, созданные контейнерами Docker, вам этого делать не обязательно. Здесь enp24s0 — это сетевой интерфейс Ethernet, который мы и будем использовать дальше. Выполнив утилиту ethtool без опций можно посмотреть текущие настройки сетевого интерфейса:

Обратите внимание на пункт Supported link modes, здесь перечислены поддерживаемые скорости передачи данных и режимы дуплекса для них. Скорость измеряется в мегабитах и обычно доступны значения 10, 100 и 1000

Режим дуплекса, выводимый в параметре Duplex отвечает за приём и передачу данных. При значении full сетевая карта может одновременно принимать и отправлять данные, а режиме half только принимать или отправлять данные. Текущая скорость передачи данных выводится немного ниже параметра Duplex.

Ещё есть параметр Advertised auto negotiation. Он отвечает за то будет ли скорость передачи данных и режим дуплекса настраиваться автоматически в зависимости от возможностей обоих соединённых устройств. По умолчанию этот параметр включён и рекомендуется его таким и оставить.

4. Изменение настроек интерфейса

Менять все эти настройки и многие другие можно с помощью опции -s. Например чтобы отключить автоматическое согласование параметров работы выполните:

Затем можно вручную установить скорость передачи данных:

А режим дуплекса в half:

Всё это можно объединить в одну команду:

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

Теперь при просмотре настроек сетевой карты вы увидите новые значения:

Чтобы посмотреть используемый драйвер используйте опцию -i:

6. Статистика интерфейса

Посмотреть статистику по переданных и полученных данных можно с помощью опции -S:

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

Затем выгрузите модуль ядра с драйвером:

Верните драйвер обратно и запустите устройство:

После этого статистика будет сброшена:

7. Управление светодиодом

Если в вашем компьютере установлено несколько сетевых карт и вам надо определить какой их них принадлежит то или иное имя в системе, можно использовать опцию -p. Ей надо передать количество секунд на протяжении которых светодиод на разъёме должен гореть:

Таким образом вы можете подсветить интерфейс ethtool.

8. Сохранение настроек

Все выполненные с помощью ethtool настройки актуальны только до перезагрузки. Чтобы их сохранить после перезагрузки надо создать скрипт, выполняющий нужные команды после старта системы или же использовать возможности network-scripts. Например в Ubuntu или Debian можно добавить команду, которая выполняет нужные настройки в файл /etc/network/if-pre-up.d/ethtool. Например:

Для CentOS следует добавить параметр ETHTOOL_OPTS в файл настройки сетевого интерфейса, Например:

WiFi

Для подключения к беспроводной сети задаем следующие настройки:

network:
    version: 2
    renderer: networkd
    wifis:
        wlp2s0b1:
            dhcp4: no
            dhcp6: no
            addresses: [192.168.2.10/24]
            gateway4: 192.168.2.1
            nameservers:
                addresses:
            access-points:
                <имя WiFi сети (SSID)>:
                    password: wifi_password

* где:

  • wifis — определяет настойки для WiFi.
  • wlp2s0b1 — настройка для беспроводного сетевого адаптера.
  • dhcp4, dhcp6 — включает или отключает автоматическое получение IP-адреса.
  • addresses, gateway4, nameservers — настройка сети (IP-адрес, шлюз, сервер DNS).
  • access-points — настройка для подключения к беспроводной сети.
  • <имя WiFi сети (SSID)> — имя беспроводной сети, к которой будем подключаться.
  • password — пароль для подключения к беспроводной сети.

nmcli

nmcli conn show

NAME UUID TYPE DEVICE
k3-5-bw4-udp-1196 754bf232-b384-4e41-944f-00b37e781ea3 vpn wlp0s20f3
NetGuest 09a61c52-6da7-4947-bcce-bd928c72ec04 wifi wlp0s20f3
tun0 749f87c0-2e48-48d6-a8b9-924e120b4e22 tun tun0
br-cb9e77c3b2f2 744bd9ed-dc76-4632-9bb7-47605e47d16e bridge br-cb9e77c3b2f2
docker0 717d7ef5-2bcf-493e-af17-ea858a83d7ce bridge docker0
Net2.4G cee7ba3b-2835-4383-ae97-70ed50ec6d41 wifi —
NetM 131ea9fd-ca46-4de6-b909-542ae1548894 wifi —
SKYnet 5faa88cd-b6a4-4b8d-aa16-d0c8a62425ea wifi —
S-office 5ca185cc-cd49-4451-99c8-42ae24aef077 wifi —
Wired connection 1 befcb047-1362-33bf-8819-96d783e30df5 ethernet —

Дополнения[править]

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

Если вы хотите дать имени вашего сетевого интерфейса какое-либо информативное имя (вообще является хорошей практикой переименовать ваш интерфейс из eth0 хотя бы в eth00), вам нужно выполнить следующий ряд действий.
Выполните команду ip a и запишите, какому сетевому интерфейсу какой mac-адрес соответствует.
Отключите интерфейс (где eth1 имя интерфейса)

#ip link set eth1 down

Переименуйте его (где eth1 старое имя, local новое имя)

#ip link set eth1 name local

Смените название папки с настройками eth1 на новое название

#mv /etc/net/ifaces/eth1 /etc/net/ifaces/local
#echo "MODULE=модуль_сетевушки" >> /etc/net/ifaces/local/options

В файле /etc/net/iftab сделайте запись

local mac 11:22:33:aa:bb:cc

где 11:22:33:aa:bb:cc мак-адрес карты, полученный ранее по команде ip a.
Перезапустите сеть.

Переименование при использовании systemdправить

Если Вы используете systemd, то рекомендуется переименовывать сетевые интерфейсы следующим способом:
В файле /etc/udev/rules.d/79-net-name.rules (если его нет, то необходимо создать его) добавьте для каждого интерфейса следующую строчку:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:14:17:84:47:60", KERNEL=="eth*", NAME="pve01"

Указав нужный mac-адрес и новое имя.

Закрепление порядка загрузки сетевых картправить

Данный материал может быть актуален дистрибутиве 4.1. Была замечена следующая проблема. При наличии в компьютере двух сетевых карт (одна из которых включена, но не используется) периодически менялись местами имена сетевых интерфейсов, соответственно изменялись параметры сетевой карты и как следствие сетевая карта оказывалась подключена не к той сети (грубое решение — вытащить сетевой кабель и подключить к другой карте)
Для жесткого закрепления порядка загрузки сетевых карт используем udev, который загружает все модули одновременно, поэтому устройства иногда инициализируются в различном порядке. Однако мы можем управлять правилами загрузки модулей.
Вариант 1. Самостоятельное указание порядка загрузки модулей сетевых карты с помощью параметра MODULES в файле /etc/rc.conf. Модули, добавленные в этот список, будут загружены перед стартом udev, так что вы имеете полный контроль над порядком их загрузки (откуда взять имя модуля, было сказано ранее в этой статье).

# Модуль 8139too всегда будет загружаться перед e100
MODULES=(8139too e100)

Вариант 2. Создадим правило для управления порядком инициализации сетевых карт

#echo -n>/etc/udev/rules.d/10-network.rules

Впишите в него следующие строки (где eth0 имя первого сетевого интерфейса, vykl имя второго интерфейса)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTRS{address}=="00:1e:8c:da:6a:1e", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTRS{address}=="00:14:d1:13:8b:96", KERNEL=="eth*", NAME="eth1"

ATTRS{address} это mac-адрес сетевой карты, для его получения введите команду

#udevadm info -a -p /sys/class/net/<имя_интерфейса> | grep address
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: