КАК: Использование команды «sysctl» Linux — 2021

В данной статье мы рассмотрим способы настройки сети в системах Linux CentOS 7/8, покажем, как настраивать сетевых интерфейсов через конфигурационные файлы, основные утилиты для настройки сети и многое другое. Это актуальная тема, так как изначально настройка любого сервера начинается с настройки на нем сети.

конспект

sysctl -n -e variable … sysctl -n -e -w variable = value … sysctl -n -e -p (по умолчанию /etc/) sysctl -n -e -a sysctl -n -e -A параметры

переменная это имя ключа для чтения, например:

Сепаратор слэш также принимается вместо периода, ограничивающего пару ключ / значение, например:

ядро / тип_ос

Чтобы установить ключ, используйте форму

переменная = значение

где переменная является ключевым и значение это значение, на которое оно установлено. Если значение содержит кавычки или символы, которые обрабатываются оболочкой, вам может потребоваться заключить это значение в двойные кавычки. Это требует -w параметр для использования.

Другие параметры

-n: Используйте эту опцию, чтобы отключить печать имени ключа при печати значений.

-e: Используйте эту опцию, чтобы игнорировать ошибки в отношении неизвестных ключей.

-w: Используйте этот параметр, если вы хотите изменить Sysctl установка.

-п: нагрузка Sysctl настройки из указанного файла или /etc/ если никто не был дан.

-a: Отобразите все доступные в настоящее время значения.

-A: Отобразить все значения, доступные в настоящее время в виде таблицы.

Пример использования

/ sbin / sysctl -a/ sbin / sysctl -n / sbin / sysctl -w = ""/ sbin / sysctl -p /etc/

Конкретное использование может варьироваться в зависимости от дистрибутива Linux. Использоватьчеловек команда (% человек), чтобы увидеть, как команда используется на вашем конкретном компьютере.

Сетевые настройки на сервере Debian

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

Первоначальная настройка сети начинается во время установки сервера. Если у вас есть сетевой интерфейс и dhcp сервер в сети, то сеть сконфигурируется автоматически на основе полученных настроек и будет готова к работе. В последствии вы можете выполнить настройку сети в Debian через консоль с помощью программ ip или ifconfig. Наиболее популярным и современным средством на текущий момент является ip, поэтому в дальнейшем рассмотрим вопрос конфигурации сетевых интерфейсов с ее помощью. Про ifconfig тоже не забудем. Рассмотрим ее позже отдельно.

Читайте также:  Как установить Angular CLI в Ubuntu 20.04 

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

Есть 2 различные возможности изменить сеть в Debian:

  1. Настройка сети из консоли с помощью указанных ранее консольных программ.
  2. С помощью редактирования конфигурационного файла сетевых интерфейсов /etc/network/interfaces.

Мы рассмотрим оба этих варианта. Вводная теоретическая часть окончена, приступаем к практике.

Опции командной строки

В истории развития операционной системы UNIX программы использовали разные способы задания своих опций: ♦ односимвольные, например ls -а -l (что эквивалентно ls -l -а или ls -al или ls -la); ♦ многосимвольные, например find /var  -xdev; ♦ длинные, например ps  —help; ♦ с аргументами, например kill  -n  15 1, или kill  -n15  1, или du  -В  M, или  du -BM,

или find /etc -type d, или даже ls —sort=slze;

♦ «нестандартные», например set +x,  tar  czf ~ или dd  if=/dev/dvd  of=.

Знак «минус», предваряющий опции, естественно используется для того, чтобы отличать их от аргументов. Среди прочих, он был выбран потому, что редко встречается как первый символ в аргументах команд (в качестве которых зачастую выступают имена файлов).

И еще потому, что на терминале классической UNIX набор более логичного знака «плюс» (что могло бы означать «включить»,«активировать») требовал достаточных усилий по нажатию клавиши SHIFT. В результате получилось, что, например, в команде set опция х (execution trace) в форме -х включает, а +х выключает трассировку выполнения команд.

В тех редких случаях, когда аргумент команды все же начинается с символа «минус» и тем самым похож на опцию (представим, что нужно выполнить действие над файлом с именем -=filenames=-), специальная опция — сигнализирует о конце списка опций, за которым следуют лексемы, обязанные расцениваться как аргументы, вне зависимости от их написания.

Конец списка опций

[email protected]: ~$ stat -=filename=-

stat: неверный ключ —  «=» Попробуйте «stat —help» для получения более подробного описания.

[email protected]: ~$ stat  — —  -=filename=-

Файл: «-=filename=-» Размер:  0                         Блоков: 0                     Блок B/B: 4096         пустой обычный файл Устройство: fc00h/64512d                  Inode: 26870044            Ссылки: 1 Доступ: (0600/-rw -)                      Uid: (  1000/    john)                Gid: ( 1000/     john) Доступ: 2018-08-24    01:37: +0300

Модифицирован: 2018-08-24 01:37: +0300

Изменён: 2018-08-24 01:37: +0300

Читайте также:  3 простых шага по исправлению ошибок ADOBE AIR.DLL

Создан: —

Короткие, односимвольные опции (например -l -а) без своих аргументов издревле можно было объединять в группы (-lа или -al), однако их в этом случае сложно отличать от многосимвольных (-xdev) или односимвольных, склеенных со своими аргументами (-ВМ).

Поэтому позже появились длинные (в так называемом GNU-стиле) опции, обозначаемые двумя знаками «минус», позволяющие навести некоторый порядок в виде —block-size=M вместо -ВМ или, предположим,

—dont-descent вместо -xdev.

Командный интерфейс Linux

Командный интерфейс Linux, каким бы «страшным» не казался, в реальности удивительно функционален для решения массы разнообразных задач, хотя он и не решает абсолютно все задачи одинаково эффективно. Например, его невероятно сложно и неудобно использовать для обработки графической информации, когда при взаимодействии с пользователем требуется ввести колоссальное количество «графических» данных, например, указать обтравочный контур. В этом случае графический интерфейс с «непосредственным» манипулированием подойдет гораздо лучше.

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

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

Именно командный интерфейс в современном виде — аудиоформе — больше не является уделом художественных фантастических произведений, где капитаны межгалактических кораблей командуют кораблям «включить защитное поле». Теперь мы все можем при помощи командного аудиоинтерфейса смартфона найти ближайшую пиццерию или маршрут к нужному месту. Надеюсь, что и алфавитно-цифровая форма командного интерфейса, доставшаяся «в наследство» от UNIX из 70-х годов прошлого века, вас тоже не особо испугает. Ok, Google?

split

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

Посмотрим, как можно разбить файл, содержащий 4 строки. Предположим, что мы намерены это сделать после 2 строки. Воспользуемся echo для создания тестового файла, а split выполнит всё остальное: 

echo -e «line1\nline2\nline3\nline4» > test_file split —lines 2 ./test_file test_file_split_ cat test_file_split_aa && cat test_file_split_ab

В этом случае мы из одного исходного файла создали 2 новых. Команда split позволяет присоединить префикс имени к выходным файлам, что мы и сделали с помощью последнего аргумента команды. Для полной ясности полученные разделенные файлы содержат суффиксы aa и ab.

Читайте также:  Как установить Ubuntu (подробная инструкция)

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

Заключение

В данном руководстве мы рассмотрели основные моменты работы с Iptables:  разрешение трафика только на определенных портах, фильтрацию пакетов по источнику, основы настройки трансляции сетевых адресов (NAT) и сохранение правил после перезагрузки. Однако, важно заметить, что iptables работает только с трафиком ipv4. Если ваш VPS поддерживает ipv6, нужно установить отдельные правила при помощи ip6tables.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Похожие посты:

  1. Firewalld, установка и настройка, зоны, NAT, проброс портов
  2. Установка и настройка Fail2ban. Защита ssh сервера
  3. Что такое SELinux? Настройка, включение и отключение
  4. Генерация и использование SSL-сертификатов в Linux

Управление сетью с помощью NetworkManager в CentOS 8

В CentOS 8 для настройки сети рекомендуется использовать только NetworkManager. Эта служба управление сетевыми подключениями, контролирует настройки и применяет изменения к сетевым адаптерам.

Чтобы проверить статус NM, используйте команду:

Управление сетью с помощью NetworkManager в CentOS 8

# systemctl status

В CentOS предлагается использовать для настройки сети командную консоль nmcli или графическую утилиту nmtui.

Чтобы перейти в режим настройк сети, введите команду:

Управление сетью с помощью NetworkManager в CentOS 8

# nmtui

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

Выбираем нужный нам интерфейс и редактируем:

Управление сетью с помощью NetworkManager в CentOS 8

Нам доступно редактирование имени, IP-адреса, Шлюза, DNS-серверов. Так же в интерактивном меню NM, мы можем изменить способ назначения IP адреса, на DHCP:

Замените “manual” на “automatic”:

После чего сохраните настройки. С помощью nmtui в графическом режиме, вы можете выполнить любые настройки, которые выполняете вручную через конфигурационные файлы. Если вы предпочитаете использовать командную строку для настройки интерфейсов, можете использовать nmcli. Например, следующие команды изменят IP адрес, щлюз и DNS сервера для интерефейса eth1.

Управление сетью с помощью NetworkManager в CentOS 8

# nmcli con mod eth1 # nmcli con mod eth1 # nmcli con mod eth1 «8.8.8.8»

Для применения изменений, перезагрузите интерфейс:

# nmcli con up eth1

Управление сетью с помощью NetworkManager в CentOS 8

Если же вам удобнее работать с файлами конфигурации, установите через yum отдельный пакет network-scripts (в CentOS 8 по умолчанию его нет):

# yum install network-scripts -y

Upgraded: __64 Installed: __64 _64 Complete!

Управление сетью с помощью NetworkManager в CentOS 8

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