Конфигурация сети Debian

Основной IP-адрес

IPv4

Специальные серверы

Основной IP-адрес выделенного сервера обычно находится в подсети / 26 или / 27. Чтобы предотвратить случайное использование чужого IP-адреса, наша инфраструктура отклоняет любые пакеты Ethernet, которые не адресованы на адрес шлюза. Для доступа к серверу в той же подсети у наших стандартных образов уже есть статический маршрут в их сетевой конфигурации. Статический маршрут направляет весь трафик в подсеть через шлюз.

Это не лучшее решение, так как в таблице маршрутизации появляется повторяющаяся и противоречивая информация. Лучший способ связаться с сервером в вашей подсети — установить сетевую маску на 255.255.255.255 (/32). Сервер предполагает, что он один в этой подсети, и не будет отправлять пакеты напрямую. Однако теперь необходим явный маршрут хоста к шлюзу. Это очень легко сделать с Debian, добавив опцию pointopoint 192.168.0.1в конфигурацию. Пожалуйста, измените 192.168.0.1действующий IP-адрес вашего шлюза.

## /etc/network/interfaces example Hetzner root server
# Loopback-Adapter
auto lo
iface lo inet loopback
#
# LAN interface
auto eth0
iface eth0 inet static
  # Main IP address of the server
  address 192.168.0.250
  # Netmask 255.255.255.255 (/32) independent from the
  # real subnet size (e.g. /27)
  netmask 255.255.255.255
  # explicit host route to the gateway
  gateway 192.168.0.1
  pointopoint 192.168.0.1

Дополнительный маршрут к шлюзу больше не нужен.

IPv6

Выделенные серверы / CX vServers

В принципе, вышесказанное относится и к IPv6. Но вместо одного основного IP вы получаете блок / 64.

В отличие от конфигурации IPv4, в IPv6 нет настройки «точка-точка».

Например:

  • Блок адресов: 2a01:4f8:61:20e1::2до2a01:4f8:61:20e1:ffff:ffff:ffff:ffff
  • Мы используем первый адрес из этого: 2a01:4f8:61:20e1::2
  • Шлюз: fe80::1
## /etc/network/interfaces example Hetzner root server
# Loopback-Adapter
auto lo
iface lo inet loopback
#
# IPv6 LAN
auto eth0
iface eth0 inet6 static
  # Main IPv6 Address of the server
  address 2a01:4f8:61:20e1::2
  netmask 64
  gateway fe80::1

IPv4 + IPv6

Ожидается, что в ближайшие несколько лет IPv4 и IPv6 будут использоваться параллельно. Оба файла конфигурации просто объединяются, и повторяющиеся записи опускаются.

Специальные серверы

## /etc/network/interfaces example Hetzner root server
# Loopback-Adapter
auto lo
iface lo inet loopback
#
# LAN interface
auto eth0
iface eth0 inet static
  # Main IP address of the server
  address 192.168.0.250
  # Netmask 255.255.255.255 (/32) independent from the
  # real subnet size (e.g. /27)
  netmask 255.255.255.255
  # explicit host route to the gateway
  gateway 192.168.0.1
  pointopoint 192.168.0.1
#
iface eth0 inet6 static
  # Main IPv6 Address of the server
  address 2a01:4f8:61:20e1::2
  netmask 64
  gateway fe80::1

Виртуальные серверы

## /etc/network/interfaces Example Hetzner Virtual Server
# Loopback-Adapter
auto lo
iface lo inet loopback
#
# LAN interface
auto eth0
iface eth0 inet static
  # Main IP address of the server
  address 192.168.0.250
  netmask 255.255.255.224
  gateway 192.168.0.1
#
# IPv6 LAN
iface eth0 inet6 static
  # Main IPv6 Address of the server
  address 2a01:4f8:61:20e1::2
  netmask 64
  gateway 2a01:4f8:61:20e1::1

Дополнительные IP-адреса (хост)

Для наших выделенных корневых серверов (за исключением моделей SX131 / 291) вы можете заказать до 6 дополнительных одиночных IP-адресов. Конфигурация сети аналогична в обоих случаях.

Для использования дополнительных адресов на сервере (без виртуализации) необходимы пакет iprouteи служебная программа ip. Конфигурация с псевдонимами интерфейсов (например eth0:1eth0:2и т. Д.) Устарела и больше не должна использоваться. Чтобы добавить адрес, выполните:

ip addr add 10.4.2.1/32 dev eth0

Команда ip addrпоказывает IP-адреса, которые в данный момент активны. Поскольку сервер использует всю подсеть, здесь также полезно добавить адреса с префиксом / 32, что означает, что маска подсети255.255.255.255

Конфигурация

В  /etc/network/interfacesвставьте следующие две строки в соответствующий интерфейс (например eth0):

up ip addr add 10.4.2.1/32 dev eth0
down ip addr del 10.4.2.1/32 dev eth0

upи downожидайте только одну строку кода оболочки, и это может повторяться для нескольких адресов. Недостатком является то, что имя и адрес интерфейса должны быть указаны дважды. Если используется много IP-адресов, файл конфигурации становится запутанным и подверженным ошибкам. Если данные изменены, все записи необходимо скорректировать.

Альтернативная настройка через скрипт адресов

ВНИМАНИЕ :  Следующие инструкции предполагают установку программного обеспечения третьей стороной (www.wertarbyte.de). Это не поддерживается Hetzner. В случае ошибок или проблем обращайтесь к  разработчику .

Скрипт находится в пакете ifupdown-scripts-wa, который не является частью официального дистрибутива Debian. Если для конфигурации APT добавлена ​​следующая строка, этой apt-get install ifupdown-scripts-waкоманды достаточно для правильной установки скрипта:

