- Настройка сети в Debian
- Список разделов:
- Основы IP сетей.
- Установка имени хоста.
- Установка DNS.
- Установка АйПи адреса
- Установка второго АйПи адреса или виртуальный АйПи адрес в Debian
- Установка шлюза по умолчанию.
- ru NetworkConfiguration
- Настройка интерфейса Ethernet
- Автоматическое конфигурирование интерфейса с использованием DHCP
- Ручное конфигурирование интерфейса
- Настройка скорости и дуплекса
- Переключение интерфейса в режим моста без IP адреса
- Задание серверов имён (DNS)
- Конфигурационный файл resolv.conf
- Программа resolvconf
- Конфигурирование DNS для network-manager
- DHCP Client Configuration
- Howto use vlan (dot1q, 802.1q, trunk) (Etch, Lenny)
Настройка сети в Debian
Список разделов:
Основы IP сетей.
Система под Debian может иметь несколько сетевых интерфейсов с различными АйПи адресами. Интерфейсы могут быть нескольких различных типов, включая следующие:
Существует широкий диапазон прочих сетевых устройств, таких как SLIP, PLIP (последовательные и параллельные линии IP), шейперы (shaper) для контроля трафика на определенных интерфейсах, frame relay, AX.25, X.25, ARCnet, и LocalTalk.
Каждый сетевой интерфейс подсоединенный к интернету (или к любой сети основанной на АйПи) имеет уникальный 32-х битный АйПи адрес. АйПи адрес может быть поделен на часть, которая идентифицирует сеть и часть, определяющую адрес хоста. Если вы берете АйПи адрес и устанавливаете биты отвечающие за адрес сети равными 1, а биты, адресующие хост, равными 0, то вы получите так называемую маску (netmask) сети.
Традиционно АйПи сети сгруппированы в классы по размеру части адреса, отвечающей за сеть. Они могут быть 8, 16, или 24 бита. Эта система не гибкая и тратит много айпи адресов в пустую, поэтому современные IPv4 сети используют части адреса, отвечающие за сеть, переменной длины.
АйПи адреса не входящие в эти диапазоны используются для специальных нужд.
В каждом классе сетей существуют диапазоны адресов зарезервированные для использования в локальных сетях (LAN). Эти адреса гарантированно не будут конфликтовать с любыми адресами присущими интернету. (Справедливо и то, что, если один из этих адресов дан хосту то этот хост не должен быть подключен напрямую к интернету и должен получать к нему доступ через шлюз, который работает как прокси или даже осуществляет трансляцию сетевых адресов.) Эти диапазоны адресов указаны в таблице ниже.
Первый адрес в АйПи сети это собственно адрес самой сети. Последний адрес — это широковещательный (broadcast) адреc для сети. Все другие адреса могут быть выданы хостам в сети. Поэтому первый или последний адрес обычно выдается интернет-шлюзу данной сети.
Таблица маршрутизации (routing table) содержит информацию ядра о том, как отправлять АйПи пакеты к их пунктам назначения. Ниже представлена простая таблица маршрутизации для хоста под Дебиан в локальной сети с адресом 192.168.50.x/24. Хост 192.168.50.1 (также в локальной сети) это маршрутизатор для корпоративной сети 172.20.x.x/16 и хост 192.168.50.254 (тоже в локальной сети) является маршрутизатором всей сети для доступа в интернет.
Kernel IP routing table
Destination | Gateway | Genmask | Flags | Metric | Ref | Use | Iface |
127.0.0.0 | * | 255.0.0.0 | U | 0 | 0 | 2 | lo |
192.168.50.0 | * | 255.255.255.0 | U | 0 | 0 | 137 | eth0 |
172.20.0.0 | 192.168.50.1 | 255.255.0.0 | UG | 1 | 0 | 7 | eth0 |
default | 192.168.50.254 | 0.0.0.0 | UG | 1 | 0 | 36 | eth0 |
Первая строка после заголовка говорит, что трафик предназначенный для сети 127.x.x.x будет перенаправлен через lo на адрес обратной связи (loopback). Вторая строка говорит, что трафик для хостов в локальной сети будет перенаправлен через интерфейс eth0. Третья строка сообщает, что трафик предназначенный для корпоративной сети будет направлен на шлюз 192.168.50.1 также через eth0. Четвертая строка сообщает, что трафик направленный в интернет будет направлен на шлюз 192.168.50.254 также через eth0.
АйПи адреса в таблице могут также появиться как имена, которые получены просмотром адресов в /etc/networks или с использованием резолвера из библиотеки языка C.
В дополнение к маршрутизации, ядро может производить трансляцию сетевых адресов, резать трафик и фильтровать его.
Эти статьи могут быть найдены здесь.
Установка имени хоста.
Задание имени хоста во время установки Дебиан может оказаться преждевременным. Вы можете узнать или установить имя хоста с помощью команды hostname.
Вы можете увидеть ваше текущее имя хоста с помощью:
Например, чтобы установить имя хоста напрямую вам нужно зайти под суперпользователем и выполнить:
Когда ваша система загружается имя хоста будет автоматически прочитано из файла /etc/hostname. Поэтому, если вы хотите установить имя хоста на постоянку, то измените этот файл.
Установка DNS.
Когда дело доходит до установки DNS, Дебиант ничем не отличается от других дистрибутивов. Вы можете добавить имя хоста и его АйПи адрес в файл /etc/hosts для статических запросов.
Чтобы заставить вашу машину отправлять запросы соответствующему серверу, вы просто должны добавить их адреса в файл /etc/resolv.conf.
Например, машина с адресом 192.168.1.1, которая должна отправлять запросы к DNS серверу, должна иметь файл resolv.conf следующего вида:
Установка АйПи адреса
АйПи адреса связанные с любыми сетевыми картами можно прочесть в файле /etc/network/interfaces
Простое содержимое файла для машины со статическим адресом будет выглядеть примерно так:
Здесь мы устанавливаем АйПи адрес (192.168.3.90), шлюз по умолчанию (192.168.3.1) и сетевую маску.
Для машины использующей DHCP настройка сети в Debian выглядит намного проще:
Если вы используете настройку сети с помощью DHCP, то у вас должен быть установлен DHCP клиент, обычно это pump, dhcpcd или dhcp3-client. Если вы делаете изменения в этом файле и хотите чтобы эти изменения вступили в силу, выполните команду:
Установка второго АйПи адреса или виртуальный АйПи адрес в Debian
Если вы администратор серверной системы или обычный пользователь, вам иногда необходимо установить второй АйПи адрес на вашей системе под Дебиан. Для этого вам необходимо исправить файл /etc/network/interfaces добавив строки следующего вида. Ниже приведен пример в котором вам необходимо изменить адреса на ваши собственные:
Вам нужно ввести все детали, такие как адрес, сетевая маска, сеть, широковещательный адрес, шлюз. После этого сохраните файл и перезапустите сетевые службы командой:
учтите, что запускаются только интерфейсы описание которых начинается с auto.
Если вы хотите проверить установились ли новые айпи адреса, выполните следующую команду:
Установка шлюза по умолчанию.
Если вы прочитали предыдущую часть, то вы видели что шлюз по умолчанию для хоста со статическим адресом может быть установлен в файле /etc/network/interfaces. Если вы хотите просмотреть ваш текущий шлюз, то выполните:
Kernel IP routing table
Destination | Gateway | Genmask | Flags | MSS | Window | irtt | Iface |
192.168.3.0 | 0.0.0.0 | 255.255.255.0 | U | 0 | 0 | 0 | eth0 |
0.0.0.0 | 192.168.3.1 | 0.0.0.0 | UG | 0 | 0 | 0 | eth0 |
Также вы можете использовать команду:
Kernel IP routing table
Destination | Gateway | Genmask | Flags | Metric | Ref | Use | Iface |
192.168.3.0 | * | 255.255.255.0 | U | 0 | 0 | 0 | eth0 |
default | router | 0.0.0.0 | UG | 0 | 0 | 0 | eth0 |
(Здесь вы видите имя хоста router вместо айпи адреса 192.168.3.1 — чтобы предотвратить это, используйте «route -n»)
Чтобы изменить ваш шлюз по умолчанию, вы должны для начала удалить существующий:
Как только это сделано, шлюз по умолчанию будет удален и вы сможете взаимодействовать только с локальными машинами. Добавьте новый шлюз:
Источник
- 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)
Источник