Я понял основную концепцию использования /etc/network/interfaces
, но все, что я нахожу в Интернете, это примеры, пример за примером, из которого я могу скопировать и вставить. Что я пропускаю, так это объяснение синтаксиса, объяснение значения команд и порядка, в котором они требуются. Я хочу понять, потому что в большинстве случаев копирования-вставки недостаточно, потому что я не работаю на новой машине, поэтому я не могу просто перезаписать существующие конфигурации, потому что это сломает много вещей. man interfaces
было не очень полезно, так как написано очень сложно.
Примеры вопросов, которые у меня есть: что inet
в iface
строке означает точно (я даже не смог найти ее на странице руководства), что manual
в iface
строке означает точно (многие примеры используют это, но в соответствии с man-страницей тогда нужен дополнительный файл конфигурации, который примеры не представлены), когда я использую или нуждаюсь в них? Когда нет? Когда я создаю мост, что именно происходит с интерфейсами?
источник
manual
означает, что если upupdown ничего не делает с ними, вы должны сделать это самостоятельно вручную.Ответы:
Что ж, давайте разберем его на части, чтобы было легче понять
/etc/network/interfaces
:Канальный уровень + параметры типа интерфейса (обычно первая из каждого раздела интерфейса и вызываемое семейство адресов + метод
interfaces(5)
manpages):auto interface
- Запустите интерфейс (ы) при загрузке. Вот почемуlo
интерфейс использует такую конфигурацию связывания.allow-auto interface
- Такой же какauto
allow-hotplug interface
- Запустите интерфейс при обнаружении события «горячего подключения». В реальном мире это используется в тех же ситуациях,auto
но разница состоит в том, что он будет ожидать события, такого как «обнаружение udev hotplug api» или «кабельное соединение». См. « Связанные материалы (hotplug) » для получения дополнительной информации.Эти параметры в значительной степени являются параметрами «уровня 2», устанавливающими состояния каналов на интерфейсах, и не связаны с «уровнем 3» (маршрутизация и адресация). В качестве примера у вас может быть агрегация ссылок, в которой интерфейс bond0 должен работать независимо от состояния связи, а его члены могут работать после события состояния ссылки:
Таким образом, таким образом я создаю агрегацию каналов, и интерфейсы будут добавлены и удалены в состояниях кабельных каналов .
Наиболее распространенные типы интерфейсов:
Все параметры ниже являются суффиксом для определенного интерфейса (
iface <Interface_family>
). По сути,iface eth0
создается раздел, который вызываетсяeth0
на устройстве Ethernet.iface ppp0
должен создать интерфейс точка-точка , и у него могут быть разные способы получения адресовinet wvdial
, которые перенаправят конфигурацию этого интерфейса вwvdialconf
сценарий. Кортежinet
/inet6
+option
будет определять версию протокола IP , который будет использоваться и как этот адрес будет настроен (static
,dhcp
,scripts
...). В онлайн - руководства Debian даст вам более подробную информацию об этом.Опции на интерфейсах Ethernet:
inet static
- Определяет статический IP-адрес.inet manual
- Не определяет IP-адрес для интерфейса. Обычно используется интерфейсами, которые являются элементами моста или агрегации, интерфейсами, которые должны работать в случайном режиме ( например, зеркалирование портов или сетевые TAP ), или на них настроено устройство VLAN. Это способ поддерживать интерфейс без IP-адреса.inet dhcp
- Получить IP-адрес через протокол DHCP.inet6 static
- Определяет статический адрес IPv6.Пример:
Этот пример вызовет
eth0
и создаст вызванный интерфейс VLANvlan10
, который обработает тег номер 10 в кадре Ethernet.Общие параметры в разделе интерфейса (уровень 2 и 3):
address
- IP-адрес для статического IP-интерфейсаnetmask
- Сетевая маска. Может быть опущен, если вы используете адрес cidr. Пример:gateway
- Шлюз по умолчанию для сервера. Будьте осторожны, чтобы использовать только один из этого парня.vlan-raw-device
- На интерфейсе VLAN определяет своего «отца».bridge_ports
- На интерфейсе моста определите его членов.down
- Используйте следующую команду для отключения интерфейса вместоifdown
.post-down
- Действия, выполняемые сразу после выхода из строя интерфейса.pre-up
- Действия до запуска интерфейса.up
- Используйте следующую команду для обновления интерфейса вместоifup
. Это ваше воображение, чтобы использовать любую опцию, доступную наiputils
. В качестве примера мы могли бы использоватьup ip link set $IFACE up mtu 9000
для включения больших кадров во времяup
операции (вместо использования самойmtu
опции). Вы также можете вызвать любое другое программное обеспечение, например,up sleep 5; mii-tool -F 100baseTx-FD $IFACE
установить полный дуплексный режим 100 Мбит / с через 5 секунд после запуска интерфейса.hwaddress ether 00:00:00:00:00:00
- Измените mac-адрес интерфейса вместо того, чтобы использовать тот, который жестко закодирован в rom или генерируется алгоритмами. Вы можете использовать ключевое слово,random
чтобы получить рандомизированный MAC-адрес.dns-nameservers
- IP-адреса серверов имен. Требуетсяresolvconf
пакет. Это способ сконцентрировать всю информацию,/etc/network/interfaces
а не использовать ее/etc/resolv.conf
для конфигураций, связанных с DNS. Не редактируйтеresolv.conf
файл конфигурации вручную, так как он будет динамически изменяться программами в системе.dns-search example.net
- Добавьте example.net в качестве домена к запросам хоста, создав полное доменное имя. Вариантdomain
из/etc/resolv.conf
wpa-ssid
- Беспроводной: установите беспроводной WPA SSID.mtu
- размер MTU .mtu 9000
= Jumbo Frame. Полезно, если ваш Linux-блок связан с коммутаторами, которые поддерживают большие размеры MTU. Может нарушить некоторые протоколы (у меня был плохой опыт работы с кадрами snmp и jumbo).wpa-psk
- Беспроводной: установите PSK в шестнадцатеричном формате для вашего SSID.ip_rp_filter 1
- Фильтр обратного пути включен. Полезно в ситуациях, когда у вас есть 2 маршрута к хосту, и это заставит пакет возвращаться туда, откуда он пришел (тот же интерфейс, используя его маршруты). Пример: вы подключены к локальной сети (192.168.1.1/24
), и у вас есть сервер dlna с одним интерфейсом на локальной сети (192.168.1.10/24
) и другой интерфейс на dmz для выполнения административных задач (172.16.1.1/24
). Во время ssh-сеанса с вашего компьютера на dlna dmz ip информация должна возвращаться к вам, но она будет зависать вечно, потому что ваш dlna-сервер будет пытаться доставить ответ напрямую через свой сетевой интерфейс. С включенным rp_filter, он будет гарантировать, что соединение вернется туда, откуда оно пришло. Больше информации здесь .Некоторые из этих опций не являются обязательными. Debian предупредит вас, если вы, например, поместите IP-адрес в интерфейс без сетевой маски.
Вы можете найти более хорошие примеры конфигурации сети здесь .
Связанные вещи :
Ссылки, содержащие информацию, относящуюся к
/etc/network/interfaces
файлу конфигурации сети:источник
inet
какое-либо отношение к "интернету"? Я читал где-то, что это просто означает «IPv4» иinet6
означает «IPv6», но термин «inet» действительно сбивает с толку, когда вы видите его, и путаете его с сокращением «интернет». И имена, которые вы используете, напримерeth0
, они определены или я могу выбрать их сам? Если у меня более одного адаптера локальной сети, как узнать,eth
к какому адаптеру принадлежит какой сетевой адаптер?inet
= v4 иinet6
= v6). Имена интерфейсов во многом зависят от используемого вами дистрибутива и способаudev
его настройки. Debian используетeth*
иwlan*
для кабельных и беспроводных интерфейсов. В Fedora используется схема biosdevname, где указанem0
первый встроенный интерфейс Ethernet на вашей материнской плате, а вp<slot>p<eth port>
качестве имени PCI. Вы можете исправить сетевые имена в/etc/udev/rules.d/70-persistent-net.rules
или создать псевдонимinterfaces
.Я бы также добавил, что:
Вы можете отслеживать, что происходит с ifup, используя флаг --verbose.
Я не уверен на 100% в этом, но кажется, что в основном, когда вызывается ifup, вы будете выполнять все из / etc / network / interfaces with up ... если не указано иное.
Я не уверен, как это относится к сервису сетей ...
Было бы неплохо, если бы кто-то указывал, что происходит после звонка:
по отношению к ifup / ifdown.
источник