Разное

Чем ubuntu отличается от ubuntu server: В чём отличие десктопной Ubuntu от Server Ubuntu? — Хабр Q&A

Содержание

Ubuntu Server — подробный обзор и установка сервера

При выборе веб-хостинга обычно учитывают, какому варианту ОС на базе Linux отдать предпочтение. Решение не простое, и выбор повлияет на ваш сайт на долгие годы.

Один из вариантов, который у вас есть, это Ubuntu Server. Он предлагает ряд преимуществ с точки зрения настройки, безопасности и требований к оборудованию.

В этой статье мы подробно рассмотрим Ubuntu Server. Затем перечислим некоторые преимущества при его использовании.

О Ubuntu Server

ОС Ubuntu существует уже много лет и зарекомендовала себя как надежная настольная платформа.

В этой статье мы сосредоточимся на Ubuntu Server.

Серверная ОС во многом отличается от десктопной.

Во-первых, настольная ОС работает на одном компьютере и помогает вам управлять повседневными задачами, такими как серфинг в Интернете или игра в видеоигры.

Однако серверная ОС обычно не имеет графического интерфейса пользователя (GUI) и оптимизирована для управления несколькими компьютерами, серверами и файлами. Он заботится о таких задачах, как обслуживание веб-сайтов для конечных пользователей.

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

Официальный сайт Ubuntu.

Преимущества использования Ubuntu Server

В зависимости от вашего хостинг-провайдера и платформы, которую вы используете для сайта, возможны ограничения в выборе серверной ОС. Однако, когда дело доходит до выбора, есть три причины, по которым у Ubuntu Server перевес.

Регулярные обновления безопасности

Каждые шесть месяцев Ubuntu Server предоставляет обновления обслуживания, как и его настольный аналог. Он также предлагает стандартное окно обеспечения безопасности (SSM) на пять лет.

Однако окончание срока не означает завершение поддержки безопасности. Более длительное расширенное обслуживание безопасности (ESM) доступно для устаревших приложений в рамках планов Ubuntu Advantage. В зависимости от вашей версии сервера, возможно еще пять лет покрытия.

Масштабирование Ubuntu Server

С сервером вы можете установить минимальную или стандартную установку. Более того, вы можете развернуть его на различных машинах, и он предлагает широкие возможности горизонтального масштабирования. Это означает, что вы адаптируете его к вашим потребностям по мере развития.

Это называется гипермасштабными вычислениями и включает в себя архитектуру машины, растущую по мере увеличения спроса. Масштабируемость — это чрезвычайно важная функция для поиска на серверах, поскольку имеет решающее значение для обеспечения высококачественной производительности и емкости.

Использование ресурсов

Ubuntu в целом завоевал репутацию благодаря эффективному использованию ресурсов. К счастью, это качество распространяется и на Убунту сервер. Действительно, поскольку он отказывается от GUI, его аппаратные требования относительно скромны.

Как уже упоминалось, масштабируемость сервера также зависит от системных требований. При минимальной установке требуется всего лишь 300 мегагерц (МГц) процессора, 384 мегабайта (МБ) оперативной памяти и 1,5 гигабайта (ГБ) места на жестком диске.

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

Установка

  1. Выбираем язык системы
  2. Опционально обновляем программу установки
  3. Выбираем раскладку клавиатуры
  4. Настраиваем сетевые соединения
  5. Настраиваем прокси сервер при его наличии
  6. Вам автоматически выведется зеркало с самым подходящим архивом для быстрой установки
  7. Конфигурация диска. Я выбрал автоматическое
  8. Вводим профильные данные
  9. Опционально устанавливаем OpenSSH пакет
  10. Устанавливаем дополнительные пакеты, или же просто оставляем всё как есть
  11. Далее идёт установка

Вывод

Ubuntu Server на базе Linux, как платформа с открытым исходным кодом, заслуживает серьезного внимания, учитывая его надежность, безопасность и экономическую эффективность.

ТОП вопросов о Linux «В чем разница»

Новых пользователей, да и опытных иногда тоже часто интересует, чем же отличается тот или иной компонент системы Linux от другого со схожей функциональностью. Таких компонентов и команд в ОС Linux очень много. Взять даже команды gksu и pexec или способы запуска скриптов. Одни из них выполняют действительно одинаковые действия, другие же чем-то отличаются. Больше всего таких вопросов возникает у новичков, так как они еще недостаточно знают систему и боятся экспериментировать.

Мы собрали лучшие вопросы из серии «в чем разница», размещенные на сервисе askubuntu. Вопросы отсортированы по количеству голосов.

Ответ на каждый из из можно сформулировать в пару строчек, поэтому выделять отдельную статью под каждый вопрос мы не будем. Вместо этого соберем их все в одном ТОПе. Теперь непосредственно рассмотрим вопросы о Linux.

Содержание статьи:

  • 1. В чем разница между символической и жесткой ссылкой
  • 2. В чем разница между adduser и useradd
  • 3. В чем разница между /etc/init и /etc/init.d
  • 4. В чем разница между /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
  • 5. В чем разница между sudo su, sudo -i, sudo /bin/bash
  • 6. В чем разница между терминами консоль, терминал, командная строка
  • 7. В чем разница между dpkg и apt-get
  • 8. В чем разница между service и /etc/init.d
  • 9. В чем разница между #!/bin/bash и #!/bin/sh
  • 10. В чем разница между пакетами i386 и amd64
  • 11. В чем разница между killall и pkill
  • 12. В чем разница между PGP и GPG
  • 13. В чем разница между режимом сна и гибернации
  • 14 В чем разница между Ctrl+C, Ctrl+Z, Ctrl+D
  • 15. В чем разница между gksu и pkexec
  • Выводы

1. В чем разница между символической и жесткой ссылкой

Как вы знаете команда ln позволяет создавать ссылки в Linux. Она может создавать два типа ссылок — обычные (жесткие) и символические если передать опцию -s. Обе они указывают на файл. Разница лишь в виде этого указателя.

Символическая ссылка указывает на файл по имени. В файле ссылки устанавливается специальный бит, с помощью которого система определяет, что этот файл нужно открывать, прочитав имя и запросив нужный файл. Вы можете менять содержимое файла, но не его имя. Если изменить имя, ссылка станет нерабочей, ведь она будет указывать на имя файла которого уже не существует. Такой вид ссылок можно сравнить с ярлыками Windows, но это сравнение условное.

Жесткая ссылка основана на файловой системе. Она указывает на место, на диске, где расположены данные файла (номер иноды). Вы можете полностью изменять файл, включая его имя. Посути во время создания файла создается одна ссылка не него, если вы создаете жесткую ссылку с помощью ln, то их становится уже две. И даже если вы удалите первую, вторая все равно будет указывать на тот же файл, потому что эти ссылки равноправны и место на диске может быть очищено, только если ссылок не осталось вовсе.

2. В чем разница между adduser и useradd

Обе команды создают нового пользователя в системе. Но они очень сильно отличаются.

Adduser — утилита для добавления пользователей и групп с систему. Программа учитывает политики дистрибутива по желаемому UID и GID, создает домашний каталог, копирует туда файлы по умолчанию и запускает специальные сценарии.

Useradd- это низкоуровневая утилита для добавления пользователей. Создается только пользователь без каких-либо дополнительных настроек, вам придется все делать вручную в том числе создавать домашний каталог.

Рекомендуется использовать adduser.

3. В чем разница между /etc/init и /etc/init.d

Папка /etc/init.d содержит скрипты, используемые системой инициализации SysVinit. Это стандартная система инициализации для многих дистрибутивов Linux. Обычно, это сценарии оболочки, используемые для запуска, остановки и перезапуска сервисов.

Папка /etc/init содержит файлы конфигурации системы инициализации Upstart используемой в ubuntu. Поскольку Ubuntu постепенно переходит на Upstart, в системе есть и те и другие скрипты, многие /etc/init.d скрипты выполняются как слой совместимости с Upstart

4. В чем разница между /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin

/bin — каталог для бинарных файлов, которые используются системой еще до того, как cмонтирован раздел /usr на самом раннем этапе загрузки. Также здесь содержаться те команды, которые вы используете при запуске в одно-пользовательском режиме и режиме восстановления.

/sbin — то же самое, только для бинарных файлов, для выполнения которых требуются права суперпользователя.

/usr/bin — для общесистемных бинарных файлов

/usr/bin — то же самое, только для запуска которых нужны права суперпользователя.

/usr/local/bin и /usr/local/sbin — аналогично двум предыдущим, только для ваших собственных сценариев и программ, которые не устанавливаются с помощью менеджера пакетов.

5. В чем разница между sudo su, sudo -i, sudo /bin/bash

Команда su позволяет изменить текущего пользователя терминала на другого. Команда sudo выполняет команду от имени root пользователя. Теперь разберем сам вопрос.

sudo su — выполняет команду su от имени суперпользователя. Таким образом, сначала используется sudo чтобы получить права суперпользователя, а затем пользователь меняется на root с помощью su. При этом вы останетесь в той же директории потому, что выполняется ваш .bashrc. А также .profile пользователя root поэтому вы окажетесь в окружении root.

sudo -i — похожая команда, опция -i указывает утилите что нужно переключиться в консоль от имени суперпользователя. На этот раз вы уже окажетесь в домашней папке root, и будет выполнен его .bashrc и .profile.

sudo /bin/bash — запускает еще одну оболочку bash от имени суперпользователя. Файлы конфигурации не читаются, но выполняется только .bashrc вашего пользователя. Вы не окажетесь в окружении root, а просто останетесь в своем окружении с правами суперпользователя.

6. В чем разница между терминами консоль, терминал, командная строка

Понятия консоль и терминал тесно связаны между собой. Первоначально под ними подразумевалось оборудование с помощью которого, можно взаимодействовать с компьютером. Это было устройство, очень похожее на телетайп или печатную машинку.

В терминологии UNIX, терминал — это любой файл устройства, который реализует ряд специальных команд для чтения и записи. Под эмуляторами терминалов подразумеваются программы, обеспечивающие доступ к этим Unix терминалам через некоторую прослойку ядра. Это могут быть такие программы как Xterm, Terminator, программы, обеспечивающие изоляцию между приложениями — screen, tmux, программы удаленного доступа — ssh и т д.

Консоль — это, как правило, терминал в физическом смысле. Главный терминал, реализуемый ядром, находящийся непосредственно на машине. В Linux консолью называют несколько терминалов TTY, между которыми можно переключаться с помощью сочетаний клавиш Ctrl+Alt+F(n)

Командная строка — это интерфейс, где пользователь вводит свою команду и нажимает Enter чтобы ее выполнить.

7. В чем разница между dpkg и apt-get

dpkg — это утилита для установки deb пакетов. То есть при выполнении команды dpkg -i file.deb, этот пакет будет установлен, если ему нужны какие-либо зависимости, утилита уведомит вас об этом. Но сами зависимости установлены не будут и пакет не будет установлен если зависимости не разрешены.

apt-get — это система управления пакетами, для дистрибутивов на базе Debian. Вы можете очень просто устанавливать, обновлять и удалять пакеты.

Здесь есть еще один инструмент — gdebi, это как бы среднее звено между dpkg и apt-get. Во время установки deb пакета утилита может разрешать и сама устанавливать зависимости.

8. В чем разница между service и /etc/init.d

Как мы уже говорили, /etc/init.d — содержит скрипты инициализации SysVinit. Это старый способ запускать сервисы. Эти сервисы запускаются в определенной последовательности и не могут быть настроены более сложные зависимости.

Upstart была разработана с целью заменить все /etc/init.d скрипты на более совершенные конфигурационные файлы /etc/init.

service позволяет плавно перейти от скриптов /etc/init.d к конфигурационным файлам upstart. Эта утилита позволяет работать с обоими типами сервисов.

9. В чем разница между #!/bin/bash и #!/bin/sh

bash и sh это две разные оболочки. Bash — более новая и функциональная, с расширенными возможностями синтаксиса. Большинство команд работают одинаково, но они разные.

В современных системах чаще всего /bin/sh, это всего лишь ссылка на /bin/bash.

10. В чем разница между пакетами i386 и amd64

Эти пакеты собраны для разных архитектур. i386 — для 32 битной версии, а amd64 (x86_64) — для 64 разрядной версии процессора Intel или AMD

Intel 80386, еще известный как i386, это 32 битный процессор, выпущенный компанией Intel в 1985 году. Эта архитектура еще называется x86, IA-32 или просто i386.

x86-64 — расширение набора инструкций для x86. Здесь поддерживаются гораздо большее адресное пространство, чем в x86, что позволяет программистам намного легче работать с большим количеством данных.

Даже если у вас процессор Intel, вы будете использовать amd64 пакеты для установки 64 битной системы, здесь используются те же наборы инструкций, это стандарт.

11. В чем разница между killall и pkill

Обе эти утилиты делают почти то же самое — уничтожают процессы, но по-разному.

pkill находит процесс по разным параметрам, например, pid, ppid, cmd, uid, и посылает ему сигнал завершения.

killall находит процесс по имени и завершает все совпавшие процессы, есть режим регулярных выражений и интерактивный режим, которых нет в pkill.

12. В чем разница между PGP и GPG

PGP — формат ключей и зашифрованных сообщений, оформленный и стандартизированный как OpenPGP. А также программное обеспечение Pretty Good Privacy, для шифрования, написанное Филом Зумерманом и сейчас принадлежащее компании Symantec.

GPG- независимая программная реализация стандарта OpenPGP, вы можете использовать ее для обмена сообщениями с людьми, даже теми, кто использует ПО от Symantec.

13. В чем разница между режимом сна и гибернации

В режиме сна ваш компьютер не отключается полностью. Система оставляет все периферийные устройства в режиме энергосбережения. Если батарея разрядится или компьютер отключится по каким-либо другим причинам текущая сессия и настройки будут потеряны.

Гибернация сохраняет состояние вашего компьютера на жесткий диск и полностью выключает. При включении сохраненное состояние восстанавливается.

14 В чем разница между Ctrl+C, Ctrl+Z, Ctrl+D

Сочетание клавиш Ctrl+C (intr) отправляет сигнал SIGINT приложению. Обычно после этого приложение завершает свою деятельность и закрывается.

Ctrl+Z или susp, отправляет сигнал SIGSTP, приложение приостанавливает свою деятельность и сворачивается в фоновый режим. Потом его можно восстановить с помощью команды fg. Посмотреть свернутые процессы можно командой jobs.

Ctrl+D — полностью завершает сеанс терминала.

15. В чем разница между gksu и pkexec

Обе программы позволяют выполнять графические приложения от имени суперпользователя.

Pkexec работает на основе PolicyKit. PolicyKit более настраиваемая, показывает полный путь к программе, и позволяет использовать политики для настройки поведения программы, например, настройки запроса пароля и т д.

Выводы

В этой статье мы рассмотрели 15 самых популярных вопросов В чем разница Linux. Многие из них касались только Ubuntu, но тем не менее они актуальны и для других дистрибутивов Linux.

Оцените статью:

Загрузка…

Что лучше выбрать: Debian или Ubuntu

В продолжение серии статей, сравнивающих различные дистрибутивы Linux, подробнее остановимся на Debian и Ubuntu. Они являются самыми популярными и влиятельными сборками, использующимися на различных типах устройств. На данный момент известно 132 основанных на Debian и 67 на Ubuntu сборок операционной системы Linux.

Какой из дистрибутивов выбрать: Debian или Ubuntu?

Несмотря на схожесть архитектуры, они имеют ряд существенных отличий. В чём они заключаются? Каковы особенности каждой из этих операционных систем? Какой дистрибутив — Debian или Ubuntu — выбрать для использования на домашнем компьютере? Подробнее на эти вопросы мы ответим в сегодняшнем материале.

На кого ориентированы сборки

Практически любой пользователь, отвечая на этот вопрос, не задумываясь ответит, что Debian рассчитан на опытных юзеров Linux, тогда как Ubuntu — на новичков. В определённой степени они будут правы, но на самом деле всё не настолько очевидно. В последнее время граница была существенно размыта, что не позволяет конкретно выделить аудиторию, на которую рассчитана каждая сборка.

Тем не менее принято считать, что именно Ubuntu является едва ли не лучшим выбором для начинающих линуксоидов благодаря максимальной ориентации на упрощённость, начиная от процесса установки и заканчивая ежедневным использованием. Debian же больше ориентирован на юзеров, которые имеют некоторое представление об особенностях Linux и понимают, чего они хотят от системы.

Установка операционной системы

Поскольку самое первое знакомство с Ubuntu и Debian начинается именно с установки, рассмотрим, в чём оба дистрибутива отличаются друг от друга в этом компоненте.

  • Способ загрузки. Оба дистрибутива могут быть скачаны как напрямую с серверов разработчика, так и с использованием технологии BitTorrent. Учитывая, что серверы могут быть перегружены, второй вариант является наиболее подходящим, для того чтобы быстро скачать полный образ. 
  • Размер установочного образа. Ubuntu предлагает один вариант загрузочного образа размером примерно 1,5 гигабайта. Debian предоставляет гораздо более широкий выбор, зависима от размера вашего носителя: можно выбрать файлы объёмом до 650 мегабайт либо до 4,4 гигабайта. Дело в том, что образ по умолчанию рассчитан для записи на диск, поэтому он разбит на части такого размера, чтобы для каждой из них можно было использовать один носитель. Если вы выбираете образ для CD-диска, можно скачать 8 файлов, если же DVD — то всего лишь 3. По заверениям разработчиков, для установки самого необходимого набора программного обеспечения достаточно использовать первый образ в списке. Во всех остальных содержится дополнительное программное обеспечение, которое и так можно скачать через интернет. Кроме того, предлагается скачать утилиту для онлайн-установки, когда установочный образ занимает минимум места, а все файлы загружаются с удалённого сервера. 
  • Количество поддерживаемых архитектур. В этом компоненте Debian существенно преобладает над Ubuntu: 12 платформ против 5. Оригинальный Debian можно поставить практически на любое устройство с процессором, разве что кроме микроволновки или холодильника. Ubuntu же предназначен на использование с самыми популярными девайсами.
  • Функционал утилиты установки. В Ubuntu всё максимально упрощено для неопытных юзеров, тем не менее можно выбрать режим опытного пользователя и каждый компонент выбирать вручную. Debian же многими специалистами признан как дистрибутив с наиболее настраиваемым установщиком. По большому счёту, это тот же расширенный режим, но с возможностью выбора автоматических настроек. Он будет полезным как новичкам, так и более опытным юзерам.

В этом показатели преимущества стоит отдать всё-таки Дебиан, так как он рассчитан на более широкий круг пользователей. Убунту же направлен в первую очередь на неопытных и новичков, а его установщик более красочно оформлен, что также привлекает менее продвинутых линуксоидов.

Первое впечатление

Какое первое впечатление от Debian или Ubuntu сразу же после установки? Давайте посмотрим, в чём преимущество Debian, а в чём — Ubuntu.

Минусы Ubuntu в сравнении с Debian

  • Проблемы со стабильностью работы. Поскольку компания Canonical, отвечающая за выпуск Ubuntu, разрывается на несколько фронтов, разрабатывая операционную систему для настольных компьютеров, мобильных устройств, серверов и облачных сервисов, очень часто, особенно после обновления, даже встроенные компоненты работают нестабильно и вызывают довольно большое количество вылетов программного обеспечения. Естественно, это не может радовать.
  • Unity. Несмотря на то, что программная оболочка Unity является довольно продвинутой, именно она является не самым удачным компонентом операционной системы. Разработчики постоянно пытаются внести что-то новенькое, но из-за недостаточного тестирования что-то обязательно да и сработает криво. 
  • Приватность. Поскольку кушать хочется всем, компания Canonical в своё время даже пошла на то, что в систему Ubuntu были интегрированы различные рекламные модули. Как это принято, они довольно часто передают вашу личную информацию третьим лицам. К счастью, в самых последних версиях сторонние компоненты подозрительного характера могут быть отключены.

Преимущества Ubuntu в сравнении с Debian

Если закрыть глаза на перечисленные выше недостатки (да и какие операционные системы, рассчитанные на массового потребителя, на 100% лишены подобных проблем?), то Ubuntu имеет ряд неоспоримых преимуществ.

  • Полный набор установленных драйверов, благодаря чему вам не нужно заниматься дополнительным поиском, особенно если установленное оборудование на вашем ноутбуке или компьютере является несколько экзотическим. В отличие от Debian, ориентированного в первую очередь только на свободное ПО, в Ubuntu имеется возможность с коробки пользоваться проприетарным (то есть стороннего разработчика) софтом, включая различные драйверы непосредственно от производителя оборудования. 
  • Более частое обновление программного обеспечения. Поскольку технологии развиваются невероятно стремительно, для многих многолетний цикл разработки Debian может показаться критичным. Да, можно в Debian подключить сторонние репозитории с программным обеспечением, но какой в этом смысл, если при этом теряется основное преимущество Debian — его стабильность?

Безопасность работы и стабильность программного обеспечения

И Debian, и Ubuntu для управления системными операциями требуют права суперпользователя. Но существенно отличается реализация этого принципа.

В Ubuntu вы по умолчанию работаете под учётной записью обычного пользователя, без доступа к системным функциям. Когда же вам нужно выполнить какие-то глубокие настройки или установить программу, утилита sudo запросит пароль суперпользователя. В определённой степени это несколько замедляет работу, но при этом повышается безопасность.

Учётная запись суперпользователя в Дебиан чем-то напоминает аккаунт администратора в Windows. Вы входите под своим логином и паролем один раз, но не подтверждаете свои действия при каждой операции. Да, это несколько быстрее, но всё же менее безопасно. Поэтому нужно проявлять бдительность, чтобы не наделать ничего лишнего.

Касаемо стабильности работы программного обеспечения, то в Debian используется три основных репозитория: тестовый, стабильный и нестабильный. Поначалу новый софт появляется на тестовом канале, а затем после того, как его тщательно проверили и оттестировали, он перемещается в стабильный. После выхода новой версии Debian тестовые пакеты переносятся в репозиторий стабильных. В последние несколько лет количество хранилищ было расширено, но лучше всего пользоваться перечисленными выше. Что ещё хочется отметить, при использовании Debian вам предлагается, по сути, две крайности: либо поражающая стабильность в жертву функциональности, либо новейшее ПО, но может привести к серьёзным сбоям при обновлении.

Ubuntu имеет несколько иную структуру хранилищ программного обеспечения:

  • Главный репозиторий Canonical, в котором содержатся пакеты, взятые с тестового и нестабильного канала Debian и доработанные разработчиками компании Canonical.
  • Репозиторий Universe с программными пакетами, поддерживаемыми сообществом.
  • Программное обеспечение с закрытым программным кодом, например, драйверы от производителя оборудования.
  • Multiverse с софтом с несвободными лицензиями, в котором содержатся программы от сторонних разработчиков.

ВАЖНО. Главное отличие Debian от Ubuntu — ориентация на полностью свободный софт. В некоторых случаях его оказывается вполне достаточно, но в то же время драйвера чаще всего лучше использовать именно проприетарные. Ubuntu же позволяет выбирать между закрытым ПО и свободным, а для улучшения производительности рекомендует применять официальные прошивки от производителей, которые лучше знают особенности своего продукта. 

Отдать преимущество какому-либо из этих дистрибутивов в этом компоненте довольно сложно. Тем не менее стоит учесть, что то, что в Ubuntu включено по умолчанию, в Debian нужно подключать дополнительно. С другой стороны, если вы не гонитесь за новейшим софтом, а желаете получить максимально стабильную систему, Debian имеет определённые преимущества. Опять же, Ubuntu выпускает обновления гораздо чаще. Так что всё на любителя.

Рабочий стол и программная оболочка

Для Linux существует несколько окружений рабочего стола: KDE, GNOME, Xfce, Mate, LXDE. Все они доступны в том числе и для Debian с Ubuntu. В случае установки Debian вы можете выбрать желаемый рабочий стол прямо в инсталляторе системы либо же установить позже. Ubuntu, в свою очередь, имеет уникальную разработку Unity, поддерживаемую компанией Canonical, одновременно выступающей и спонсором проекта. Кроме того, имеются сборки Ubuntu на основе других рабочих столов: Kubuntu, Lubuntu, Xubuntu, Ubuntu Mate и Ubuntu Gnome.

Некоторые утилиты и приложения рассчитаны на использование с конкретной программной оболочкой, при этом они могут использоваться на обоих дистрибутивах. То есть если вы находите программу для Debian KDE, с огромной долей вероятности она без проблем сможет функционировать и на Kubuntu. Отличие составляет Unity, так как это оболочка не имеет аналогов на оригинальном Debian.

Кстати, популярно ошибочное мнение о стопроцентной совместимости программного обеспечения для Ubuntu и Debian. Определённая часть софта имеет разное расположение файлов, поэтому оно будет несовместимым.

Поддержка и сообщество разработчиков

Учитывая распространённость Debian и Ubuntu, оба дистрибутива имеют огромную армию поклонников, разработчиков и продвинутую службу поддержки. Если у вас возникнет какая-то сложность, вы однозначно не останетесь без помощи. Тем не менее отличается официальная позиция ответственных лиц каждого из проектов. В случае с Debian она бывает довольно резкой и не всегда дружественной.

СОВЕТ. Тем не менее любые серьёзные изменения выносятся на всеобщее обсуждение и принимаются путём голосования.

Ubuntu, по мнению многих, имеет определённое преимущество в этом вопросе, поскольку за выпуск отвечает конкретная компания, которая разработала целый кодекс сообщества и старается ему следовать. Тем не менее большинство решений принимаются одним человеком — руководителем Марком Шаттлвортом. Его голос является решающим и в некоторых случаях он существенно влияет на развитие проекта в целом. Хороший пример — как уже упоминалось выше, в одном из выпусков Ubuntu было принято решение о внедрении рекламных модулей, что вызвало волну негодования среди рядовых пользователей.

Выводы

Итак, была брошена очередная связка хвороста в костёр разногласий Debian vs Ubuntu. Какой дистрибутив вы выберете для своего домашнего компьютера? Всё зависит от ваших личных предпочтений.

Если очень кратко подвести итог всего вышесказанного, то можно сказать, что Debian является гораздо более стабильной системой, но при этом её программное обеспечение обновляется ощутимо реже. В основном этой особенностью пользуются те, кто использует систему для сервера. Сообщество разработчиков является более демократичным, но при этом куда более резким.

Ubuntu же может работать на грани краха, но при этом вы будете пользоваться наиболее современным и продвинутым софтом, включая оригинальные проприетарные пакеты и драйверы. Его сообщество является более централизованным, но при этом куда более дружественным.

Во всех остальных компонентах системы мало чем отличаются друг от друга. В комментариях расскажите нам, каким дистрибутивом пользуетесь вы и чем именно он вас привлёк.

Debian или Ubuntu: кому помогать? / Хабр

С точки зрения пользователя относительно просто сделать выбор между Debian и Ubuntu. У каждого есть свои личные предпочтения, и попробовать обе ОС не займет слишком много времени. Но когда дело доходит до вклада в разработку, времени для этого потребуется гораздо больше, и вам наверняка захочется подумать об этом дважды, прежде чем начинать. Так на какую систему лучше потратить свое время?

Это непростой вопрос, на который нет ответа, который удовлетворил бы каждого. Все зависит от того, каков ваш стимул для участия в разработке.

Ubuntu: лучше для новичков?

С одной стороны, вы наверняка начинали с более дружественной к пользователю системы — Ubuntu. Вам она нравится и вы хотели бы чем-нибудь отплатить проекту, например своим вкладом в разработку. Отличное решение!

Кроме того, если вы не из тех людей, кто любит учиться (в основном) в одиночестве, Ubuntu, скорее всего, будет являться лучшим местом для вклада (по крайней мере, в начале). С Неделей разработчика Ubuntu, а также работой менеджеров сообщества Ubuntu, вы найдете больше помощи новым участникам, чем у Debian.

Debian: высокие принципы?

С другой же стороны, как только вы станете постоянным вкладчиком, вы им и останетесь навсегда, благодаря сообществу и тем принципам, которые вас объединяют.

Лукас Нуссбаум (который является разработчиком как Ubuntu, так и Debian) в своей речи на mini-debconf в Париже сказал, что сообщество Debian имеет более высокие принципы, поскольку это работа исключительно добровольцев, в то время как на Ubuntu оказывает существенное влияние Canonical.

Это было снова продемонстрировано несколько дней назад историей с Banshee и связанных с ним доходов филиалов Amazon. Мне понравились прояснения Марка Шаттлворта на этот счет, но эта история, тем не менее, является доказательством, что власть сообщества Ubuntu имеет свои пределы.

Возвращаясь к теме статьи, на более фундаментальном уровне во многих случаях Debian — верная система для вклада, даже когда вам действительно хочется помочь Ubuntu. Всякий раз, когда вы работаете над 75% пакетов, которые пришли непосредственно из Debian, в интересах Ubuntu не создавать никакого расхождения с Debian. То есть любой багфикс, который вы бы хотели сделать, в идеале должен быть включен в официальный пакет Debian (или напрямую в upstream).

И делая работу для Debian, вы работаете в интересах большего количества людей, так как ваша работа попадет во все производные от Debian дистрибутивы (а не только в Ubuntu и её потомков).

Зачем вносить вклад?

У Debian есть ясный ответ: Общественный договор Debian. Если вы вносите вклад в развитие Debian, это обычно помогает достигнуть высокой цели: принести пользователям универсальную ОС высокого качества.

Если говорить об Ubuntu, здесь все выглядит не настолько понятно. Где документ, связывающий людей вместе? Баг #1, в котором сказано, что Microsoft не должна иметь преимущество на рынке? Или кодекс корпоративной этики?

Вкладывайте в обе

В качестве заключения я хотел бы указать на очевидное. Нет никакой необходимости помогать только одной системе. Вы можете разрабатывать для обеих систем, как многие и делают. Просто вносите вклад, когда это имеет смысл.

Содействуйте разработке Debian, когда требуются глубокие изменения инфраструктуры, где нужно избегать расхождений, или когда вы планируете изменить пакет, который еще не изменен в Ubuntu.

Содействуйте разработке Ubuntu, когда вы работаете над проектами, которые уже серьезно кастомизированы (или даже форкнуты), или когда вы работаете над новыми экспериментальными проектами, которые не могут быть включены в Debian.

Но надо помнить о том, что выбор существует и спрашивать себя, всякий раз когда вы собираетесь чем-то посодействовать этим ОС.

Об авторе: Рафаэль Герцог разработчик Debian. Он работает над пакетным менеджером (dpkg). Также он ведет ежемесячную информационную рассылку, где делится своими мыслями по поводу новостей о Debian и Ubuntu.

От переводчика: Это мой первый перевод статьи, исправления и критика приветствуются

Настройка UFW в Ubuntu Server 16.04 на примере BigBlueButton / Хабр

UFW (Uncomplicated Firewall) — это интерфейс iptables, предназначенный для упрощения процесса настройки брандмауэра. Инструмент iptables надёжный и гибкий, но новичку будет непросто настроить его самостоятельно. Я как раз новичок в этом деле.

По умолчанию в iptables включена политика ACCEPT и выглядет это так:

В нашем примере нет никаких ограничений. Политика по умолчанию — ПРИНЯТЬ.

ВХОД — ВХОДЯЩИЕ СОЕДИНЕНИЯ.
ВЫХОД — ИСХОДЯЩИЕ СОЕДИНЕНИЯ.
FORWARD — МАРШРУТИЗАЦИЯ (НАПРИМЕР, НЕОБХОДИМО ПРОПИСАТЬ МАРШРУТ к компьютеру за шлюзом).

Включить ufw можно командой sudo ufw enable
И сразу же после этой команды политика iptables поменяется.
Вот как она выглядит на BigBlueButton после включения ufw:

  Chain INPUT (policy DROP)
target prot opt ​​источник назначения
ufw-before-logging-input all - где угодно и где угодно
ufw-before-input all - где угодно и где угодно
ufw-after-input all - где угодно и где угодно
ufw-after-logging-input all - где угодно и где угодно
ufw-reject-input all - где угодно и где угодно
ufw-track-input all - где угодно и где угодно

Цепочка ВПЕРЕД (policy DROP)
target prot opt ​​источник назначения
ufw-before-logging-forward all - где угодно и где угодно
ufw-before-forward all - где угодно и где угодно
ufw-after-forward all - где угодно и где угодно
ufw-after-logging-forward all - где угодно и где угодно
ufw-reject-forward all - где угодно и где угодно
ufw-track-forward all - где угодно и где угодно

Цепочка ВЫХОДА (политика ПРИНЯТЬ)
target prot opt ​​источник назначения
ufw-before-logging-output all - где угодно и где угодно
ufw-before-output all - где угодно и где угодно
ufw-after-output all - где угодно и где угодно
ufw-after-logging-output all - где угодно и где угодно
ufw-reject-output all - где угодно и где угодно
ufw-track-output all - где угодно и где угодно

Цепочка ufw-after-forward (1 упоминание)
target prot opt ​​источник назначения

Цепочка ufw-after-input (1 ссылка)
target prot opt ​​источник назначения
ufw-skip-to-policy-input udp - где угодно где угодно udp dpt: netbios-ns
ufw-skip-to-policy-input udp - везде где угодно udp dpt: netbios-dgm
ufw-skip-to-policy-input tcp - в любом месте где угодно tcp dpt: netbios-ssn
ufw-skip-to-policy-input tcp - в любом месте где угодно tcp dpt: microsoft-ds
ufw-skip-to-policy-input udp - в любом месте udp dpt: bootps
ufw-skip-to-policy-input udp - в любом месте udp dpt: bootpc
ufw-skip-to-policy-input все - где угодно и где угодно ADDRTYPE соответствует dst-type BROADCAST

Цепочка ufw-after-logging-forward (1 упоминание)
target prot opt ​​источник назначения
LOG all - где угодно и где угодно предел: в среднем 3 / мин, пакет 10 Префикс предупреждения уровня LOG "[UFW BLOCK]"

Цепочка ufw-after-logging-input (1 ссылка)
target prot opt ​​источник назначения
LOG all - где угодно и где угодно предел: в среднем 3 / мин, пакет 10 Префикс предупреждения уровня LOG "[UFW BLOCK]"

Цепочка ufw-after-logging-output (1 ссылка)
target prot opt ​​источник назначения

Цепочка ufw-after-output (1 ссылка)
target prot opt ​​источник назначения

Цепочка ufw-before-forward (1 упоминание)
target prot opt ​​источник назначения
ПРИНИМАЙТЕ все - где угодно и где угодно ctstate СВЯЗАН, УСТАНОВЛЕН
ПРИНЯТЬ icmp - где угодно, где угодно icmp пункт назначения недоступен
ACCEPT icmp - в любом месте, где угодно icmp source-quench
ПРИНЯТЬ icmp - где угодно и где угодно icmp превышено время
ПРИНЯТЬ icmp - где угодно, где угодно icmp параметр-проблема
ПРИНЯТЬ icmp - в любом месте, где угодно, эхо-запрос icmp
ufw-user-forward all - где угодно и где угодно

Цепочка ufw-before-input (1 ссылка)
target prot opt ​​источник назначения
ПРИНИМАЙТЕ все - где угодно и где угодно
ПРИНИМАЙТЕ все - где угодно и где угодно ctstate СВЯЗАН, УСТАНОВЛЕН
ufw-logging-deny all - в любом месте ctstate INVALID
DROP all - в любом месте где угодно ctstate INVALID
ПРИНЯТЬ icmp - где угодно, где угодно icmp пункт назначения недоступен
ACCEPT icmp - в любом месте, где угодно icmp source-quench
ПРИНЯТЬ icmp - где угодно и где угодно icmp превышено время
ПРИНЯТЬ icmp - где угодно, где угодно icmp параметр-проблема
ПРИНЯТЬ icmp - в любом месте, где угодно, эхо-запрос icmp
ПРИНЯТЬ udp - в любом месте udp spt: bootps dpt: bootpc
ufw-not-local all - где угодно и где угодно
ПРИНЯТЬ udp - где угодно 224.0.0.251 UDP dpt: mdns
ПРИНЯТЬ udp - в любом месте 239.255.255.250 udp dpt: 1900
ufw-user-input all - где угодно и где угодно

Цепочка ufw-before-logging-forward (1 упоминание)
target prot opt ​​источник назначения

Цепочка ufw-before-logging-input (1 ссылка)
target prot opt ​​источник назначения

Цепочка ufw-before-logging-output (1 ссылка)
target prot opt ​​источник назначения

Цепочка ufw-before-output (1 ссылка)
target prot opt ​​источник назначения
ПРИНИМАЙТЕ все - где угодно и где угодно
ПРИНИМАЙТЕ все - где угодно и где угодно ctstate СВЯЗАН, УСТАНОВЛЕН
ufw-user-output all - где угодно и где угодно

Цепочка ufw-logging-allow (0 ссылок)
target prot opt ​​источник назначения
LOG all - где угодно и где угодно предел: в среднем 3 / мин, пакет 10 Префикс предупреждения уровня LOG "[UFW ALLOW]"

Цепочка ufw-logging-deny (2 ссылки)
target prot opt ​​источник назначения
ВОЗВРАТИТЬ все - где угодно и где угодно ctstate INVALID limit: avg 3 / min burst 10
LOG all - где угодно и где угодно предел: в среднем 3 / мин, пакет 10 Префикс предупреждения уровня LOG "[UFW BLOCK]"

Цепочка ufw-not-local (1 упоминание)
target prot opt ​​источник назначения
ВОЗВРАЩАТЬ все - где угодно и где угодно ADDRTYPE соответствует dst-type LOCAL
ВОЗВРАЩАТЬ все - где угодно и где угодно ADDRTYPE соответствует dst-type MULTICAST
ВОЗВРАЩАТЬ все - где угодно и где угодно ADDRTYPE соответствует dst-type BROADCAST
ufw-logging-deny all - где угодно и где угодно предел: средний пакет 3 / мин 10
БРОСИТЬ все - где угодно и где угодно

Цепочка ufw-reject-forward (1 упоминание)
target prot opt ​​источник назначения

Цепочка ufw-reject-input (1 ссылка)
target prot opt ​​источник назначения

Цепочка ufw-reject-output (1 упоминание)
target prot opt ​​источник назначения

Цепочка ufw-skip-to-policy-forward (0 ссылок)
target prot opt ​​источник назначения
БРОСИТЬ все - где угодно и где угодно

Цепочка ufw-skip-to-policy-input (7 ссылок)
target prot opt ​​источник назначения
БРОСЬ все - где угодно и где угодно

Цепочка ufw-skip-to-policy-output (0 ссылок)
target prot opt ​​источник назначения
ПРИНИМАЙТЕ все - где угодно и где угодно

Цепочка ufw-track-forward (1 упоминание)
target prot opt ​​источник назначения

Цепочка ufw-track-input (1 ссылка)
target prot opt ​​источник назначения

Цепочка ufw-track-output (1 ссылка)
target prot opt ​​источник назначения
ПРИНЯТЬ tcp - в любом месте ctstate NEW
ПРИНЯТЬ udp - в любом месте ctstate NEW

Цепочка ufw-user-forward (1 упоминание)
target prot opt ​​источник назначения

Цепочка ufw-user-input (1 упоминание)
target prot opt ​​источник назначения
 ПРИНЯТЬ tcp - в любом месте где угодно tcp dpt: ssh
ПРИНЯТЬ udp - в любом месте udp dpt: ssh
ПРИНЯТЬ tcp - в любом месте tcp dpt: 1935
ПРИНЯТЬ udp - везде где угодно udp dpt: 1935
ПРИНЯТЬ udp - в любом месте, где угодно, многопортовый порт 16384: 32768
ПРИНЯТЬ tcp - в любом месте tcp dpt: https
ПРИНЯТЬ udp - в любом месте udp dpt: https
ПРИНЯТЬ tcp - в любом месте tcp dpt: http
ПРИНЯТЬ udp - в любом месте udp dpt: http
ПРИНЯТЬ tcp - везде где угодно tcp dpt: 5090
ПРИНЯТЬ udp - в любом месте udp dpt: 5090
ПРИНЯТЬ tcp - в любом месте tcp dpt: sip
ПРИНЯТЬ udp - в любом месте udp dpt: sip
ПРИНЯТЬ tcp - везде где угодно tcp dpt: 5066
ПРИНЯТЬ udp - в любом месте где угодно udp dpt: 5066
ПРИНЯТЬ tcp - где угодно tcp dpt: tproxy
ПРИНЯТЬ udp - в любом месте где угодно udp dpt: 8081
ПРИНЯТЬ tcp - в любом месте tcp dpt: 8082
ПРИНЯТЬ udp - в любом месте udp dpt: 8082
ПРИНЯТЬ tcp - в любом месте tcp dpt: 3000
ПРИНЯТЬ udp - в любом месте udp dpt: 3000
ПРИНЯТЬ tcp - в любом месте tcp dpt: 2855
ПРИНЯТЬ udp - в любом месте udp dpt: 2855
ПРИНЯТЬ tcp - везде где угодно tcp dpt: 2856
ПРИНЯТЬ udp - в любом месте udp dpt: 2856 

Цепочка ufw-user-limit (0 ссылок)
target prot opt ​​источник назначения
LOG all - где угодно и где угодно предел: в среднем 3 / мин, пакет 5 Префикс предупреждения уровня LOG "[UFW LIMIT BLOCK]"
REJECT all - где угодно и где угодно reject-with icmp-port-unreachable

Цепочка ufw-user-limit-accept (0 ссылок)
target prot opt ​​источник назначения
ПРИНИМАЙТЕ все - где угодно и где угодно

Цепочка ufw-user-logging-forward (0 ссылок)
target prot opt ​​источник назначения

Цепочка ufw-user-logging-input (0 ссылок)
target prot opt ​​источник назначения

Цепочка ufw-user-logging-output (0 ссылок)
target prot opt ​​источник назначения

Цепочка ufw-user-output (1 ссылка)
target prot opt ​​источник назначения  

Выделенная область — это место для правил пользователя, они прописываются командами:

Для порта:

sudo ufw allow ssh (по названию порта)
sudo ufw allow 22 (конкретно номер порта)
sudo ufw allow 80 / udp (конкретно с указанием номера порта и протокола tcp или udp)

Для диапазона портов:

  sudo ufw allow 16384: 32768 / udp  

Удаление правил:

  sudo ufw delete allow 80  

Выкладываю порядок действий по настройке ufw на примере bbb.

Во-первых, смотрим какие сервисы какие порты слушают:

  netstat -ntlp | grep LISTEN  

