Что ж, давайте разберем его на части, чтобы было легче понять /etc/network/interfaces
:
Канальный уровень + параметры типа интерфейса (обычно первая из каждого раздела интерфейса и вызываемое семейство адресов + метод interfaces(5)
manpages):
auto interface
- Запустите интерфейс (ы) при загрузке. Вот почему lo
интерфейс использует такую конфигурацию связывания.
allow-auto interface
- Такой же как auto
allow-hotplug interface
- Запустите интерфейс при обнаружении события «горячего подключения». В реальном мире это используется в тех же ситуациях, auto
но разница состоит в том, что он будет ожидать события, такого как «обнаружение udev hotplug api» или «кабельное соединение». См. « Связанные материалы (hotplug) » для получения дополнительной информации.
Эти параметры в значительной степени являются параметрами «уровня 2», устанавливающими состояния каналов на интерфейсах, и не связаны с «уровнем 3» (маршрутизация и адресация). В качестве примера у вас может быть агрегация ссылок, в которой интерфейс bond0 должен работать независимо от состояния связи, а его члены могут работать после события состояния ссылки:
auto bond0
iface bond0 inet manual
down ip link set $IFACE down
post-down rmmod bonding
pre-up modprobe bonding mode=4 miimon=200
up ip link set $IFACE up mtu 9000
up udevadm trigger
allow-hotplug eth0
iface eth0 inet manual
up ifenslave bond0 $IFACE
down ifenslave -d bond0 $IFACE 2> /dev/null
allow-hotplug eth1
iface eth1 inet manual
up ifenslave bond0 $IFACE
down ifenslave -d bond0 $IFACE 2> /dev/null
Таким образом, таким образом я создаю агрегацию каналов, и интерфейсы будут добавлены и удалены в состояниях кабельных каналов .
Наиболее распространенные типы интерфейсов:
Все параметры ниже являются суффиксом для определенного интерфейса ( 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
auto eth0
iface eth0 inet manual
pre-up modprobe 8021q
pre-up ifconfig eth0 up
post-down ifconfig eth0 down
# Vlan Interface
auto vlan10
iface vlan10 inet static
address 10.0.0.1
netmask 255.255.255.0
gateway 10.0.0.254
vlan-raw-device eth0
ip_rp_filter 0
Этот пример вызовет eth0
и создаст вызванный интерфейс VLANvlan10
, который обработает тег номер 10 в кадре Ethernet.
Общие параметры в разделе интерфейса (уровень 2 и 3):
address
- IP-адрес для статического IP-интерфейса
netmask
- Сетевая маска. Может быть опущен, если вы используете адрес cidr. Пример:
iface eth1 inet static
address 192.168.1.2/24
gateway 192.168.1.1
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
файлу конфигурации сети:
manual
означает, что если upupdown ничего не делает с ними, вы должны сделать это самостоятельно вручную.