# /etc/apt/sources.list.d/wertarbyte.list
# Tartarus, ifupdown-scripts etc.
deb [http://wertarbyte.de/apt/](http://wertarbyte.de/apt/) ./

Полную процедуру установки можно сократить с помощью следующих команд:

wget -P/etc/apt/sources.list.d/ [http://wertarbyte.de/apt/wertarbyte-apt.list](http://wertarbyte.de/apt/wertarbyte-apt.list)
wget -O - [http://wertarbyte.de/apt/software-key.gpg](http://wertarbyte.de/apt/software-key.gpg) | apt-key add -
apt-get update
apt-get install ifupdown-scripts-wa

Если вы не хотите устанавливать сценарий с использованием системы пакетов, его также можно загрузить вручную:  http://wertarbyte.de/debian/ifupdown/addresses . Он хранится в  /etc/network/if-up.d/ каталоге, а также связан с  /etc/network/if-down.d/:

cd /etc/network/if-up.d/ && \
wget [http://wertarbyte.de/debian/ifupdown/addresses](http://wertarbyte.de/debian/ifupdown/addresses) && \
chmod +x addresses && \
cd ../if-down.d/ && \
ln -s ../if-up.d/addresses .

Рекомендуется установка через пакетную систему, так как текущая версия скрипта всегда доступна.

Сценарий расширяет синтаксис файла конфигурации, добавляя новую команду address`. Это позволяет указать дополнительные IP-адреса привязки (с сетевой маской в ​​/ -notation):

addresses 10.4.2.1/32 10.4.2.2/32 10.4.2.3/32

Если эта строка добавляется для настройки интерфейса «eth0», адреса добавляются при активации интерфейса и удаляются при деактивации.

Также можно использовать несколько строк для объединения адресов по категориям и сделать конфигурацию более прозрачной:

addresses       10.4.2.1/32
addresses-https 10.4.2.2/32 10.4.2.3/32 # SSL-Websites
addresses-mail  10.4.2.4/32             # Mailserver

Сценарий захватывает различные команды, которые начинаются с ключевого слова addresses-и метки по вашему выбору. Ярлыки не следует использовать дважды, поскольку в противном случае отображается синтаксическая ошибка ifupdown и настройка интерфейса прерывается. Это может привести к тому, что сервер будет недоступен.

IP-адреса, которые были добавлены через ip addr, не отображаются в выводе ifconfig ; команда ip addr showтребуется, чтобы показать их. Однако сценарий адресов также может настраивать псевдонимы устройств:

addresses 10.0.0.1/32 10.0.0.2/32 10.0.0.3/32
create_alias_devices yes

Сценарий создает последовательно пронумерованные устройства eth0: X, используя эту конфигурацию, которые также видны в ifconfig.

Вместо простой нумерации устройств можно также использовать метки из конфигурации:

addresses-https 10.0.0.1/32 10.0.0.3/32
addresses-vhost 10.0.0.2/32
label_addresses yes

Адреса впоследствии помечаются eth0:httpsили отображаются в eth0:vhostвыходных данных, ip addrа также отображаются в ifconfig.

Дополнительные IP-адреса (виртуализация)

При виртуализации дополнительные IP-адреса используются через гостевую систему. Чтобы к ним можно было получить доступ через Интернет, необходимо соответствующим образом скорректировать конфигурацию хост-системы, чтобы пересылать пакеты. Для дополнительных одиночных IP-адресов есть два способа сделать это: маршрутизированный и мостовой.

Маршрутизированный (маршрутизатор)

В этом типе конфигурации пакеты маршрутизируются. Это требует настройки дополнительного моста с почти такой же конфигурацией (без шлюза), что и eth0.

Хост:

auto eth0
iface eth0 inet static
   address (Main IP)
   netmask 255.255.255.255
   pointopoint (Gateway IP)
   gateway (Gateway IP)
#
iface eth0 inet6 static
  address 2a01:4f8:XX:YY::2
  netmask 128
  gateway fe80::1
#
auto virbr1
iface virbr1 inet static
   address (Main IP)
   netmask 255.255.255.255
   bridge_ports none
   bridge_stp off
   bridge_fd 0
   pre-up brctl addbr virbr1
   up ip route add (Additional IP)/32 dev virbr1
   down ip route del (Additional IP)/32 dev virbr1
 #
 iface virbr1 inet6 static
   address 2a01:4f8:XX:YY::2
   netmask 64

Для каждого дополнительного IP-адреса необходимо создать соответствующий маршрут к хосту. Конфигурация eth0 для IPv4 не изменилась. Для IPv6 префикс уменьшен с / 64 до / 128.

Гость:

auto eth0
iface eth0 inet static
   address (Additional IP)
   netmask 255.255.255.255
   pointopoint (Main IP)
   gateway (Main IP)
#
iface eth0 inet6 static
  address 2a01:4f8:XX:YY::4
  netmask 64
  gateway 2a01:4f8:XX:YY::2

Мостовой

В мостовой конфигурации пакеты отправляются напрямую. Гостевая система ведет себя как независимая. Так как это делает MAC-адреса гостевой системы видимыми извне, виртуальный MAC-адрес должен быть запрошен для каждого IP-адреса через робота Hetzner и назначен гостевой сетевой карте. Мост получает ту же конфигурацию сети, что и eth0.

# remove or disable configuration for eth0
#auto eth0
#iface eth0 inet static
#
auto  br0
iface br0 inet static
 address (Main IP)
 netmask (like eth0, e.g: 255.255.255.254)
 gateway (same as that for the main IP)
 bridge_ports eth0
 bridge_stp off
 bridge_fd 1
 bridge_hello 2
 bridge_maxage 12

Конфигурация eth0опускается без замены.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *