SCROLL
Среднее время на прочтение: 2 мин.

Настройка сети в Debian 9

Довольно часто приходится разворачивать серверные системы на базе ОС семейства Debian и одним из основных и первоначальных пунктов в настройке системы, является настройка ее сетевой части.

Рассмотрим как настраивать сеть в Debian 9. Настройка сети выполняется в файле /etc/network/interfaces, по-умолчанию в нем сетевые интерфейсы настроены на работу с dhcp:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto ens32
iface ens32 inet dhcp

где:

  • lo — локальный интерфейс (присваиваем локальный адрес 127.0.0.1)
  • ens32 — это сетевой интерфейс (присваивается сетевой адрес по протоколу dhcp).

Настройка статического IP-адреса

Сперва выведем информацию об имеющихся сетевых интерфейсах, выполним команду.

ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:50:56:92:95:88 brd ff:ff:ff:ff:ff:ff
    inet 10.10.16.2/8 brd 10.255.255.255 scope global ens32
       valid_lft forever preferred_lft forever
    inet6 fe80::250:56ff:fe92:9588/64 scope link
       valid_lft forever preferred_lft forever

Для примера, сетевому интерфейсу ens32 назначим статический IP-адрес 10.10.16.22/24. В конфигурационном файле /etc/network/interfaces, строку описания сетевого интерфейса ens32, приводим к виду:

auto ens32
iface ens32 inet static
        address 10.10.16.22
        netmask 255.255.255.0
        gateway 10.10.16.1
        dns-nameservers 8.8.8.8 8.8.4.4

Пояснения:

  • auto — запускать интерфейс при загрузке системы.
  • iface — имя интерфейса.
  • address — статический ip-адрес.
  • netmask — маски сети.
  • gateway — шлюз по-умолчанию.
  • dns-nameservers -сервера DNS, разделяются пробелами.

Вместо параметра auto, можно использовать allow-hotplug, если нужно запускать интерфейс как только система обнаружит устройство.

Небольшое дополнение по настройки DNS серверов. При отсутствии пакета resolvconf (отвечающий за автоматическое назначение DNS серверов), настройки DNS будут определяется содержимым файла /etc/resolv.conf, добавим в него параметры DNS:

/etc/resolv.conf
domain example.com
search example.com
nameserver 8.8.8.8
nameserver 8.8.4.4

После внесения изменений перезапускаем сетевые интерфейсы:

/etc/init.d/networking restart
Хочу обратить внимание, если использовать параметр allow-hotplug, то при перезапуске сервиса сети, сетевой интерфейс не поднимется вплоть до перезагрузки сервера. Потому как этот параметр обозначает, что настройки будут приняты только тогда, когда устройство будет подключено и обнаружено системой, а т.к. перезагрузка сервиса сети никак не связана с отключением устройства, то и настройки к уже обнаруженному устройству не будут применены.

Настройка виртуальных интерфейсов

В случае когда необходимо присвоить более чем один IP-адрес к физическому сетевому интерфейсу, то можно создать его виртуальный интерфейс. К примеру к интерфейсу ens32, добавим виртуальный интерфейс ens32:1 и назначим ему статический IP-адрес 10.10.16.23/24.

Название виртуального интерфейса, базируется на оригинальном физическом сетевом интерфейсе и обозначается после двоеточия (прим. ens32:1). В файле конфигурации /etc/network/interfaces это выглядит таким образом:

/etc/network/interfaces
auto ens32
iface ens32 inet static
        address 10.10.16.22
        netmask 255.255.255.0
        gateway 10.10.16.1
        dns-nameservers 8.8.8.8 8.8.4.4

iface ens32:1 inet static
        address 10.10.16.23
        netmask 255.255.255.0
Обращаю внимание что, система критична в порядку поднятия интерфейсов, поэтому надо поднимать в таком порядке: lo, ens32, ens32:1 и т.д..

Настройка VLAN 802.1Q

Если необходимо работать сразу в нескольких виртуальных локальных сетях (VLAN), то можно включить поддержку VLAN 802.1Q на сетевом интерфейсе.

Устанавливаем пакет для работы с VLAN:

apt-get install vlan

 Загружаем модулем ядра для vlan 8021q в систему:

modprobe 8021q

lsmod | grep 8021q
8021q                  32768  0
garp                   16384  1 8021q
mrp                    20480  1 8021q

Добавим модуль в автозагрузку:

echo 8021q >> /etc/modules

 В файл конфигурации /etc/network/interfaces, добавляем логический интерфейс (прим. ens32.500), который принадлежит VLAN500:

/etc/network/interfaces
auto ens32.500
iface ens32.500 inet static
        address 10.10.17.100
        netmask 255.255.255.0
        gateway 10.10.17.1
        dns-nameservers 8.8.8.8 8.8.4.4
        vlan_raw_device ens32
Опция vlan_raw_device, указывает системе на каком сетевом интерфейсе этот VLAN будет тегироваться.

После внесения изменений перезапускаем сетевые интерфейсы:

/etc/init.d/networking restart

Обсуждение

0 комментариев

Нет комментариев.