tcp 0 0 xxx.xxx.xxx.x: 5090 0.0.0.0:* LISTEN 1258 / freeswitch
tcp 0 0 127.0.0.1:8100 0.0.0.0:* LISTEN 1720 / soffice.bin
tcp 0 0 xxx.xxx.xxx.x: 5060 0.0.0.0:* LISTEN 1258 / freeswitch
tcp 0 0 127.0.0.1:8101 0.0.0.0:* СЛУШАТЬ 1766 / soffice.bin
tcp 0 0 127.0.0.1:8102 0.0.0.0:* СЛУШАТЬ 1811 / soffice.bin
tcp 0 0 127.0.0.1: 8103 0.0.0.0:* LISTEN 1856 / soffice.bin
tcp 0 0 xxx.xxx.xxx.x: 2855 0.0.0.0:* LISTEN 1258 / freeswitch
tcp 0 0 127.0.0.1:8104 0.0.0.0:* LISTEN 1902 / soffice.bin
tcp 0 0 xxx.xxx.xxx.x: 2856 0.0.0.0:* LISTEN 1258 / freeswitch
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 1186 / mongod
tcp 0 0 xxx.xxx.xxx.x: 5066 0.0.0.0:* LISTEN 1258 / freeswitch
tcp 0 0 127.0.0.1:6379 0.0.0.0:* СЛУШАТЬ 1227 / redis-server 1
tcp 0 0 0.0.0.0: 80 0.0.0.0:* LISTEN 1359 / nginx -g daemo
tcp 0 0 xxx.xxx.xxx.x: 8081 0.0.0.0:* LISTEN 1258 / freeswitch
tcp 0 0 xxx.xxx. xxx.x: 8082 0.0.0.0:* LISTEN 1258 / freeswitch
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1176 / sshd
tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 1195 / узел
tcp6 0 0 :: 1: 5090 ::: * СЛУШАТЬ 1258 / freeswitch
tcp6 0 0 :: 1: 5060 ::: * СЛУШАТЬ 1258 / freeswitch
tcp6 0 0 127.0.0.1:8005 ::: * СЛУШАТЬ 1341 / java
tcp6 0 0 ::: 5070 ::: * СЛУШАТЬ 1461 / java
tcp6 0 0 ::: 9999 ::: * СЛУШАТЬ 1461 / java
tcp6 0 0 ::: 1935 ::: * СЛУШАТЬ 1461 / java
tcp6 0 0 ::: 8080 ::: * СЛУШАТЬ 1341 / java
tcp6 0 0 ::: 80 ::: * СЛУШАТЬ 1359 / nginx -g daemo
tcp6 0 0 :: 1: 8081 ::: * СЛУШАТЬ 1258 / freeswitch
tcp6 0 0 :: 1: 8082 ::: * СЛУШАТЬ 1258 / freeswitch
tcp6 0 0 ::: 8021 ::: * СЛУШАТЬ 1258 / freeswitch
tcp6 0 0 ::: 22 ::: * СЛУШАТЬ 1176 / sshd
tcp6 0 0 ::: 5080 ::: * LISTEN 1461 / java

Нас интересуют строчки с xxx.xxx.xxx.x (xxx.xxx.xxx.x — ip-адрес вашего сервера), так как это указывает, что сервис слушает сетевую карту на наличие входящих запросов из всех сетей (0.0.0.0:*). Строчки с 127.0.0.1 нас не интересуют так как это внутренний интерфейс, так же нас интересует сточки с 0.0.0.0 в 4 столбце (выделен жирным), например

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1359 / nginx -g daemo

так как это говорит, что 80 порт открыт для всех интерфейсов сервера и принимает запросы со всех сетей.

Итак, согласно этим составляющим правилам:

sudo ufw allow 22 для ssh
sudo ufw allow 80 для вебсервера nginx или apache

Целый ряд правил для freeswitch:

  sudo ufw allow 5060
sudo ufw разрешить 5090
sudo ufw разрешить 2855
sudo ufw разрешить 2856
sudo ufw разрешить 5066
sudo ufw разрешить 8081
sudo ufw разрешить 8082  

для узла сервиса:

sudo ufw allow 3000
Далее необходимо посмотреть все-таки документацию, в которой мы увидим, что необходимо открыть следующие порты:

sudo ufw allow 16384: 32768 / udp — для работы WebRTC
sudo ufw allow 443
sudo ufw allow 1935

На этом базовая настройка ufw для сервера BigBlueButton 2.0 закончена.

Добавить только то, что желательно или отключить ssh или изменить порт, или разрешить этот порт только для определенной сети, например для сети вашего предприятия.

К примеру, ваш шлюз имеет два сетевых интерфейса один виртуальный (к пользователям) 192.168.3.2, другой реальный 105.ххх.ххх.ххх (к провайдеру), вот для правил ufw берем реальный ip, а точнее указываем сеть, которая позволяет принадлежит этот ip.

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

  vim / etc / ssh / sshd_config  

Затем удаляем правило, разрешающее 22 порт:

Sudo ufw delete allow 22 — иногда называется OpenSSH.

Создаем правило разрешающее подключение к новому порту только из сети предприятия:

  sudo ufw allow from 105.ххх.ххх.ххх / 26 на любой порт 4321  

Затем перезагружаем ssh сервис:

  /etc/init.d/ssh restart  

И смотрим результат

  netstat -ntlp | grep LISTEN  
  tcp 0 0.0.0.0:4321 0.0.0.0:* слушать 5676 / sshd  

а в правилах ufw увидим, кто имеет доступ к порту:

  Статус ufw  
  4321 РАЗРЕШИТЬ 105.xxx.xxx.xxx/26  

Уважаемые читатели прошу Вас дополнения в комментариях: Как вы считаете, все ли правильно здесь написано, или же необходимо что-то добавить или добавить? .

Домашний интернет-шлюз. Начальная настройка 6-портового мини-компьютера на Ubuntu Server 20.04 LTS

На просторах интернета присутствует бесчисленное количество информации о настройке сервера на Ubuntu, но на каждом шагу можно найти неочевидные для новичка моменты. Я хочу поделиться своим опытом и, возможно, решить чью-то проблему. В статье будет рассказано, как настроить многопортовый сервер (6 портов): Netplan, DHCP-сервер, UFW (Uncomplicated Firewall). А теперь обо всем по порядку.

Введение

Обновил я интернет до 500 Мбит / с, и пришло время заняться 100 Мбитным сервером, который работал на Pentium 3 и был уже на грани. Выбор пал на китайского зверя. Все, что нужно — имеется, потребление в обычном режиме не более 15W, запас производительности для дополнительных задач.
Для спокойствия добавил активное охлаждение:

Установку ОС расписывать не буду («ОК — Далее — Далее»), отмечу только, что при установке требуется сконфигурировать хотя бы один сетевой интерфейс для доступа в интернет.

Для удобства я использую Midnight Commander и его текстовый редактор. Работать будем от root-пользователя:

  sudo su  

Установим MC:

  apt-get install mc  

Итак, у нас есть установленная Ubuntu Server, начальная конфигурация остальных сетевых интерфейсов.

Нетплан

В версиих Ubuntu появилась утилита Netplan, позволяющая настроить сеть в унифицированном формате и выбирать сетевой менеджер для работы.По умолчанию используется Systemd-networkd, я же выбрал NetworkManager, так как установил Web-интерфейс Cockpit, который использует именно NM для отображения части информации.
Синтаксис конфигурации Netplan очень строгий и лишний пробел или табуляция может вызвать ошибку.

Подробнее о функционале уже расписывали habr.com/ru/post/448400, так же различные примеры есть на сайте netplan.io/examples.

Посмотрим название интерфейса:

  ip a  

Перейдем в директорию / etc / netplan и откроем (F4 для МС) файл 50-cloud-init.yaml . Для сетевого подключения, который будет подключаться к интернету, определим получение настроек по dhcp ( dhcp4: true ). В моем случае это enp6s0. Для остальных укажем false и добавим параметр необязательно: true , т.к. интерфейс может быть ни к чему не подключен.

Для объединения интерфейсов в локальной сети я использовал bridge, но, возможно, правильнее было бы использовать vlan. Создадим мост lan-br , зададим общий IP-адрес, DNS-сервер и пропишем объединяемые интерфейсы:

  мосты:
    lan-br:
      dhcp4: ложь
      адреса: [192.168.13.1 / 24]
      серверы имен:
        адреса: [192.168.13.1]
      интерфейсы: [enp1s0, enp2s0, enp3s0, enp4s0, enp5s0]  

У меня будет собственный DNS-сервер, поэтому указываю адрес своего сервера в поле nameservers , можно указать например 8.8.8.8 (Google). Указываем версию и менеджер. В итоге должно получиться примерно так:

 сеть :
  Ethernet:
    enp1s0:
      dhcp4: ложь
      необязательно: правда
    enp2s0:
      dhcp4: ложь
      необязательно: правда
    enp3s0:
      dhcp4: ложь
      необязательно: правда
    enp4s0:
      dhcp4: ложь
      необязательно: правда
    enp5s0:
      dhcp4: ложь
      необязательно: правда
    enp6s0:
      dhcp4: правда
      серверы имен:
        адреса:
        - 127.0.0.1
        - 192.168.13.1
  мосты:
    lan-br:
      dhcp4: ложь
      адреса: [192.168.13.1/24]
      серверы имен:
        адреса: [192.168.13.1]
      интерфейсы: [enp1s0, enp2s0, enp3s0, enp4s0, enp5s0]
  версия: 2
  рендерер: NetworkManager
  

Сохраняем файл и проверяем / применяем конфигурацию:

  netplan try  

Если все сделано правильно, то ‘ip a’ покажет примерно такую ​​картину:

  1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    ссылка / петля 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00
    инет 127.0.0.1 / 8 объем хоста lo
       valid_lft навсегда предпочтительный_lft навсегда
    inet6 :: 1/128 хост области
       valid_lft навсегда предпочтительный_lft навсегда
2: enp1s0:  mtu 1500 qdisc fq_codel master lan-br состояние UP группа по умолчанию qlen 1000
    ссылка / эфир 0c: e8: 2c: 68: 5b: 57 brd ff: ff: ff: ff: ff: ff
3: enp2s0:  mtu 1500 qdisc fq_codel master lan-br состояние UP группа по умолчанию qlen 1000
    ссылка / эфир 0c: e8: 2c: 68: 5b: 58 brd ff: ff: ff: ff: ff: ff
4: enp3s0:  mtu 1500 qdisc fq_codel master lan-br состояние UP группа по умолчанию qlen 1000
    ссылка / эфир 0c: e8: 2c: 68: 5b: 59 brd ff: ff: ff: ff: ff: ff
5: enp4s0:  mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    ссылка / эфир 0c: e8: 2c: 68: 5b: 5a brd ff: ff: ff: ff: ff: ff
6: enp5s0:  mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    ссылка / эфир 0c: e8: 2c: 68: 5b: 5b brd ff: ff: ff: ff: ff: ff
7: enp6s0:  mtu 1500 qdisc fq_codel state UP группа по умолчанию qlen 1000
    ссылка / эфир 0c: e8: 2c: 68: 5b: 5c brd ff: ff: ff: ff: ff: ff
    Инет 188.32.236.197 / 19 brd 188.32.255.255 область действия глобальная динамическая noprefixroute enp6s0
       valid_lft 2898sec предпочтительный_lft 2898sec
    inet6 fe80 :: ee8: 2cff: fe68: 5b5c / 64 ссылка области
       valid_lft навсегда предпочтительный_lft навсегда
8: lan-br:  mtu 1500 qdisc noqueue state UP группа по умолчанию qlen 1000
    ссылка / эфир 0c: e8: 2c: 68: 5b: 57 brd ff: ff: ff: ff: ff: ff
    inet 192.168.13.1/24 brd 192.168.13.255 область действия глобальная noprefixroute lan-br
       valid_lft навсегда предпочтительный_lft навсегда
    inet6 fe80 :: ee8: 2cff: fe68: 5b58 / 64 ссылка области
       valid_lft навсегда предпочтительный_lft навсегда  

DHCP-сервер

Настроим DHCP-сервер для того, чтобы клиенты могли автоматически получать IP-адреса.

  apt-get install isc-dhcp-server  

В файле / etc / default / isc-dhcp-server правим строчку:

  INTERFACESv4 = "lan-br"  

Переходим в / etc / dhcp , открываем dhcpd.conf и прописываем настройки:

  option domain-name "your-domain-name";
вариант доменных имен-серверов 192.168.13.1;

подсеть 192.168.13.0 netmask 255.255.255.0 {
    диапазон 192.168.13.100 192.168.13.250;
    опция маска подсети 255.255.255.0;
    вариант маршрутизаторов 192.168.13.1;
    опция широковещательного адреса 192.168.13.255;
}  

Перезапустим DHCP-сервер:

  service isc-dhcp-server restart  

Теперь клиенты должны получать адреса автоматически.

УФВ

UFW (Uncomplicated Firewall) — инструмент для более легкой настройки iptables. Настроить фаервол и пересылку пакетов между интерфейсами. Переходим в / etc / ufw и в файле sysctl.conf раскомментируем строку:

  net / ipv4 / ip_forward = 1  

Если Вы подключены через ssh перед открытием 22 порт:

  ufw allow ssh  

Включим UFW, проверим состояние:

  ufw enable
подробный статус ufw  

Зададим политики по умолчанию:

  ufw default deny incoming
ufw по умолчанию разрешить исходящие
ufw по умолчанию позволяет маршрутизировать  

Разрешение доступа из сети:

  ufw разрешить доступ по локальной сети для любого  

Настроим НАТ.Откроем файл before.rules и пишем следующее перед блоком * filter :

  * nat
: ПРИНЯТИЕ ПОСТРОУТИРОВКИ [0: 0]
#местный
-A ОБРАБОТКА -s 192.168.13.0/24 -o enp6s0 -j ​​МАСКАРАД
COMMIT  

Сохраняемся и перезапускаем ufw:

  ufw disable
ufw включить  

Проверим iptables, должна появиться наша строчка:

  iptables -t nat -L -v  

На этом базовую настройку сервера можно считать законченной.

Заключение

Я не поднимал вопрос настройки DNS-сервера, так как планируется выпустить вторую часть, где будет установлена ​​настройка Dnscrypt-proxy в роли DNS-сервера для локальной сети.

Более подробная информация:

.

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

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