- /etc/network/interfaces Ubuntu Linux networking example
- Defining physical interfaces such as eth0
- Setup interface to dhcp
- Examples: How to set up interfaces
- Linux network interface dhcp
- Установка DHCP-сервера
- Простая конфигурация DHCP
- Время аренды по-умолчанию и максимальное время аренды в DHCP
- Определение DNS-сервера
- Назначим шлюз по-умолчанию
- Описание конфигурации для отдельных хостов на DHCP-сервере
- Как быстро настроить DHCP-клиент на Ubuntu
- Конфигурация DHCP-relay (передача полномочий другому DHCP-серверу)
- ru NetworkConfiguration
- Настройка интерфейса Ethernet
- Автоматическое конфигурирование интерфейса с использованием DHCP
- Ручное конфигурирование интерфейса
- Настройка скорости и дуплекса
- Переключение интерфейса в режим моста без IP адреса
- Задание серверов имён (DNS)
- Конфигурационный файл resolv.conf
- Программа resolvconf
- Конфигурирование DNS для network-manager
- DHCP Client Configuration
- Howto use vlan (dot1q, 802.1q, trunk) (Etch, Lenny)
/etc/network/interfaces Ubuntu Linux networking example
Q . Can you explain how to setup network parameters such as IP address, subnet, dhcp etc using /etc/network/interfaces file?
A . /etc/network/interfaces file contains network interface configuration information for the both Ubuntu and Debian Linux. This is where you configure how your system is connected to the network.
Defining physical interfaces such as eth0
Lines beginning with the word “auto” are used to identify the physical interfaces to be brought up when ifup is run with the -a option. (This option is used by the system boot scripts.) Physical interface names should follow the word “auto” on the same line. There can be multiple “auto” stanzas. ifup brings the named inter faces up in the order listed. For example following example setup eth0 (first network interface card) with 192.168.1.5 IP address and gateway (router) to 192.168.1.254:
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
gateway 192.168.1.254
- No ads and tracking
- In-depth guides for developers and sysadmins at Opensourceflare✨
- Join my Patreon to support independent content creators and start reading latest guides:
- How to set up Redis sentinel cluster on Ubuntu or Debian Linux
- How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
- How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
- A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
- How to protect Linux against rogue USB devices using USBGuard
Join Patreon ➔
Setup interface to dhcp
To setup eth0 to dhcp, enter:
auto eth0
iface eth0 inet dhcp
Examples: How to set up interfaces
Following is file located at /usr/share/doc/ifupdown/examples/network-interfaces , use this file as reference (don’t forget interfaces man pages for more help):
🐧 Get the latest tutorials on Linux, Open Source & DevOps via
Источник
Linux network interface dhcp
Что такое DHCP? Любой, кто имеет базовые знания о компьютерных сетях, знает, что для того, чтобы два хоста могли общаться в одной сети с использованием модели TCP/IP, оба хоста должны иметь уникальный IP-адрес. Существует два способа получения IP-адреса любым хостом в вашей сети.
Один из способов — вручную настроить сетевой интерфейс (назначить IP-адрес вручную). Ручная конфигурация сети называется статической конфигурацией, это означает, что хосты не изменяют свой IP-адрес, если он не был изменен вручную пользователем или системным администратором. Если ваша корпоративная сеть включает более 1000 хостов, то настройка каждого хоста со статическим IP-адресом становится мягко говоря утомительной и, что более важно, крайне неэффективной.
Другой способ назначить вашим сетевым хостам правильный IP-адрес независимо от фактического размера сети — это назначить IP-адрес каждому хосту автоматически. Для выполнения автоматической настройки IP-адреса хоста и нужен DHCP (Dynamic Host Configuration Protocol).
DHCP позволяет клиенту, то есть вашему сетевому хосту, арендовать параметры конфигурации сети, такие как:
— IP-адреса и сетевые маски
— Серверы доменных имен (DNS )
— Шлюз по-умолчанию
— WINS-сервер
— Узлы системного журнала
— Прокси сервера
— сервер NTP
— X серверы шрифтов
— Узлы системного журнала
Каждый сетевой хост, настроенный для получения IP-адреса динамически через DHCP, при загрузке отправит запрос DHCP по сети (по определению это широковещательная передача), чтобы узнать, есть ли где-то в сети DHCP-сервер и, следовательно, запросить конфигурацию сети. Затем DHCP-клиент обязан поддерживать связь с DHCP-сервером и регулярно обновлять свой IP-адрес в соответствии с истечением срока аренды IP-адреса. В случае, если DHCP-клиент не может обновить свой IP-адрес (отключение, хост выключен и т. д. ) его IP-адрес истекает, и DHCP-сервер может свободно выдать этот IP-адрес другому DHCP-клиенту.
DHCP-сервер ведет запись всех арендованных IP-адресов и сохраняет их в файле под названием dhcpd.leases в каталоге /var/lib/dhcp (расположение этого файла может отличаться в зависимости от используемого дистрибутива Linux ). Наличие такого файла позволяет DHCP-серверу отслеживать все арендованные IP-адреса даже после перезагрузки или сбоя питания.
Вот некоторые преимущества использования DHCP-сервера в сети:
— Нет конфликтов IP-адресов. DHCP может гарантировать, что все хосты в сети имеют уникальный IP-адрес. DHCP-сервер хранит запись всех назначенных IP-адресов и перекрестную ссылку на них с MAC-адресами хоста.
— Основываясь на MAC-адресе, DHCP позволяет настроить фиксированный параметр для конкретного хоста
— Минимальная конфигурация локальной клиентской сети, следовательно, повышенная эффективность
Установка DHCP-сервера
Стандартный DHCP-сервер доступен для Linux дистрибутивов от ISC (Internet System Consortium).
Используйте следующую команду для установки DHCP-сервера, в зависимости от вашего дистрибутива Linux.
Debian и Ubuntu
# apt-get install isc-dhcp-server
Redhat и Fedora
# yum install dhcp
Простая конфигурация DHCP
По-умолчанию конфигурация в файле dhcpd.conf не содержит никаких объявленных сетей, а так же в файле /etc/default/isc-dhcp-server нет указанных интерфейсов, по которым будет происходит слушание и раздача параметров. Поэтому при запуске службы вы получите ошибку.
Starting ISC DHCP server: dhcpdcheck syslog for diagnostics. . failed!
Examining log files such as /var/log/syslog reveals more details:
No subnet declaration for eth0 (some IP address).
Your server may be connected to multiple network subnets. To start DHCP server, at least one subnet must be defined within the DHCP configuration file /etc/dhcp/dhcpd.conf.
NOTE: if your server has access to more than one subnet, DHCP requires all subnets to be defined even though there isn’t immediate intention to enable DHCP service on that subnet.
Поэтому для запуска нам потребуется записать в конфигурационный файл простейшее описание сети(ей):
А так же в файле /etc/default/isc-dhcp-server укажем наш интерфейс (или несколько):
Этот файл конфигурации указывает DHCP-серверу прослушивать запросы DHCP-клиента в подсети 10.1.1.0 с маской сети 255.255.255.0 на интерфейсе eth0. Кроме того, он назначит IP адреса в диапазоне 10.1.1.3-10.1.1.254. Он также определяет пустое описание для подсети 192.168.0.0.
Измените приведенный выше код с вашей подсетью и вставьте его в файл /etc/dhcp/dhcpd.conf. После перезагрузите DHCP-сервер с помощью команды:
# service isc-dhcp-server restart
Время аренды по-умолчанию и максимальное время аренды в DHCP
На этом этапе мы можем добавить несколько дополнительных настроек к нашей конфигурации DHCP, а именно срок действия аренды по-умолчанию и максимальное время аренды.
default-lease-time — это значение в секундах, в котором срок действия арендованного IP-адреса будет установлен в том случае, если DHCP-клиент не запрашивает другого конкретного срока действия аренды
max-lease-time — это значение в секундах, которое определяет максимальное время истечения срока действия для IP-адреса, арендуемого DHCP-сервером
Определение DNS-сервера
Другим параметром конфигурации, который может быть задан DHCP-сервером своему клиенту, является определение DNS-сервера. Если вы хотите, чтобы ваши клиенты использовали DNS-сервер с IP-адресом 8.8.8.8 и 10.1.1.1, вы можете сделать это, включив опцию domain-name-servers в конфигурационный файл DHCP.
Назначим шлюз по-умолчанию
DHCP-сервер также позволяет использовать шлюз по-умолчанию для клиента. Например установим шлюз по-умолчанию 10.1.1.1 для клиентов сети 10.1.1.0, добавим строку option routers 10.1.1.1 в dhcpd.conf в соотвествующие секции:
Описание конфигурации для отдельных хостов на DHCP-сервере
Возможно, потребуется установить статический IP-адрес для конкретного хоста в сети, такого как принтер, веб-сервер и т. д. В этом случае возможно изменить конфигурацию DHCP-сервера для аренды выбранного IP-адреса конкретному хосту, определенному его MAC-адресом.
Приведенный выше файл конфигурации DHCP будет постоянно присваивать IP-адрес 10.1.1.100 хосту printer с MAC-адресом 00:16:d3:b7:8f:86 и IP-адрес 10.1.1.200 хосту web-server с MAC-адресом 00:17:a4:c2:44:22.
Как быстро настроить DHCP-клиент на Ubuntu
Чтобы настроить ваш клиент на использование DHCP через сетевой интерфейс eth0 на Ubuntu или Debian подобных, пропишите следующие строки в файле /etc/network/interfaces:
auto eth0
iface eth0 inet dhcp
Конфигурация DHCP-relay (передача полномочий другому DHCP-серверу)
Если ваш DHCP-сервер не имеет доступа к какой-то конкретной подсети, это не значит, что он не может предоставлять там свои услуги. Для выполнения этой работы агент DHCP-relay должен быть настроен в удаленной подсети, которая пересылает все запросы на указанный DHCP-сервер и удаленную подсеть. Сначала установите DHCP-relay:
# apt-get install isc-dhcp-relay
Затем создайте конфигурационный файл /etc/default/isc-dhcp-relay с такими двумя строками:
Приведенный выше конфигурационный файл даст указание агенту DHCP-relay agent прослушивать на интерфейсе eth0 запросы DHCP-клиента и пересылать их на DHCP-сервер по IP-адресу 192.168.5.5.
Источник
- ru
- NetworkConfiguration
Reader Prerequisites: Для понимания этой статьи необходимо умение работать с консольными инструментами, тестовыми редакторами, понимание основ DNS, TCP/IP, DHCP, netmask, gateway.
Table of Contents
Настройка интерфейса Ethernet
Основную настройку сети можно выполнить, редактируя конфигурационный файл interfaces, который располагается в /etc/network/interfaces. Здесь Вы можете задать IP адресс сетевой карты (или использовать DHCP), настроить маршрутизацию, IP masquerading, установить маршрут по умолчанию и многое другое.
Для того что бы интерфейс автоматически инициализировался при загрузке, не забудьте добавить строчку ‘auto’.
Полный список опций можно найти в man interfaces.
Автоматическое конфигурирование интерфейса с использованием DHCP
Если Вы хотите использовать DHCP вам необходимо написать следующие:
Ручное конфигурирование интерфейса
Если Вы хотите сконфигурировать вручную, например задать шлюз по умолчанию (так же опционально можно задать: сеть, широковещательный адрес или шлюз):
Если вы хотите добавить IPv6 адрес, то напишете следующие:
Полный список опций можно найти в man interfaces.
Настройка скорости и дуплекса
Частые ошибки автоматического согласования режимов работы, свидетельствуют о проблемах с кабелем. Следует проверить физическое состояние кабельного оборудования (отсутствие повреждений итп), прежде чем предполагать несовместимость алгоритмов автосогласования. Если Вы выключите автосогласование и установите скорость и дуплекс вручную, то интерфейс на другом конце кабеля будет считать что автосогласование не поддерживается и установит скорость 10Mbs и полудуплексный режим передачи. Для того чтобы не было ошибок в работе, при ручной настройки Вам необходимо убедиться что оба интерфейса работают на одинаковых скоростях и установлен одинаковый режим дуплекса.
Если Вы хотите вручную установить скорость и режим дуплекса интерфейса. Здесь описаны основные шаги:
установите пакеты ethtool и net-tools, так вы получите программы ethtool и mii-tool. Одна или обе из них могут работать с Вашим интерфейсом.
Убедитесь что у Вас есть запасной вариант доступа к системе, на случай если сеть перестанет работать и ?ssh соединение будет не доступно.
Для начала выполните, как root ethtool eth0, и Вы увидите строчки «Speed:» и «Duplex:», если нет то ethtool возможно не поддерживает Ваше устройство.
Попробуйте выполнить как root mii-tool -v eth0 и убедиться, что вывод выглядит правильно. Если нет, то mii-tool не поддерживает ваше устройство
Если ни одна из них не поддерживается, то Вы можете попробовать установить параметры напрямую в модуле драйвера ядра. Определить какой драйвер у Вас используется можно из вывода команд dmesg и lsmod. Вы можете попробовать выполнить modinfo MODULENAME что бы узнать возможные параметры. (можно использовать modinfo даже если модуль не загружен) ToDo: where does one set kernel module parameters?
Дальше, попробуйте изменить настройки используемого интерфейса. Вам необходимо быть root:
ethtool -s eth0 autoneg off speed 100 duplex full (задаёт 100 Mbps и full duplex)
mii-tool -F 100baseTx-FD eth0 (same assumption)
В каждом случае, перепроверьте применились ли настройки которые Вы изменили, затем попробуйте отправить какие-нибудь данные из системы, чтобы убедиться что NIC работает правильно.
Если одна из этих команд успешно настроила Вашу сетевую карту, можно добавить эти параметры в /etc/network/interfaces чтобы они применялись во время загрузки при поднятии интерфейса. Однако, перед этим Вам следует понять что некоторые драйвера отличаются от других. Когда модуль драйвера загружен, сетевая карта может начать автосогласование, без какого либо способа остановить его (особенно с драйверами которые не принимают параметры). Параметры из файла interfaces могут применяются в момент, когда автосогласование уже наполовину выполнено. Что бы избежать этого можно добавить задержку выполнения команд ethtool и mii-tool. Например :
Или аналоги команды mii-tool.
Переключение интерфейса в режим моста без IP адреса
Чтобы создать сетевой интерфейс без IP адреса используйте ручной метод и команды pre-up и post-down
Задание серверов имён (DNS)
Перед тем как компьютер сможет подключится внешнему сетевому ресурсу (например веб-серверу), он должен преобразовать буквенное-цифровое имя (такое как wiki.debian.org) в числовой адрес сети (например 140.211.166.4). (В Интернет идентификации компьютера в сети используется структурированный числовой IP адрес.)
Библиотека C и другие библиотеки за списком серверов имён обращаются к файлу /etc/resolv.conf. В простейшем случае Вы можете отредактировать этот файл, записав в него список серверов имён. Но, следует отметить, что различные программы динамической конфигурации будут рады переписать ваши настройки:
Программа resolvconf
Демон network-manager
В большинстве ситуаций необходимо отредактировать файлы конфигураций этих программ.
В более сложных ситуациях, более правильным будет использование программы 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
Предупреждение: Этот раздел не был протестирован с актуальной версией network-manager. Пожалуйста протестируйте и удалите это сообщение. Примечание: В этом разделе описаны примеры применяемые в системах подобных Red Hat, а не Debian.
Если Вы используете NetworkManager, настройки располагаются в файле /etc/sysconfig/network-scripts/ifcfg-*. Например так:
Через графический интерфейс это можно сделать так:
Systems menu > Preferences > Network Connections.
Этот раздел основан на http://code.google.com/speed/public-dns/docs/using.html , где Вы можете найти более детальное описание.
DHCP Client Configuration
Example: dhclient3 uses /etc/dhcp/dhclient.conf. The setting you want is
See the dhclient.conf(5) manual page for details.
Howto use vlan (dot1q, 802.1q, trunk) (Etch, Lenny)
Источник