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 и банально пингами проверить.
Читайте также: