Debian настройка vlan на интерфейсе

Обновлено: 07.07.2024

Основную настройку сети можно выполнить, редактируя конфигурационный файл interfaces, который располагается в /etc/network/interfaces. Здесь Вы можете задать IP адресс сетевой карты (или использовать DHCP), настроить маршрутизацию, IP masquerading, установить маршрут по умолчанию и многое другое.

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

Полный список опций можно найти в man interfaces.

Автоматическое конфигурирование интерфейса с использованием DHCP

Если Вы хотите использовать DHCP вам необходимо написать следующие:

Ручное конфигурирование интерфейса

Если Вы хотите сконфигурировать вручную, например задать шлюз по умолчанию (так же опционально можно задать: сеть, широковещательный адрес или шлюз):

Если вы хотите добавить IPv6 адрес, то напишете следующие:

Полный список опций можно найти в man interfaces.

Настройка скорости и дуплекса

Частые ошибки автоматического согласования режимов работы, свидетельствуют о проблемах с кабелем. Следует проверить физическое состояние кабельного оборудования (отсутствие повреждений итп), прежде чем предполагать несовместимость алгоритмов автосогласования. Если Вы выключите автосогласование и установите скорость и дуплекс вручную, то интерфейс на другом конце кабеля будет считать что автосогласование не поддерживается и установит скорость 10Mbs и полудуплексный режим передачи. Для того чтобы не было ошибок в работе, при ручной настройки Вам необходимо убедиться что оба интерфейса работают на одинаковых скоростях и установлен одинаковый режим дуплекса.

Переключение интерфейса в режим моста без IP адреса

Чтобы создать сетевой интерфейс без IP адреса используйте ручной метод и команды pre-up и post-down

В большинстве ситуаций необходимо отредактировать файлы конфигураций этих программ.

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

Конфигурационный файл resolv.conf

Конфигурационный файл resolv.conf располагается в /etc/resolv.conf, и содержит информацию которая позволяет компьютеру подсоединяться к сети преобразовывать имя в адрес. (Прим. Не путайте этот конфигурационный файл с программой resolvconf , которая по неудачному стечению обстоятельств имеет такое же название.)

Файл resolv.conf обычно содержит IP адреса серверов имён (DNS) которые будут пытаться перевести имена в адрес для любого узла доступного в сети. Там будут строчки содержащие, примерно, следующие:

В этом примере, система исопользует сервера имён с IP адресами 12.34.56.78 и 12.34.56.79. Просто отредактируйте этот файл и введите IP адреса нужных Вам серверов, после слова nameserver. Можно добавить ещё строчки, если у Вас больше 2 серверов имён.

Не используйте этот метод если у Вас установлена программа resolvconf

Конфигурационный файл resolv.conf имеет множество других опций для определения режимов преобразования имён. См. man resolv.conf.

Программа resolvconf

Программа resolvconf следит за информацией о доступных на данных момент серверов имён. Не следует путать её с одноимённым конфигурационным файлом resolv.conf. Программа resolvconf является опциональной для систем Debian.

Конфигурационный файл resolv.conf содержит информацию о серверах имён, которые используются в системы. Однако, когда множеству программ необходимо динамически изменять файл resolv.conf они начинают мешать друг другу и файл становиться не синхронизируемым (out-of-sync). Программа resolvconf решает эту проблему. Она является посредником между программами которые поставляют информацию о серверах имён (например dhcp клиент) и программами которые используют эту информацию (например резолвер).

Если resolvconf правильно установлена, конфигурационный файл resolv.conf заменяется символьной ссылкой на файл /etc/resolvconf/run/resolv.conf и резолвер использует файл, который динамически генерируется программой resolvconf.

Программа resolvconf, в общем случае, необходима когда в системе присутствуют программы которым необходимо часто изменять информацию о серверах имён. В простых системах где нет таких программ, достаточно просто файла resolv.conf.

Если программа resolvconf установлена, то Вам не следует вручную редактировать файл resolv.conf , так как он будет динамически меняться программами в системе. Если Вам необходимо вручную задать сервера имён (например при статически сконфигурированном интерфейсе), добавьте в конфигурационный файл interfaces следующую строчку:

Разместите эту строчку в описании интерфейса iface, сразу после указания шлюза gateway. IP адрес сервера имёны необхожимо ввести после слова dns-nameservers. Если IP адресов несколько то они разделяются пробелом. Не забудьте написать "s" в конце слова dns-nameservers.

