Что ж, давайте разберем его на части, чтобы было легче понять /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 ничего не делает с ними, вы должны сделать это самостоятельно вручную.