- Настройка firewall (iptables) в Debian
- Install and Configure
- See also
- Debian-specific information
- Upstream specific information
- Other information
- Установка NTP на клиенте
- Настройка NTP-клиента
- Troubleshooting
- Разметка жесткого диска
- Xfce, Thunar. Похоже, что gvfs недоступен.
- Устанавливаем драйвер для видеокарты Nvidia
- Установка утилит mc, htop, iftop
- Настройка vlan в Debian
- Обновление репозитория пакетов Debian
- Получение сетевых настроек по DHCP
- Установка Debian 10 на raid
- Настроим Яндекс-браузер и Opera
- 2 и более IP на одном интерфейсе
- Онлайн курcы по Mikrotik
- Помогла статья? Подписывайся на telegram канал автора
- Варианты установки
- Автоматическая установка при заказе сервера
- Автоматическая установка после заказа сервера
- Установка на собственный сервер
- Ручная установка через KVM-консоль
- Выбор языка
- Выбор страны
- Выбор локали
- Выбор раскладки клавиатуры
- Установка сети
- Имя сервера
- Имя домена
- Установка пароля пользователя root
- Создание пользователя
- Настройка часов
- Разметка жесткого диска
- Настройка репозитория
- Выбор программного обеспечения
- Установка загрузчика
- Завершение установки
- Установка и настройка screen
- Настройка статического IP
- Запись образа на флешку
- Static routes (статические маршруты)
- Системные требования
- Установка шрифтов
- Указываем сетевые параметры
- Системные требования
- Часто задаваемые вопросы по теме статьи (FAQ)
- Помогла статья? Подписывайся на telegram канал автора
- Как указать DNS сервер
- Как быстро узнать ip адрес сервера в Debian
- Настройка логов cron
Настройка firewall (iptables) в Debian
В качестве firewall в Debian по-умолчанию используется iptables, его и будем настраивать. Изначально фаервол полностью открыт и пропускает весь трафик. Проверить список правил iptables можно следующей командой:
# iptables -L -v -n Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
Обращаю пристальное внимание на то, что настраивать firewall без прямого доступа к консоли сервера не следует. Особенно, если вы не очень разбираетесь в этом и копируете команды с сайта. Шанс ошибиться очень высок. Вы просто потеряете удаленный доступ к серверу.
Создадим файл с правилами iptables:
# mcedit /etc/iptables.sh
Очень подробно вопрос настройки iptables я рассмотрел отдельно, рекомендую ознакомиться. Хотя в примере другая ОС linux, принципиальной разницы нет, настройки iptables абсолютно одинаковые, так как правила одни и те же.
Добавляем набор простых правил для базовой настройки. Все необходимое вы потом сможете сами открыть или закрыть по аналогии с существующими правилами:
#!/bin/bash # # Объявление переменных export IPT="iptables" # Активный сетевой интерфейс export WAN=ens18 export WAN_IP=10.20.1.16 # Очистка всех цепочек iptables $IPT -F $IPT -F -t nat $IPT -F -t mangle $IPT -X $IPT -t nat -X $IPT -t mangle -X # Установим политики по умолчанию для трафика, не соответствующего ни одному из правил $IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP # разрешаем локальный траффик для loopback $IPT -A INPUT -i lo -j ACCEPT $IPT -A OUTPUT -o lo -j ACCEPT # разрешаем пинги $IPT -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT $IPT -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT $IPT -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT $IPT -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # Разрешаем исходящие соединения самого сервера $IPT -A OUTPUT -o $WAN -j ACCEPT # Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении. # Пропускать все уже инициированные соединения, а также дочерние от них $IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # Пропускать новые, а так же уже инициированные и их дочерние соединения $IPT -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # Разрешить форвардинг для уже инициированных и их дочерних соединений $IPT -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # Включаем фрагментацию пакетов. Необходимо из-за разных значений MTU $IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu # Отбрасывать все пакеты, которые не могут быть идентифицированы # и поэтому не могут иметь определенного статуса. $IPT -A INPUT -m state --state INVALID -j DROP $IPT -A FORWARD -m state --state INVALID -j DROP # Приводит к связыванию системных ресурсов, так что реальный # обмен данными становится не возможным, обрубаем $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP $IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP # Открываем порт для ssh (!!!не забудьте указать свой порт, который вы изменили ранее!!!) $IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT # Открываем порт для web сервера $IPT -A INPUT -i $WAN -p tcp --dport 80 -j ACCEPT $IPT -A INPUT -i $WAN -p tcp --dport 443 -j ACCEPT # Записываем правила в файл /sbin/iptables-save > /etc/iptables_rules
Даем файлу права на запуск:
# chmod 0740 /etc/iptables.sh
sh /etc/iptables.sh
# iptables -L -v -n
Проверяем, что правила записались в файл /etc/iptables_rules. Если их там нет, то записываем их вручную.
# /sbin/iptables-save > /etc/iptables_rules
Правила применились и произошла их запись в файл /etc/iptables_rules. Теперь нужно сделать так, чтобы они применялись при загрузке сервера. Для этого делаем следующее. Открываем файл /etc/network/interfaces и добавляем в него строку pre-up iptables-restore < /etc/iptables_rules Должно получиться вот так:
# cat /etc/network/interfaces allow-hotplug eth0 iface eth0 inet dhcp pre-up iptables-restore < /etc/iptables_rules
Для проверки перезагрузите сервер и посмотрите правила iptables. Должен загрузиться настроенный набор правил из файла /etc/iptables_rules.
Install and Configure
- Type date to see current date and time. (Use -R to get a standard unambiguous format. Locale specific timezones are ambiguous.)
date -R
- Install NTP
aptitude install ntp
- Done.
Type ntpq -p to see servers you are syncing with.
Type date again to see if the time changed. Your time should be synced in a next minute.
- Done.
See also
Debian-specific information
Security Bug Tracker
Upstream specific information
Bugs & Issues
Other information
Установка NTP на клиенте
Откройте терминал с привилегиями root и выполните следующую команду.
Дождитесь окончания установки. Это может занять несколько минут в зависимости от скорости интернета.
Ниже приведен пример вывода.
Настройка NTP-клиента
После того как вы установили демон NTP на клиентскую машину, пришло время настроить ее так, чтобы ее часы синхронизировались с NTP-сервером.
Выполните следующую команду, чтобы открыть файл конфигурации в редакторе nano.
Добавьте следующие строки,
server [IP] prefer iburst
Ниже приведен пример вывода после добавления вышеуказанной строки в конфигурационный файл.
Перезапустите службу NTP после добавления вышеуказанной строки, выполнив следующую команду на терминале с правами root.
Чтобы проверить состояние, выполните следующую команду на терминале.
Troubleshooting
If you run ntpq -p and you get
No association ID's returned
- Run
dpkg-reconfigure ntp
- And then again:
ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== ntp.pbx.org xx.xxx.xxx.xxx 2 u - 64 1 33.763 1799619 1.054 xray.metadom.co xx.xxx.xxx.xxx 2 u 1 64 1 40.367 1799619 0.001 hydrogen.cert.u xx.xxx.xxx.xxx 2 u - 64 1 64.740 1799619 0.001 mirror .INIT. 16 u - 64 0 0.000 0.000 0.001
Разметка жесткого диска
Тема разметки диска раньше была достаточно спорной и вызывала много дискуссий и споров. Делали отдельно разделы под корень /, домашнюю директорию /home, под логи /var/logs и т.д. Мне кажется, что сейчас все это стало неактуально. Сервера общего назначения переехали в виртуальные среды, а там можно и дополнительный диск выделить под образовавшиеся нужды, либо увеличить текущий. Нет необходимости заранее продумывать на много шагов вперед, можно без проблем потом добавить дисковое пространство.
Если же вы настраиваете железный сервер, то скорее всего четко знаете для чего он нужен и разбиваете уже в зависимости от его прямого назначения. Я сам лично, если нет каких-то особых требований к серверу, создаю только один общий раздел / на lvm.
Далее нужно выбрать жесткий диск, на который будет установлена система. Если у вас он только один, как у меня, то выбирать не из чего. Дальше выбираем схему разбивки диска. Как я уже сказал ранее, все будет храниться в одном корневом разделе, так что выбираем All files in one partition.
Затем вас спросят, записать ли изменения — соглашайтесь. Далее надо указать размер группы томов LVM. По-умолчанию указан весь размер диска, можно с этим согласиться. Далее увидите окончательный вариант разбивки диска.
В принципе, можно с ним согласиться. Но лично мне не нравится swap на отдельном lvm томе. Я люблю хранить swap в файле прямо на файловой системе. Теоретически, это чуть медленнее, чем отдельный раздел, но практически это не важно. В современных серверах swap редко используется, нужен больше для стабильности работы системы, нежели для скорости. Со swap в отдельном разделе не получится гибко работать, как с обычным файлом. Я на серверах ставлю минимальный размер свопа в 1 Гб, увеличиваю по мере необходимости. Когда своп это обычный файл, с этим нет проблем.
Так что изменения не записываем, выбираем No. Вы попадаете в раздел управления разметкой диска. Необходимо удалить LV раздел под swap, затем удалить LV раздел root и создать его заново максимального размера. Потом на нем же еще раз создать корневую систему в точке монтирования /. Должно получиться вот так.
В принципе, раздел /boot тоже можно было бы разместить в корне, но в целом можно оставить и так. Я сталкивался с неожиданными проблемами, когда /boot раздел был на lvm. Так что не буду вам рекомендовать его куда-то переносить.
Когда будете соглашаться с новой разметкой, получите предупреждение, что забыли про swap. Не обращайте на него внимание. Дальше пойдет непосредственно установка Debian 10 в виде копирования системных файлов на диск.
На следующем этапе установки системы, вам будет задан вопрос по поводу дополнительного диска с пакетами. Вам будет предложено проверить другой диск для установки дополнительных пакетов. Отказываемся и идем дальше. Теперь нужно выбрать зеркало, с которым будет работать пакетный менеджер apt. Выбираем свою страну и подходящее зеркало. Я выбираю Russian Federation и зеркало mirror.corbina.net. Раньше всегда выбирал зеркало Яндекса, но в Debian 10 его почему-то нет для выбора.
Далее нас просят указать прокси. Скорее всего вы им не пользуетесь, поэтому строку можно оставить пустой. Если это не так, то укажите адрес proxy сервера. На следующем этапе установки debian 10 вопрос о том, хотим ли мы делиться анонимной статистической информацией об использовании различного ПО на сервере. Я обычно не делюсь.
Дальше выбираем набор дополнительного ПО, которое будет установлено на сервер debian 10 вместе с основной системой. Я никогда не ставлю ничего, кроме ssh сервера и системных утилит.
Все остальное можно установить потом. На последнем этапе установки нас спрашивают про загрузчик grub — установить ли нам его. В подавляющем большинстве случаев это нужно сделать. Если вы не знаете, нужно или нет, значит 100% нужно. Без загрузчика можно обойтись в очень специфических ситуациях, которые мы рассматривать не будем в этой инструкции по установке debian. Так что устанавливаем grub на единственных жесткий диск.
Перезагружаем сервер. Установка завершена, он полностью готов к работе. Не забывайте, что по-умолчанию, на сервер нужно подключаться под учетной записью обычного пользователя, не root. После установки системы, предлагаю выполнить предварительную настройку сервера.
Xfce, Thunar. Похоже, что gvfs недоступен.
Настроим работу с виртуальными файловыми системами.
В Debian 10 с Xfce, при попытке нажать «Обзор сети» или монтировании Яндекс-диск (по технологии WebDAV), появлялось сообщение:
"Не удалось открыть «/ на ». Указанный адрес не поддерживается." ("Failed to open "/ on". Specified location is not supported.")
.
Так же в Thunar (Файловый менеджер в Xfce), в настройках, светится предупреждение во вкладке «Дополнительно» — Похоже, что gvfs недоступен. Важные функции, включая поддержку корзины, сменные носители и просмотр удалённых местоположений, не смогут работать
.
Чтобы решить эту проблему нам нужно установить пакет gvfs-backends
(виртуальная файловая система пространства пользователя — драйверы).
sudo apt install gvfs-backends
После этого Thunar монтирует Яндекс-диск (Yandex-Disk) и позволяет работать с сетевым окружением.
Устанавливаем драйвер для видеокарты Nvidia
После того, как мы добавили проприетарные источники, мы можем установить драйвер видеокарты из реп Debian.
Чтобы установить проприетарный драйвер Nvidia, установим метапакет nvidia-driver
sudo apt install nvidia-driver
Установка утилит mc, htop, iftop
Следующим шагом я настраиваю некоторые полезные утилиты, которыми регулярно пользуюсь в повседневной работе. Первая из них это всем известный двухпанельный файловый менеджер Midnight Commander. Установим mc на наш сервер:
# apt install mc
# cp /usr/share/mc/syntax/sh.syntax /usr/share/mc/syntax/unknown.syntax
Я сразу же ставлю редактором по-умолчанию mcedit. Для этого просто выбираю его из меню при первом редактировании какого-нибудь файла. Если у вас такое меню не появляется, можете вызвать его сами и выбрать необходимый редактор по-умолчанию:
# select-editor Select an editor. To change later, run 'select-editor'. 1. /bin/nano <---- easiest 2. /usr/bin/mcedit 3. /usr/bin/vim.tiny Choose 1-3 [1]: 2
Так же я рекомендую очень удобный диспетчер задач — htop. Мне он помог, к примеру, решить проблему Взлома сервера CentOS. Ставим его на сервер:
# apt install htop
Полезной утилитой, позволяющей смотреть сетевую загрузку в режиме реального времени, является iftop. Очень рекомендую. Более простого и удобного инструмента мне не попадалось, хотя я много перепробовал подобных вещей. Устанавливаем iftop на сервер:
# apt install iftop
Настройка vlan в Debian
Для настройки vlan в Debian первым делом необходимо установить пакет vlan:
# apt install vlan
Теперь нужно разобраться с необходимым модулем ядра для vlan — 8021q. Проверим, загружено ли оно в системе:
# lsmod | grep 8021q
Если в выводе пусто, а по-умолчанию там будет пусто, модуль не загружен. Загрузим его и проверим:
# modprobe 8021q # lsmod | grep 8021q 8021q 27844 0 garp 13117 1 8021q mrp 17343 1 8021q
Все в порядке, vlan модуль загрузился. Добавим его в автозагрузку:
# echo 8021q >> /etc/modules
Теперь этот модуль будет загружаться при старте сервера. Создадим виртуальный интерфейс с vlan с id 1500:
# vconfig add eth0 1500
Назначим адрес новому интерфейсу и запустим его:
# ip addr add 192.168.10.100/24 dev eth0.1500 # ip link set eth0.1500 up
Можно в одну команду, с помощью ifconfig:
ifconfig eth0.1500 192.168.10.100 netmask 255.255.255.0 up
Смотрим, что получилось:

Мы выполнили настройку vlan интерфейса в Debian. Теперь сделаем так, чтобы после перезагрузки настройки сохранились. Для этого добавляем свойства vlan интерфейса в файл конфигурации сети, оставляя и не трогая то, что там уже есть:
# mcedit /etc/network/interfaces
auto eth0.1500 iface eth0.1500 inet static address 192.168.10.100 netmask 255.255.255.0 vlan_raw_device eth0
Перезагрузите сервер и проверьте, что получилось. Можно выполнить перезапуск сети, но если вы до этого все вручную через консоль сделали, то не поймете, сработали настройки из файла или нет. Таким образом очень просто и быстро настроить vlan на сервере с Debian.
Обновление репозитория пакетов Debian
Прежде чем мы начнём установку новых пакетов, мы должны убедиться, что списки репозитория Debian обновлены. Откройте терминал с привилегиями root и выполните следующую команду для обновления репозитория пакетов.
Получение сетевых настроек по DHCP
Теперь рассмотри вариант, когда вам необходимо получить динамический ip адрес в Debian. Здесь по аналогии с предыдущими настройками можно пойди двумя путями:
- Получить ip адрес по dhcp в консоли с помощью программы dhclient, который будет работать до перезагрузки.
- Отредактировать файл конфигурации сетевых интерфейсов.
Смотрим снова на текущую конфигурацию сети:
# ip a

Выполним команду на получение ip адреса по dhcp и проверим сеть:
# dhclient # ip a

В качестве второго ip мы получили адрес от dhcp сервера. Если у вас несколько сетевых интерфейсов, то необходимо добавлять название после команды, например вот так:
# dhclient eth0
Для того, чтобы сбросить адрес, нужно воспользоваться следующим ключом:
# dhclient -r
Обращаю внимание, что эта команда сбросит все ip адреса интерфейса, в том числе и статические. Чтобы снова запросить адрес, нужно выполнить предыдущую команду на получение ip с указанием сетевого интерфейса eth0.
Все изменения, сделанные в консоли после перезагрузки, исчезнут. Чтобы их сохранить, приведем файл /etc/network/interfaces к следующему виду:
# mcedit /etc/network/interfaces
source /etc/network/interfaces.d/* auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp
Установка Debian 10 на raid
Рассмотрим вариант установки debian на софтовый рейд mdadm. Эта актуальная ситуация, когда вы разворачиваете систему на железе, а не виртуальной машине. К примеру, такая конфигурация будет полезна для установки proxmox. В этой статье я уже рассматривал установку debian на raid1. Но там более старая версия Debian. Так что рассмотрю еще раз эту тему уже на примере Debian 10.
Итак, начинаем установку системы по приведенной ранее инструкции. Доходим до этапа разбивки диска и выбираем режим Manual.
Выбираем любой из дисков и перемещаемся в раздел конфигурации дисков. Нам нужно, чтобы получилась следующая картина:
- Массив raid1, объединяющий оба диска.
- /boot раздел прямо на mdadm рейде.
- Поверх массива LVM том на всем остальном пространстве, кроме /boot.
- Корневой раздел по всему lvm.
В конечном итоге, в конфигураторе это выглядит так:
Последовательность действий для этой конфигурации следующая:
- На каждом диске создаете по 2 раздела — один под /boot 500 Мб и второй все остальное пространство.
- Объединяете эти разделы в 2 raid1 mdadm. Один массив под /boot, второй под остальную систему.
- На массиве под /boot сразу же делаете раздел /boot и файловую систему ext2.
- Создаете volume group на весь второй массив, потом в этой группе создаете logical volume под корневой раздел.
- В logical volume создаете корневой раздел / и файловую систему ext4.
В итоге у вас должно получиться то же, что и у меня на картинке. Дальше ставите debian 10 как обычно. После установки на raid нужно выполнить несколько важных действий.
- Зайти в систему и создать swap.
- Установить загрузчик на оба диска. Во время установки он был установлен только на один диск.
- Протестировать отказ одного из дисков.
Думаю, с созданием swap вопросов быть не должно. По ссылке все подробно описано. Установим загрузчик на оба жестких диска, чтобы в случае выхода любого из них, система смогла загрузиться. Для этого выполняем команду:
# dpkg-reconfigure grub-pc
Выскочат пару запросов на указание дополнительных параметров. Можно ничего не указывать, оставлять все значения по-умолчанию. А в конце выбрать оба жестких диска для установки загрузчика.
Смотрим теперь, что с дисками.
Картина такая, как и было задумано. Выключим сервер, отсоединим один диск и включим снова. При запуске, нормально отработал grub, дальше посыпались ошибки в консоль.
Тем не менее, сервер через некоторое время загрузился. Смотрим, в каком состоянии диски.
В целом, все в порядке, система полностью работает. Просто не хватает одного диска. Теперь снова выключим сервер и воткнем в него чистый диск такого же объема. То есть имитируем замену сломанного диска на новый. Запускаем сервер и проверяем список дисков в системе.
# fdisk -l | grep /dev Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors /dev/sda1 * 2048 999423 997376 487M fd Linux raid autodetect /dev/sda2 999424 20969471 19970048 9.5G fd Linux raid autodetect Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors Disk /dev/md1: 9.5 GiB, 10215227392 bytes, 19951616 sectors Disk /dev/md0: 475 MiB, 498073600 bytes, 972800 sectors Disk /dev/mapper/vg00-root: 9.5 GiB, 10213130240 bytes, 19947520 sectors
Старый диск sda c двумя разделами и новый диск sdb без разделов. Нам нужно на новый диск скопировать структуру диска sda. Делаем это следующей командой.
# sfdisk -d /dev/sda | sfdisk /dev/sdb
# fdisk -l | grep /dev Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors /dev/sda1 * 2048 999423 997376 487M fd Linux raid autodetect /dev/sda2 999424 20969471 19970048 9.5G fd Linux raid autodetect Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors /dev/sdb1 * 2048 999423 997376 487M fd Linux raid autodetect /dev/sdb2 999424 20969471 19970048 9.5G fd Linux raid autodetect Disk /dev/md1: 9.5 GiB, 10215227392 bytes, 19951616 sectors Disk /dev/md0: 475 MiB, 498073600 bytes, 972800 sectors Disk /dev/mapper/vg00-root: 9.5 GiB, 10213130240 bytes, 19947520 sectors
То, что надо. Теперь добавляем новый диск в деградированные массивы mdadm.
# mdadm --add /dev/md0 /dev/sdb1
Дожидаемся окончания ребилда массива под boot. Это будет быстро. И возвращаем диск в корневой раздел.
# mdadm --add /dev/md1 /dev/sdb2
Не забываем добавить загрузчик на новый диск.
# dpkg-reconfigure grub-pc
После окончания ребилда можно перезагрузить сервер, чтобы убедиться, что все порядке. Я рекомендую всегда делать подобные проверки при настройке серверов. Не важно, какой у вас рейд контроллер. Надо имитировать поломку диска и выполнить его замену. При необходимости, процесс восстановления можно записать, чтобы при поломке диска точно знать, как действовать.
На этом иснтрукция по установке Debian 10 на софтовый рейд массив закончена. По-моему, получился очень функциональный вариант. Дальше на этот сервер можно установить proxmox и получить устойчивый к отказу дисков гпервизор. Причем по надежности он будет не хуже, чем железный рейд, а возможно и лучше.
Настроим Яндекс-браузер и Opera
Яндекс-браузер и Opera не показывают видео, если используется Adobe Flash Player
Решение есть и оно простое.
Нужно установить пакет chromium-codecs-ffmpeg-extra
.
Качаем deb-пакет из launchpad.net.
Для Debian 10 я взял этот: chromium-codecs-ffmpeg-extra_80.0.3987.87-0ubuntu0.16.04.1_amd64.deb.
Установить можно используя gdebi
.
Если не установлен gdebi
, то ставим
sudo apt install gdebi
После установки пакета chromium-codecs-ffmpeg-extra
на всех сайтах работает просмотр видео.
2 и более IP на одном интерфейсе
Достаточно часто возникают ситуации, когда необходимо назначить несколько ip на одном интерфейсе. Сделать это очень просто. В самом начале я показал, как быстро через консоль в Debian можно назначить несколько ip c помощью программы. Теперь сделаем так, чтобы эти настройки сохранялись после перезагрузки. Для этого редактируем наш любимый и ненаглядный /etc/network/interfaces:
# mcedit /etc/network/interfaces
source /etc/network/interfaces.d/* auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth0:1 iface eth0:1 inet static address 192.168.1.35 netmask 255.255.255.0
С такими настройками я получу 2 ip адреса на сетевом интерфейсе:
- Первый от dhcp сервера.
- Второй адрес на этой же сетевой карте будет указан статически.
Важное замечание. Если после указанного выше добавления к динамическому адресу статического, вы перезапустите сеть, то останется только статический адрес. Если же просто перезагрузите сервер, то все будет правильно — динамика и статика. Почему так происходит — не знаю.
Вы таким образом можете добавить сколько вам необходимо адресов, используя различные параметры.
Онлайн курcы по Mikrotik
Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курcы по программе, основанной на информации из официального курcа MikroTik Certified Network Associate. Помимо официальной программы, в курcах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте Курcы по ИТ.
Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области. Особенности курcов:
- Знания, ориентированные на практику;
- Реальные ситуации и задачи;
- Лучшее из международных программ.
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.
Варианты установки
В Selectel сделали все, чтобы сделать работу с выделенными серверами максимально комфортной как для новичков, так и для опытных пользователей. Предусмотрено несколько вариантов установки операционной системы на сервер. Ниже рассмотрим каждый из них.
Автоматическая установка при заказе сервера
Есть возможность на этапе заказа сервера определиться с выбором операционной системы, это самый быстрый вариант, подходит большинству пользователей, экономит время. В примере выбран Debian 10.
Автоматическая установка после заказа сервера
Изменить или установить ОС можно в том числе после того, как сервер был заказан, в любое время. Для этого необходимо выбрать нужный сервер, перейти на вкладку Операционная система, нажать Изменить конфигурацию ОС.
Далее выбрать дистрибутив Debian, версия 10, остальные настройки по желанию можно изменить, затем нажать Установить.
На следующем шаге потребуется подтверждение установки операционной системы. В поле ввести название сервера и нажать Установить.
Во время установки ОС меню работы с сервером выглядит следующим образом:
Осталось дождаться окончания процесса установки, и сервер будет готов к работе.
Установка на собственный сервер
Подробно описать данную процедуру в рамках статьи не представляется возможным, поскольку настройки могут отличаться в зависимости от производителя сервера. При правильной настройке установка операционной системы должна начаться.
Ручная установка через KVM-консоль
KVM-консоль — инструмент удаленного администрирования, предоставляющий полный доступ к серверу даже без установленной операционной системы. Для перехода в консоль нужно нажать на значок, показанный на картинке ниже.
Через этот инструмент есть возможность установки операционных систем из iso-образов. Установка будет произведена из netinstall-образа:
- открыть Virtual media, выбрать Virtual storage;
- в появившемся окне, поле Logical Drive Type, выбрать значение ISO File;
- нажать Open Image, выбрать папку Debian, из предлагаемых нажать на debian-10.10.0-amd64-netinst.iso, нажать Open;
- нажать Plug in, потом OK;
- перезагрузить сервер.
После загрузки начнется установка из выбранного образа, если по каким-либо причинам процесс инсталляции не запустился, следует обратиться в службу технической поддержки. Описанию процесса установки посвящена следующая глава.
В загрузочном меню необходимо выбрать пункт Install и нажать Enter, процесс установки начнется примерно через 30 секунд и будет происходить в псевдо графическом режиме.
Выбор языка
На этом этапе предлагается выбрать язык, который будет использован в процессе установки операционной системы, он же будет являться языком по умолчанию в установленной ОС. С точки зрения лучшей совместимости с разнообразным ПО, лучше выбрать English, затем нажать Enter.
Выбор страны
Из появившегося списка нужно выбрать страну расположения сервера, в данном случае выбираем other, в следующем меню Europe, затем Russian Federation.
Выбор локали
Локаль — файл с настройками отображения символов, используемых в региональных рамках. Поскольку рассматриваем установку ОС на сервер, рекомендуется выбрать United States en_US.UTF-8.
Выбор раскладки клавиатуры
С учетом выбранных ранее языковых настроек, указываем American English.
Установка сети
Во время установки ОС на удаленный сервер и при наличии нескольких сетевых адаптеров, не всегда однозначно можно определить интерфейс, подключенный к сети. В данном случае необходимо действовать методом перебора.
Начать лучше с карты, подсвеченной установщиком в меню, нажать Enter. Будут происходить попытки получить настройки по протоколу DHCP от маршрутизатора в сети. При появлении сообщения Network autoconfiguration failed нужно нажать подсвеченную Continue. В следующем появившемся меню клавишей Tab перейти на кнопку Go back, нажать Enter и повторить процедуру с другим сетевым адаптером. Если установщик сообщил Network autoconfiguration has succeeded и перешел к следующему этапу — сетевой интерфейс выбран верно.
Имя сервера
Необходимо ввести имя узла для идентификации сервера, нажать Enter. Существует отличная статья о маркировке оборудования в блоге компании, пункт «Как правильно давать названия». На скриншоте указано spb-mail-01. Любой администратор поймет, что это первый почтовый сервер в Санкт-Петербурге. Имя будет храниться в конфигурационном файле /etc/hosts установленной операционной системы.
Имя домена
Если сервер будет работать в домене, нужно ввести его имя. Если домена нет — оставить поле пустым и нажать Enter.
Установка пароля пользователя root
Необходимо задать пароль администратора системы — пользователя root. Общие рекомендации по безопасности:
- пароль должен состоять из прописных и строчных букв, цифр и спецсимволов;
- пароль не может быть пустым;
- пароль не должен быть словарным;
- пароль не должен быть связан с вашей личностью, например, с датой рождения;
- пароль должен содержать не менее 8 символов, больше — лучше.
При вводе пароля вместо символов будут отображаться звездочки, это нормально. После ввода пароля надо нажать Enter. Далее установщик предложит ввести пароль заново, чтобы удостовериться, что введенные дважды пароли совпадают. Следует ввести пароль пользователя root и нажать Enter.
Создание пользователя
С точки зрения безопасности следует работать в системе под учетной записью пользователя, не имеющего привилегий администратора. Этот этап служит для создания профиля обычного пользователя. Если перевести дословно текст с экрана программы-установщика, требуется ввести имя и фамилию. Сюда можно написать что угодно, но важно понимать, что эти данные могут быть видны другим пользователям, например, при отправке электронных писем с этого аккаунта. После ввода данных подтвердить клавишей Enter.
Следует ввести пароль для создаваемого пользователя, закончить ввод нажатием клавиши Enter.
По аналогии с вводом пароля для пользователя root необходимо ввести его повторно и нажать Enter.
Настройка часов
На очереди этап настройки часового пояса, система предлагает выбрать из списка, созданного на основе выбора страны, сделанного на втором этапе. Нужно выбрать подходящий с помощью стрелок навигации вверх и вниз и подтвердить нажатием клавиши Enter.
Разметка жесткого диска
Выбрать разметить вручную — Manual и нажать Enter.
Появится список доступных дисков, в примере их два. В данный момент они не имеют каких-либо разделов. Диски абсолютно одинаковы. Рассмотрим создание зеркального массива RAID1. Это позволит увеличить степень надежности хранения данных. При выходе из строя одного из дисков система продолжит функционировать на оставшемся. Уделим внимание также размещению LVM поверх разделов RAID. LVM позволяет гибко работать с разделами жестких дисков, например, изменять размеры разделов, при этом, не останавливая сервер.
Выбрать первый диск из списка, нажать Enter.
Стрелками перейти на Yes, нажать Enter. Будет создана пустая таблица разделов.
Повторить процедуру создания таблицы разделов для второго диска, после чего картина в программе разметки должна быть следующая:
Выбрать строку, начинающуюся с pri/log для первого диска, нажать Enter. Далее Create a new partition.
Будем использовать его как загрузочный раздел /boot, размер вводится вручную, в примере это 1 GB. На нем хранятся настройки загрузчика, ядро операционной системы, системный файл для начальной загрузки initrd.
Следующий шаг — выбрать тип раздела Primary, подтвердить клавишей Enter.
Создается раздел в начале диска, выбрать Beginning.
Перемещение по меню осуществляется стрелками навигации вверх и вниз, нажимая Enter, можно менять значение опций и попадать в другие подменю. Выбрать Use As: physical volume for RAID, Bootable flag: on. По окончании настройки раздела выбрать пункт меню Done setting up partition.
Программа разметки диска вернется в свое основное меню. Для второго диска нужно создать аналогичный раздел.
Затем снова увидим главное меню программы разметки диска. Следующим шагом будет разметка оставшегося свободного пространства на первом носителе. Выбрать строку, начинающуюся с pri/log для первого диска, как показано на картинке ниже, нажать Enter.
Выбрать Create a new partition — создание нового раздела, нажать Enter.
По умолчанию предлагается использовать все оставшееся место — подтверждаем нажатием Enter.
Выбрать Primary и нажать Enter.
Выбрать Use as: physical volume for RAID из соответствующего меню, подтвердить, выбрав Done setting up the partition, затем нажать Enter.
Подтвердить запись изменений на диск, выбрать Yes и нажать Enter.
Выбрать Create MD device, нажать Enter.
Выбрать стрелками навигации тип RAID, в данном случае будет использоваться зеркало — RAID1, нажать Enter.
На этом шаге задается количество активных устройств массива, для RAID1 их нужно минимум два. Подтвердить нажатием Enter.
Далее указывается количество запасных устройств, которые при выходе из строя компонентов RAID-массива, встанут им на замену. В данном примере устройства замены не предусмотрены, в поле значение 0, подтвердить клавишей Enter.
Первое устройство RAID1 объединяет в себе два идентичных раздела на разных жестких дисках, это /dev/sda1 и /dev/sdb1. Необходимо выбрать их из меню клавишей Пробел(Space), перемещаясь стрелками навигации вверх и вниз. Пример выбора разделов показан на картинке ниже. Закончить создание первого MD-устройства нажатием Enter.
После чего утилита конфигурации RAID-массива вернется в свое главное меню. Снова выбрать Create MD device и нажать Enter. Повторить аналогичные действия для второго RAID-массива, собрав его из оставшихся доступных разделов /dev/sda2 и /dev/sdb2, как показано на картинке ниже.
По окончанию настройки второго RAID-массива, будет отображено главное меню утилиты работы с RAID, выбрать Finish, нажать Enter.
Из основного меню программы разметки выбрать пункт Configure the Logical Volume Manager, нажать Enter.
Выбрать ответ Yes и подтвердить использование текущей схемы разделов нажатием клавиши Enter.
Выбрать пункт Create volume group для создания пространства, которое будет разбито на отдельные логические тома (Logical Volume), нажать Enter.
Задать имя для группы томов, в данном случае это system, нажать Enter.
Выбрать физические разделы, которые будут входить в группу томов, для данного случая отметить только /dev/md1 устройство клавишей Пробел (Space) и нажать Enter.
Выбрать Yes и подтвердить использование текущей схемы разделов нажатием клавиши Enter.
Выбрать пункт Create logical volume для создания логического тома, который в дальнейшем будет содержать определенную файловую систему, например ext4, т.е. аналог обычного раздела жесткого диска в не-LVM окружении. Нажать кнопку Enter.
Выбрать группу томов, поверх которой создается логический том. В данном случае она единственная, созданная ранее с названием system. Нажать Enter для подтверждения.
Ввести название для создаваемого тома, в примере это root, затем нажать Enter.
Задать размер создаваемого тома и нажать Enter. Поддерживаемые форматы ввода: 10K, 10M, 10G, 10T, где 10 — это размер тома, а следующая за ним буква определяет единицу измерения информации (К — килобайты, М — мегабайты, G — гигабайты, T — терабайты). На скриншоте ниже показано создание раздела размером 10 гигабайт.
Повторить процедуру создания логических томов с именами home, swap и var. Единственным отличием будет размер создаваемых томов, их стоит задавать исходя из выполняемых задач и потребностей. В представленном примере распределение объемов между LVM-томами выглядит следующим образом:
- root — 10 GB,
- swap — 3 GB,
- var — 10 GB,
- home — 215,9 GB (все оставшееся место на разделе).
По окончании создания томов из меню выбрать пункт Finish и нажать Enter.
В следующем меню стрелками навигации выбрать пункт Use as: и нажать Enter. Из предложенного списка выбрать Ext4 journaling file system, подтвердить клавишей Enter.
После окончания настройки данного раздела выбрать пункт меню Done setting up the partition и нажать Enter.
Далее настраиваются по аналогии первые разделы #1 логических томов root и var. В качестве файловой системы для обоих разделов также указать Use as: Ext4 journaling file system, для root точку монтирования Mount point: /, в случае с var — Mount point: /var.
Отдельно рассмотрим настройку раздела подкачки. Для начала нужно выбрать соответствующий пункт в меню, как показано ниже, нажать Enter для перехода к настройке.
Стрелками навигации выбрать пункт Use as: и нажать Enter. Из предложенного списка выбрать swap area, затем нажать Enter.
Настройки раздела подкачки завершена. Выбрать пункт меню Done setting up the partition и нажать Enter.
Осталось настроить загрузочный раздел, его необходимо выбрать из меню, как показано ниже, далее нажать Enter.
После всех выполненных действий, главное меню программы разметки должно иметь вид:
Нажать Finish partitioning and write changes to disk для внесения изменений в разметку диска.
Появится окно с подтверждением внесения изменений в разметку дисков. Стрелками перейти на Yes, нажать Enter.
Далее начнется инсталляция базовой системы, нужно немного подождать.
Настройка репозитория
Этот шаг предусматривает необходимость ответить на несколько вопросов установщика, связанные с выбором источников пакетов. Система уточняет, существуют ли еще диски для поиска на них программного обеспечения. В рамках установки этого дистрибутива на сервер дополнительных дисков не предусмотрено, нужно ответить No и нажать Enter.
На следующем экране предлагается выбрать страну, в которой находится сервер, по умолчанию выбрана Russian Federation. Поскольку сервер, на который выполняется установка ОС, находится в дата-центре Selectel, где имеется свой репозиторий, лучше всего будет воспользоваться этим зеркалом для максимально быстрой загрузки пакетов. Для этого нужно стрелкой вверх пролистать в самое начало списка и остановиться на пункте enter information manually, нажать Enter.
Ввести вручную адрес mirror.selectel.ru и подтвердить свой выбор клавишей Enter.
Путь до директории менять не нужно, подтвердить кнопкой Enter.
Так как прокси-сервер не используется — поле оставить пустым и нажать Enter.
Начнется процесс получения и установки программных пакетов, для этого требуется определенное время. Далее инсталлятор предлагает принять участие в сборе данных об используемых пакетах в системе. Сведения будут отправляться анонимно каждую неделю в автоматическом режиме. Это поможет разработчикам вести статистику популярных программ и в будущем размещать их на первых дисках дистрибутивов. Следует выбрать Yes для отправки данных, или No для отказа, подтвердить выбор нажатием Enter.
Выбор программного обеспечения
Базовая система установлена, теперь следует выбрать дополнительное программное обеспечения для установки. Для сервера рекомендуется отметить два пункта: SSH server и standard system utilities. Снятие и установка пометок выполняется клавишей Пробел (Space). В завершении нажать Enter.
Получение и установка выбранного набора программ займет какое-то время, необходимо подождать.
Установка загрузчика
Поскольку установка выполняется на чистый сервер — отвечаем Yes на вопрос об установке загрузчика в MBR (Master Boot Record) и нажимаем Enter.
Из списка необходимо выбрать диск, на который будет записан загрузчик GRUB, обычно это первый из списка, выбрать /dev/sda и подтвердить нажатием Enter.
Завершение установки
Установка системы завершена, теперь необходимо извлечь образ установочного диска из виртуального привода. Из меню KVM-консоли выбрать пункт Virtual Media, затем Virtual Storage. В появившемся меню нажать кнопку Plug Out и OK.
Теперь в меню программы установки можно нажать Enter.
Сервер будет перезапущен, после чего загружена установленная операционная система. Появление на экране приглашения авторизации означает, что ОС Debian загрузилась и готова к работе:
Debian GNU/Linux 10 spb-mail-01 tty1
spb-mail-01 login:
Теперь необходимо авторизоваться пользователем root для минимальной первоначальной настройки ОС.
Установка и настройка screen
Я привык в своей работе пользоваться консольной утилитой screen. Изначально она задумывалась как инструмент, который позволяет запустить что-то удаленно в консоли, отключиться от сервера и при этом все, что выполняется в консоли продолжит свою работу. Вы сможете спокойно вернуться в ту же сессию и продолжить работу.
Первое время я именно так и использовал эту утилиту. Редко ее запускал, если не забывал, когда выполнялся какой-то длительный процесс, который жалко было прервать из-за случайного обрыва связи или необходимости отключить ноутбук от сети и куда-то переместиться.
Позже я решил подробнее ознакомиться с этим инструментом и обнаружил, что там есть несколько удобных моментов, которые можно использовать в ежедневной работе. Вот как использую утилиту screen я. При подключении к серверу у меня запускается screen с тремя окнами 1, 2, 3. Первое окно автоматически переходит в каталог /, второе в /etc, третье в /var/log. Я осмысленно назвал эти окна: Main, etc, logs соответственно. Внизу находится строка состояния, в которой отображен список всех открытых окон и подсвечено активное окно.
С помощью горячих клавиш я очень быстро переключаюсь между окнами в случае необходимости. Вот как выглядит мое рабочее окно ssh подключения:
Переключаюсь между окнами с помощью стандартных горячих клавиш screen: ctrl+a 1, ctrl+a 2, ctrl+a 3. Я специально изменил нумерацию, чтобы она начиналась не с 0 по-дефолту, а с 1. Так удобнее на клавиатуре переключать окна. Кнопка 0 находится слишком далеко от 1 и 2.
Чтобы настроить такую же работу screen, как у меня, достаточно выполнить несколько простых действий. Сначала устанавливаем screen:
# apt install screen
Создаем в каталоге /root конфигурационный файл .screenrc следующего содержания:
# mcedit /root/.screenrc
#Выводим строку состояния hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<" # Добавляем некоторые настройки startup_message off defscrollback 1000 defutf8 on shell -$SHELL # Создаем несколько окон chdir screen -t Main 1 chdir /etc screen -t etc 2 chdir /var/log screen -t logs 3 # Активное первое окно после запуска select 1
Для знакомства с настройками, горячими клавишами и вариантами применения утилиты screen можно по адресу http://itman.in/ssh-screen/ Мне помог этот материал. Написано кратко, по делу и доходчиво.
Настройка статического IP
Вы установили сервер и во время установки указали какие-то сетевые параметры, или не указали, не важно. Но сейчас вы решили, что вам нужно назначить статический ip (static ip) адрес. Воспользуемся для этого утилитой ip. Сначала посмотрим список всех сетевых интерфейсов:
# ip a

# ip addr add 192.168.1.35/24 dev eth0
Этот адрес будет добавлен к уже существующему адресу. Проверим это:
# ip a

Теперь сервер будет доступен по обоим адресам. Текущая настройка сохранится только до перезагрузки сервера. Чтобы она применялась во время загрузки, нужно либо каким-то образом добавить команду на изменение настроек в автозагрузку, например в /etc/rc.local, но это будет костыль. Правильнее отредактировать файл, который отвечает за сетевые настройки в debian — /etc/network/interfaces. Для того, чтобы назначить постоянный статический ip адрес, его нужно привести к следующему виду:
# mcedit /etc/network/interfaces
source /etc/network/interfaces.d/* auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.35 gateway 192.168.1.1 netmask 255.255.255.0
Для проверки перезагружаем сервер и смотрим, все ли в порядке с настройкой статического ip адреса. Если вам нужно сменить ip адрес в debian, то вы можете временно изменить его с помощью команды ip, либо постоянно, отредактировав параметр address в файле сетевых настроек interfaces.
Запись образа на флешку
Обычные CD диски сейчас уже становятся редкостью. Для меня не понятно, почему размеры iso образов до сих пор частенько подгоняют под размер CD или DVD диска. Я уже много лет использую загрузочные флешки для установки систем на железо. С ними быстрее, удобнее, проще обновлять образ.
Есть много способов записать образ debian на флешку для последующей установки. У меня в комплекте есть несколько популярных программ для создания загрузочных usb:
- Rufus.
- Unetbootin.
- Win32DiskImager.
- Etcher.
Это все бесплатные программы под Windows. Чаще всего пользуюсь первыми двумя. Иногда бывают ситуации, когда инсталлятор не может установить систему, записанную на флешку той или иной программой. Не знаю, по какой причине это бывает. Тогда приходится пробовать разные версии.
В данном случае нам подойдет программа Rufus. Вы без проблем найдете ее на просторах интернета, не буду приводить ссылки. Сам всегда держу ее под рукой. Никаких особенных настроек не надо. Просто запускаете программу, выбираете флешку, образ и вперед.
Если у вас система Linux, то для создания загрузочной флешки с Debian 10 используйте программу Etcher.
Static routes (статические маршруты)
Следующим важным элементом настройки сети является управление статическими маршрутами (static routes): добавление (route add) и удаление (route del). Вновь воспользуемся консольной командой ip. Для того, чтобы добавить маршрут в debian, достаточно ввести в консоли:
# ip route add 10.0.0.0/24 via 192.168.1.50
Проверяем таблицу маршрутов:
# route

Чтобы удалить маршрут, выполняем команду:
# ip route delete 10.0.0.0/24
После перезагрузки все маршруты, добавленные таким способом, исчезнут. Чтобы статический маршрут в Debian сохранялся после перезагрузки, опять редактируем interfaces, добавляя в описание того интерфейса, к которому будут относиться маршруты, следующие строки:
post-up route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.50 post-up route add -net 10.1.0.0 netmask 255.255.255.0 gw 192.168.1.60 pre-down route del -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.50 pre-down route del -net 10.1.0.0 netmask 255.255.255.0 gw 192.168.1.60
Мы добавили 2 статических маршрута. Перезагружаемся и проверяем.

Мой конфиг целиком стал выглядеть вот так:
source /etc/network/interfaces.d/* auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp post-up route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.50 post-up route add -net 10.1.0.0 netmask 255.255.255.0 gw 192.168.1.60 pre-down route del -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.50 pre-down route del -net 10.1.0.0 netmask 255.255.255.0 gw 192.168.1.60 auto eth0:1 iface eth0:1 inet static address 192.168.1.35 netmask 255.255.255.0 gateway 192.168.1.35
С постоянными статическими маршрутами в debian разобрались, ничего сложного. Идем дальше.
Системные требования
Начнем с системных требований. Debian, как и любой linux дистрибутив в минимальной установке, требует очень мало системных ресурсов. Согласно официальной документации, минимальные системные требования для установки Debian 10 следующие.
На практике, я обычно начинаю с виртуалок c 1 CPU, 512 Мб и 20 Гб диска для небольших задач (web сайт, шлюз, и т.д.) Дальше уже смотрите по загрузке и потребностям. Такие же минимальные значения системных ресурсов обычно стоят в начальных VDS или VPS хостеров.
Установка шрифтов
sudo apt install fonts-freefont-otf fonts-freefont-ttf ttf-mscorefonts-installer
Указываем сетевые параметры
Итак, у нас в наличии только что установленная система. Узнать или проверить ее версию можно командами:
# uname -a Linux debian10 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19) x86_64 GNU/Linux # lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster
Очень подробно про настройку сети в Debian я написал в отдельной статье. Рекомендую с ней ознакомиться. Здесь же кратко выполним основное. Для настройки сети, необходимо отредактировать файл /etc/network/interfaces. Сделаем это:
# nano /etc/network/interfaces
Для получения IP адреса по dhcp достаточно будет следующего содержания:
allow-hotplug eth0 iface eth0 inet dhcp
Если у вас статический адрес, то его настроить можно следующими параметрами в файле:
allow-hotplug eth0 iface eth0 inet static address 192.168.1.24 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 192.168.1.1
Сохраняем файл. Теперь нужно выполнить перезапуск сети. В Debian это делается командой:
# systemctl restart networking.service
В системном логе /var/log/syslog при этом будут записи:
debian10 systemd[1]: Stopping Raise network interfaces... debian10 systemd[1]: networking.service: Succeeded. debian10 systemd[1]: Stopped Raise network interfaces. debian10 systemd[1]: Starting Raise network interfaces... debian10 systemd[1]: Started Raise network interfaces.
Будьте аккуратны при настройке и перезапуске сети, если подключаетесь к серверу удаленно. Обязательно должен быть доступ к консоли на случай, если где-то ошибетесь и потеряете доступ к серверу.
К сетевым настройкам я отношу установку пакета net-tools, в состав которого входят старые и привычные утилиты для работы с сетью — ifconfig, netstat, route и другие. В современных дистрибутивах их заменили одной командой ip, но лично мне вывод некоторых старых команд, конкретно, netstat, нравится больше, поэтому я иногда ими тоже пользуюсь.
# apt install net-tools
На этом настройка сети закончена.
Системные требования
Большинство дистрибутивов на основе ядра Linux имеют скромные требования к ресурсам компьютера, Debian — не исключение.
Минимальные системные требования:
ОЗУ: 256 Мб
Жесткий диск: 2 Гб
Рекомендуемые системные требования:
ОЗУ: 512 Мб
Жесткий диск: 2 Гб
Выбор конфигурации обусловлен кругом выполняемых задач, каждый случай индивидуален. Стоит отметить, что выделенные серверы в Selectel с огромным запасом производительности перекрывают требования ОС.
Часто задаваемые вопросы по теме статьи (FAQ)
Есть ли принципиальное отличие в том, как задать hostname сервера?
В целом, нет. Вы можете как отредактировать файл hostname, так и воспользоваться утилитой hostnamectl. Единственное, напомню, что нужно не забыть проверить файл hosts и изменить имя сервера в том числе и там.
Зачем отключать ipv6 в на сервере Debian?
Отключать ipv6 или нет, решать вам. Я придерживаюсь следующего принципа в настройке серверов — отключать или удалять все то, что не используется. Это уменьшает вероятность получить баг или уязвимость в компоненте.
Почему команда ifconfig во многих дистрибутивах объявлена deprecated и отсутствует в системе?
В этом статусе она находится последние лет 10 и тем не менее продолжает использоваться. Насколько я понимаю, заменившая ifconfig команда ip является более функциональная и заменяет сразу несколько старых сетевых утилит, таких как ifconfig, netstat, route и т.д. Отказ от ifconfig в пользу ip — попытка внедрить универсальную и самодостаточную утилиту для работы с сетью.
Как настроить proxy в Debian?
На этот вопрос нет однозначного ответа, так как proxy настраивается на уровне отдельных приложений, а не системы. Какому приложению нужен доступ в интернет через прокси, тому и настраивается. А как это делать, зависит от самого приложения и его возможностей. Есть те, кто работу через прокси не поддерживают вообще.
Напоминаю, что данная статья является частью единого цикла статьей про сервер Debian.
Если у вас есть желание научиться администрировать системы на базе Linux, но вы с ними никогда не работали и не знакомы, то рекомендую начать с онлайн-курса «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Цена за курс минимальная (символическая). Информация о курсе и цене.
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.
Как указать DNS сервер
Остался последний из основных сетевых параметров — dns сервер. С ним в debian и ubuntu есть определенная путаница. Традиционно в linux для установки dns серверов используется файл /etc/resolv.conf. Но в какой-то момент в этих дистрибутивах появилась программа resolvconf, которая стала управлять настройками dns в системе. В итоге, файл resolv.conf постоянно перезаписывается этой программой. Нужна она в первую очередь для систем, где dns сервера постоянно меняются. Она следит за их изменением и корректно передает информацию об изменении программам, для которых это важно. Я лично не знаю таких программ и мне не приходилось сталкиваться с ситуацией, когда это было необходимо.
Если я не ошибаюсь, то в минимальной конфигурации debian программа resolvconf не устанавливается, а вот в ubuntu она стоит. Проверить наличие программы очень просто:
# dpkg -l | grep resolvconf
Если в выводе пусто, значит ее нет. Тогда все очень просто. Для того, чтобы указать dns сервер, достаточно его записать в файл /etc/resolv.conf в следующем виде:
# mcedit /etc/resolv.conf
nameserver 192.168.1.1 nameserver 77.88.8.1 nameserver 8.8.8.8 nameserver 1.1.1.1
Я на всякий случай указал локальный сервер и 3 внешних. Если у вас стоит resolvconf, то в случае ненадобности, удалите его командой:
# apt-get remove resolvconf
После этого сервер надо перезагрузить и удалить сломавшуюся символьную ссылку /etc/resolv.conf, а вместо нее создать файл с нужным содержанием, которое я привел выше.
Если же вам по какой-то причине необходима указанная выше программа, она у вас стоит и вы не хотите ее удалять, то адрес dns сервера необходимо указать в файле /etc/network/interfaces, добавив к параметрам интерфейса еще один:
dns-nameservers 192.168.1.1 77.88.8.1 8.8.8.8 1.1.1.1
Этот параметр нужно установить сразу после указания шлюза gateway. Несколько адресов разделяются пробелом.
Как быстро узнать ip адрес сервера в Debian
Часто возникает вопрос, как в debian быстро узнать или проверить ip адреса, назначенные серверу. Выше я уже приводил пример простой команды, которая показывает все сетевые параметры интерфейса. Сейчас рассмотрим несколько вариантов, которые наглядно покажут только ip адреса, без лишней информации. Для начала воспользуемся уже известной командой ip, немного подрезав ее вывод:
# ip a | grep inet | awk '{print $2}'

Вы узнаете все ip адреса сервера, в том числе и ipv6. То же самое, только без ipv6 можно увидеть другой командой:
# ifconfig | grep 'inet addr:'

Если получите ошибку:
-bash: ifconfig: command not found
Значит у вас не установлен пакет net-tools. Установить его можно следующей командой:
# apt install net-tools
Если совсем заморочиться и обрезать все лишнее в выводе команды ifconfig, то можно вывести только список ip адресов:
# ifconfig | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'

Аналогичный вывод будет и в таком случае:
# ifconfig | awk '/inet addr:/ {print substr($2, 6)}'
Можно убрать локальный интерфейс, чтобы глаза не мозолил, тогда вообще все наглядно:
# ifconfig | awk '/inet addr:/ {print substr($2, 6)}' | grep -v 127.0.0.1

Думаю, этих вариантов достаточно, чтобы проверить все ip адреса, отрезав лишнее.
Настройка логов cron
По-умолчанию, в Debian нет отдельного лог файла для событий cron, они все сыпятся в общий лог /var/log/syslog. Лично мне это не очень нравится, я предпочитаю выводить эти события в отдельный файл. Об этом я написал отдельно — вывести логи cron в отдельный файл. Рекомендую пройти по ссылке и настроить, если вам это необходимо. Там очень кратко и только по делу, не буду сюда копировать эту информацию.