Программа resolvconf была добавлена в Debian сравнительно недавно и многие старые программы необходимо обновить и переконфигурировать для правильно работы. Если у Вас возникли проблемы, смотрите файл /usr/share/doc/resolvconf/README. Он содержит полную информацию по работе resolvconf с другими программами.

Конфигурирование DNS для network-manager

Если Вы используете NetworkManager, настройки располагаются в файле /etc/sysconfig/network-scripts/ifcfg-*. Например так:

В статье расcмотрен вопрос, как включить и настроить в Linux (Debian, Ubuntu, xUbuntu, Linux Mint, Knoppix и т.п.) поддержку VLAN 802.1Q на сетевом интерфейсе.

Недавно у меня возникла задача работать сразу в нескольких виртуальных локальных сетях (VLAN). В ОС Linux сделать это оказалось довольно просто. Раcсмотрим все по порядку.

Включение поддержки vlan в Linux Mint, Debian, Ubuntu

Первым делом установим пакет "vlan" для настройки VLAN-ов в Linux. Данный пакет будет содержать в себе утилиту "vconfig" для настройки VLAN.

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

Если выскочит ошибка ". Maybe you need to load the 8021q module. ", надо будет подгрузить модуль 8021q в ядро Linux следующей командой:

Добавление vlan в Linux с помощью утилиты vconfig

Пробуем еще раз добавить vlan с тегом 200, затем выводим командой "ifconfig -a" список всех интерфейсов:

Из вывода видно, что появился еще один логический интерфейс "eth0.200", который будет обрабатывать все пакеты, помеченные тегом 200 (принадлежащие сети VLAN200).

Повесим ip-адрес на новый интерфейс "eth0.200".

На этом настройка завершена. Следует отметить, что после перезагрузки интерфейс "eth0.200" слетит.

Добавление vlan в Linux Mint, Debian, Ubuntu через файл interfaces

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

Пример содержимого файла interfases.

Я думаю, тут все понятно.

Физический интерфейс "eth0" работает в обычном режиме т.е. все нетегированные (untagged) пакеты обрабатываются на этом интерфейсе.

Логический интерфейс "eth0.200" работает в режиме обработки только тегированных (tagged) пакетов с тегом 200, т.е. принадлежит VLAN200.

По аналогии можно создавать и другие VLAN интерфейсы.

На этом все. Рассмотрение процесса настройки VLAN в ОС Linux (Debian, xUbuntu, Linux Mint, Knoppix) завершено. Надеюсь, что эта статья была полезной. Комментируем, подписываемся, ну и всем пока:)

По умолчанию настройки выполнены для получения IP адреса по DHCP.

lo — локальный интерфейс (127.0.0.1), а enp0s3 — это сетевой интерфейс (присваивается сетевой адрес по протоколу DHCP).

Настройка статического IP-адреса

Текущая информация о состоянии сетевых интерфейсов:

Для установки статического IP-адреса правим файл с сетевыми настройками /etc/network/interfaces:

auto — запускать интерфейс при загрузке системы;
iface — имя интерфейса;
address — статический IP-адрес;
netmask — маски сети;
gateway — шлюз по-умолчанию;
dns-nameservers — сервера DNS, разделяются пробелами;

Вместо параметра auto, можно использовать allow-hotplug, если нужно запускать интерфейс как только система обнаружит устройство.

При отсутствии пакета resolvconf (отвечает за автоматическое назначение DNS серверов), настройки DNS будут определяется из файла /etc/resolv.conf, добавим в него параметры DNS:

Если использовать параметр allow-hotplug, то при перезапуске сервиса сети, сетевой интерфейс не поднимется вплоть до перезагрузки сервера. Потому как этот параметр обозначает, что настройки будут приняты только тогда, когда устройство будет подключено и обнаружено системой, а т.к. перезагрузка сервиса сети никак не связана с отключением устройства, то и настройки к уже обнаруженному устройству не будут применены.

Настройка виртуальных интерфейсов

В случае когда необходимо присвоить более чем один IP-адрес к физическому сетевому интерфейсу, то можно создать его виртуальный интерфейс. К примеру, к интерфейсу enp0s3, добавим виртуальный интерфейс (enp0s3:1) и назначим ему статический IP-адрес (10.3.0.22/24).

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

Следует обратить внимание, что система критична к порядку поднятия интерфейсов, поэтому надо поднимать в таком порядке: lo, enp0s3, enp0s3:1 и так далее.

Настройка VLAN 802.1Q

Если необходимо работать сразу в нескольких виртуальных локальных сетях (VLAN), то можно включить поддержку VLAN 802.1Q на сетевом интерфейсе.

Для этого устанавливаем пакет для работы с VLAN:

Загружаем модулем ядра для vlan (8021q) в систему:

Добавим модуль в автозагрузку:

В файл конфигурации /etc/network/interfaces, добавляем логический интерфейс (например, enp0s3.500), который принадлежит VLAN500:

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

Настройка сети в Debian 10 окончена.

Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.

Для чего это надо?
Есть несколько ситуаций:
1. Банально представим ситуацию есть большая сеть, в районе покрытия этой сети у нас расположено два офиса, их необходимо объединить в одну физическую сеть, при этом общегородская сеть не должна видеть/иметь доступ к офисным тачкам. Данную ситуацию конешно можно разрулить VPN-ами, но на шифрованый трафик порядка 100 мегабит нужно не кислое железо, поэтому рулим vlan-aми.
2. Есть масса подсетей, территориально поделенных по городу, необходимо на каждую подсеть настроить интерфейс, по началу можно конечно обойтись сетевыми картами, но сети имеют свойства разростаться, и что прикажете делать, например в такой ситуации?:
serv:

Как мне это все сделать?
Легко!

Тегирование трафика VLAN
Компьютер при отправке трафика в сеть даже не догадывается, в каком VLAN'е он размещён. Об этом думает коммутатор. Коммутатор знает, что компьютер, который подключен к определённому порту, находится в соответствующем VLAN'e. Трафик, приходящий на порт определённого VLAN'а, ничем особенным не отличается от трафика другого VLAN'а. Другими словами, никакой информации о принадлежности трафика определённому VLAN'у в нём нет.
Однако, если через порт может прийти трафик разных VLAN'ов, коммутатор должен его как-то различать. Для этого каждый кадр (frame) трафика должен быть помечен каким-то особым образом. Пометка должна говорить о том, какому VLAN'у трафик принадлежит.
Наиболее распространённый сейчас способ ставить такую пометку описан в открытом стандарте IEEE 802.1Q. Существуют проприетарные протоколы, решающие похожие задачи, например, протокол ISL от Cisco Systems, но их популярность значительно ниже (и снижается).

Настройка обычно происходит на серверах и на свитчах.
По умолчанию все сетевые устройства находятся в первом (1, default) vlan-e.
Поэтому подними 2-й vlan, с сетью 1
В зависимости от ОСи на сервере vlan-ы конфигурятся по разному.
В данной статье я попробую максимально коротко и четко описать различные способы настройки vlan-ов, на разных ОС.

И так поехали, попробуем на разных ОС сделать одну и ту же задачу — настроить 2-й vlan, с адресным пространством из 64-х адресов, 10.10.10.0/26
Для начала нам необходимо рассчитать маску, бродкастовый адрес и шлюз, в помощь прийдет ipcalc :)
Address: 10.10.10.0 00001010.00001010.00001010.00 000000
Netmask: 255.255.255.192 = 26 11111111.11111111.11111111.11 000000
Wildcard: 0.0.0.63 00000000.00000000.00000000.00 111111
=>
Network: 10.10.10.0/26 00001010.00001010.00001010.00 000000 (Class A)
Broadcast: 10.10.10.63 00001010.00001010.00001010.00 111111
HostMin: 10.10.10.1 00001010.00001010.00001010.00 000001
HostMax: 10.10.10.62 00001010.00001010.00001010.00 111110
Hosts/Net: 62 (Private Internet)

Шлюзом сделаем 10.10.10.1
Маска 255.255.255.192 или 26
Broadcast 10.10.10.63
Итого мы получаем на клиентов 61 адрес, 10.10.10.2 — 10.10.10.62

Red-Hat-like:
Для ред-хата необходима утилита настройки vlan'ов, ставим утилиту vconfig
[root@notebook

Теперь перейдем к более интересному пункту, настройка сетевых коммутаторов.
т.к. коммутаторы 2-го уровня бывают разные я приведу несколько примеров по настройке, на разных коммутаторах разное меню соответственно по разному настраивается, обычно ничего сложного нет, и принцип настройки одинаковый. ситуация серв включен в 1-й порт, необходимо подать 2-й влан в 4,5,6 порты, и во втором порту подать его тегированным.

На D-Link-е:
config vlan default delete 1-26
config vlan default add untagged 1,3,7-24
create vlan Offices tag 2
config vlan Offices add tagged 1,2
config vlan Offices add untagged 4,5,6
save

Пробуем воткнуться в 4 дырочку сетевым устройством и прописать адрес из диапазона 10.10.10.0/26 и банально пингами проверить.

Читайте также: