Изучаем возможности nftables — нового пакетного фильтра Linux

И вот ты решил перейти с Windows на Linux. Это прекрасная идея. И первый вопрос который у тебя возникнет – это какой дистрибутив выбрать. И конечно многие посоветуют тебе Ubuntu, причем будут правы. Но некоторые посоветуют тебе Linux Mint и именно они будут правы на 100 процентов.

Чем не устраивает iptables?

Проект netfilter/iptables был основан в 1998 году и с версии ядра 2.4 используется по умолчанию. Команда разработчиков сохранила основную идею, заложенную еще в ipfwadm, — список правил, состоящих из критериев и действия, которое выполняется, если пакет соответствует критериям. Netfilter разрешал подключать дополнительные модули (ранее архитектура ядра такой возможности не предоставляла). Это позволило очень просто развивать подсистему фильтрации, и со временем появилось большое количество новых функций и модулей. Полноценная поддержка IPv6 появилась только в 2011 году, что, правда, потребовало редизайна netfilter. В результате модуль NAT разделили на два независимых компонента, один из которых включает в себя ядро подсистемы NAT, а второй реализует поддержку протокола третьего уровня. Помимо фильтрации, модули обеспечивают классификацию трафика (вплоть до седьмого уровня OSI), балансировку нагрузки, манипуляцию с пакетами, маршрутизацию и прочее.

Со временем накапливались проблемы на функциональном уровне и в дизайне. Код ядра дублировался, становилось все сложнее его поддерживать и добавлять новые возможности. Обработка некоторых параметров жестко вшита в ядро, модуль нередко обслуживает только свой протокол. Например, за извлечение номера порта UDP и TCP отвечают два разных модуля. Для реализации любой функции в userspace требуется поддержка модулем ядра, это затрудняет разработку, и без пересборки часто не обойтись. Правила загружаются как один большой дамп, в случае изменения правила выгружаются, меняются, и весь набор отправляется обратно. Без учета дополнительных расширений количество опций конфигурирования в ядре уже давно перевалило за сотню.

Чем не устраивает iptables?

Iptables содержит большое количество модулейДругие статьи в выпуске: Хакер #180. 2014: люди, вирусы, баги, релизы

  • Содержание выпуска
  • Подписка на «Хакер»

Еще один важный мотив — необходимость сбросить текущий ABI (Application Binary Interface), представляющий собор набор соглашений между программами, библиотеками и ОС, обеспечивающими их взаимодействие на низком уровне. В iptables ABI жестко прописаны специфические для протоколов поля, поэтому расширить его сложно. Как результат, приходится сразу запускать iptables, arptables и ebtables, по существу выполняющие одну работу, но каждый на своем уровне. По общим оценкам дублируется 10 000 строк кода. Учитывая, что все защитные механизмы и цепочки (даже пустые) грузятся изначально и активны, iptables потребляет больше ресурсов, чем реально необходимо.

Чем не устраивает iptables?

Пользователям и администраторам управлять большим количеством правил довольно тяжело, трудно с ходу разобраться, что делают все цепочки, правила начинают повторяться, их становится сложно обслуживать и обновлять. Чтобы настроить два разных действия (вроде MARK и ACCEPT), правила приходится дублировать. Каждое расширение имеет свой синтаксис, одни поддерживают диапазоны, отрицание, префиксы, другие — нет.

Дополнительные расширения к iptables со своим синтаксисом создают еще большую путаницу

Читайте также:  Linux дистрибутивы для домашнего компьютера

Журналирование в nftables

Для регистрации событий используется Netfilter, при помощи модулей xt_LOG (регистрирует в syslog) и/или nfnetlink_log. Последний использует демон сбора информации ulogd2, вышедший примерно полтора года назад и способный накапливать данные на уровне отдельных пакетов или потоков и сохранять их, в том числе и в БД.

Механизм журналирования для каждого протокола настраивается через /proc.

# cat /proc/net/netfilter/nf_log 0 NONE (nfnetlink_log) 1 NONE (nfnetlink_log) 2 ipt_LOG (nfnetlink_log,ipt_LOG)

Под номером 2 у нас скрывается IPv4. Меняем на nfnetlink_log:

# echo «nfnetlink_log» >/proc/sys/net/netfilter/nf_log/2

Чем не устраивает iptables?

Настройка Redshift в Linux

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

cp -v /usr/share/doc/redshift/ ~/.config/

1 cp -v /usr/share/doc/redshift/ ~/.config/

Теперь можно редактировать в соответствии со своими предпочтениями:

Настройка Redshift в Linux

nano .config/

1 nano .config/

Пример моей конфигурации:

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

Пояснение какие параметры для чего:

Цветовая температура. Значение указывается в Кельвинах — «К».

temp-day=5800 — Температура цвета днем temp-night=5000 — Температура цвета ночью

Настройка Redshift в Linux

transition=1 — Включение/выключение плавного перехода между днём и ночью ; 0 — резкая смена значения температуры экрана при смене дня и ночи. ; 1 — плавное изменение цветовой температуры экрана

gamma=0.8:0.7:0.8 — Установка гаммы экрана для  каждого цветового канала (R;G;B)

location-provider=manual — Установка местоположения. Указывается в секции «manbal»

adjustment-method=randr — Установка метода регулировки. Рекомендуемый «randr». Что бы увидеть все доступные дайте команду:

redshift -m list

1 redshift -m list

Думаю этого достаточно. Для более подробной информации смотрите справку:

Настройка Redshift в Linux

redshift -help или man redshift

1 redshift -help или man redshift

Установка и настройка Redshift в KDE

В оболочке kde настраивать программу можно с помощью удобной графической оболочкой. Нужно установить два пакета сам redshift и апплет “Redshift Control”. Команда:

sudo apt install redshift plasma-applet-redshift-control

1 sudo apt install redshift plasma-applet-redshift-control

Можно воспользоваться «Центрм приложений» (Discover – встроенный в кде магазин программ) или «Synaptic». Затем добавить виджет на панель. Для этого кликните по ней правым кликом в меню наведите на «Добавить виджет «Панель» и выберите «Добавить виджеты».

Откроется окно с доступными виджетами. В строке поиска введите «redshift» и после того как он отобразится перетащите его в нужное место на панели.

Настройка Redshift в Linux

После этого на панели должен отобразиться знак в виде лампочки.

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

Чтобы настроить программу можно кликнуть правой кнопкой мыши по «лампочке». Станет доступно меню в котором выбрать пункт «Настройка виджета Redshift Control». Откроется окно с настройками. Здесь три основных раздела:

  1. General
  2. Advanced
  3. Комбинация клавиш

Из них наиболее интересны первые два. Их и рассмотрим подробнее.

Раздел «General»:

Настройка Redshift в Linux
  • Autostart — задать настройки для запуска приложения при старте системы.
  • Smooth transitions — включить плавные переходы.
  • Manual temperature step – задать шаг регулировки температуры
  • Manual brightness step – задать шаг регулировки яркости.
  • Use default icons – Использовать иконки по умолчанию. Если захотите использовать свои то снимите этот флаг и нажмите на картинку и выберите свои.
Читайте также:  10 систем управления проектами для командной удаленной работы

Раздел Advanced:

  • Location – ваше местоположение. Можно поставить флаг «automatic» для автоматического определения с помощью «geoclue», указать руками или нажать кнопку «Locate», чтобы определить расположение в данный момент.
  • Temperature – указать температуру дневную и ночную.
  • Brightness – настройка яркости. Также для дневного освещения и для ночного.
  • Gamma – регулировка гаммы по rgb.
  • Mode – режим drm, randr, vidmode, manual.

Вот такой удобный инструмент. Пользуйтесь, работайте с комфортом и берегите зрение.

На этом все.

Настройка локали в CentOS, Fedora

  • Создадим файл i18n, в котором затем сохраним параметры новой локали:

nano /etc/sysconfig/i18n

  • В открывшемся редакторе вносим следующую информацию:

LANG=»ru_» SUPPORTED=»ru_:ru_RU:ru»

  • Сохраняем изменения сочетанием клавиш CTRL+O и затем Enter.
  • На этом всё, локаль изменена и теперь необходимо переподключиться в консоль, чтобы увидеть изменения. Если вы использовали VNC или другое удаленное подключение к рабочему столу, то рекомендуется и в нём произвести переподключение для применения изменений.

Чем отличаются apt и apt-get

Кратко ответим на очень популярный вопрос, а в чем разница между командами apt и apt-get?

apt это утилита, которая появилась, как альтернатива apt-get. Она выполняет практически все те же функции, что и apt-get, но с ней проще и понятнее работать.

Например, все команды apt имеют простой синтаксис: apt название_команды. А у apt-get есть дополнительные команды, например, apt-cache. Таким образом, при использовании apt, пользователю не нужно запоминать дополнительные наборы команд.

Помимо упрощения работы с командами, apt нагляднее выводит информацию, вроде бы мелочи, но работать удобнее. Например, apt умеет показывать прогресс бар, а при выполнении apt update можно увидеть сколько пакетов можно обновить.

Стоит отметить, что утилита apt-get более функциональна, чем apt. Но для рядового пользователя apt будет более чем достаточно.

Часть Настройка

Пропустите этот раздел полностью, если вы уже на Linux.

Загрузите ISO Kubuntu

Kubuntu — это Ubuntu, только покрасивее. Самый последний LTS —

Часть Настройка

Установите ISO на USB или CD

Следуйте официальному руководству Ubuntu для Windows или macOS.

Установка ОС

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

Освойтесь, перейдите в приложения и запустите эмулятор терминала (Konsole). Большую часть времени мы будем работать в этом единственном окне, но сначала откроем диспетчер файлов (Dolphin), а также импортируем настройки темы и рабочего стола.

Прежде чем мы войдём в терминал, давайте разберёмся с тем, что мы уже видим. В верхней части окна терминала отображается Konsole. Это просто название программного обеспечения, характерное для данной среды рабочего стола (другие названия — Terminal, Command Line и др.). Как Satoshi (имя пользователя) Nakamoto (имя компьютера) вы будете отображаться в любой сети, к которой cможете подключиться.

Часть Настройка

Между «:» и «$» вы увидите «~». Это аббревиатура для вашей домашней директории /home/ <username>. / home /<username> похожа на «Мои документы» в Windows.

Читайте также:  15 Примеров использования в linux команды top

[email protected]:~$

[email protected]:/home/satoshi$

Как подключить интернет в Линукс Минт

Существует множество вариантов подключения Интернета на платформе Линукс Минт. Правда, распространенных методов всего 3.

Классический вариант

Настройка начинается с команды sudo pope.

Дальше шаги достаточно простые:

  1. Нужно выбрать сетевой адаптер. Наиболее оптимальный вариант – etho.
  2. Затем нужно пройти аутентификацию, нажав на соответствующий раздел.
  3. Дальше стоит удалить параметр pppoe. Нажать на проверку конфигурационного файла – pppoe-conf и подтвердить свои действия, кликнув на кнопку «да».
  4. Система подскажет об изменениях файлов. Нужно снова кликнуть «да».
  5. Потом стоит ввести логин и пароль, выданный провайдером. Потом их можно будет изменить.
  6. Согласиться с автоматической установкой адресов DNS.
  7. Согласиться с ограничением ММ
  8. Подтвердить свои действия.

Если сделано все правильно, то проводное интернет-подключение будет установлено.

Для беспроводных сетей потребуется настройка специальных девайсов – роутеров. Они подсоединяются к ноутбукам через кабели. Настройки происходят однотипно: нужно войти в интерфейс роутера, ввести данные от провайдера, сохранить изменения и выйти из интерфейса.

Замечание! Для настройки роутера новичку лучше отнести свой ноутбук или компьютер в сервис-центр.

1 вариация

Здесь пойдет речь о подключении к беспроводной сети.

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

Настройка такого подключения нечем не отличается от классического способа установки Интернета. Правда, предварительно нужно отключить опцию автоматического подключения к сети во вкладке «Общие».

2 вариация

Есть еще один вариант подключения Интернета с помощью DSL- модема.

Тут также есть 2 варианта: либо непосредственно копаться в самом модеме, либо подключать через компьютер. 1-ый способ удобен для пользования сетью разными людьми. А вот 2-ой метод удобен для родителей, чьи дети бесконтрольно сидят в виртуальном мире.

Экономичней и проще выглядит первый способ.

Технология настройки:

  1. Открыть браузер. Ввести адрес модема, логин и пароль. Необходимые параметры указаны либо на самом модеме, либо на коробке из-под этого девайса.
  2. В настройках поменять режим с Bridge на PPPoE.
  3. Потом ввести новые параметры логина и пароля.
  4. Сохранить настройки.
  5. Перезагрузить все девайсы.

Должно появиться интернет-подключение. Тут же можно настроить вай-фай, если модем имеет соответствующие опции.

2-метод настройки еще проще. Достаточно выставить режим Bridge. Затем найти соответствующий значок сетевого подключения и изменить настройки для конкретной сети. Сохранить и перезагрузить компьютер.

kde тиринг

KDE, является моим любим рабочим окружением. В нём есть такое огромное количество, так нужных пользователям, элементов управления, что с помощью GUI Панели управления можно настроить практически всё. Откройте приложение Настройки и найдите «Display and Monitor». Там выберите «Compositor». Найдите параметр «Предотвращение разрыва vsync»(Tearing prevention «vsync» и установите для него значение «Перерисовка всего экрана” (Full screen repaints). После этого нажмите «Применить» (Apply).

Нередко Kwin, оконный менджер KDE, тоже становится причиной тиринга. Если не после предыдущих манипуляци разры картинки не пропал, то создалим файл /etc/profile.d/ следующего содержания:

kde тиринг

export KWIN_TRIPLE_BUFFER=1

Перелогиньтесь и всё должно стать гладко.