Ubuntu использование com-port minicom

Создайте кластер.Create the cluster

  1. Создайте кластер в одном из узлов.On one of the nodes, create the cluster.

  2. Настройте кластерные ресурсы для SQL Server, файловой системы и виртуального IP-адреса, а затем отправьте конфигурацию в кластер.Configure the cluster resources for SQL Server, File System and virtual IP resources and push the configuration to the cluster. Потребуются следующие сведения:You need the following information:

    • Имя ресурса SQL Server. Имя кластеризованного ресурса SQL Server.SQL Server Resource Name: A name for the clustered SQL Server resource.
    • Имя ресурса плавающего IP-адреса. Имя ресурса виртуального IP-адреса.Floating IP Resource Name: A name for the virtual IP address resource.
    • IP-адрес. IP-адрес, который клиенты будут использовать для подключения к кластеризованному экземпляру SQL Server.IP Address: The IP address that clients will use to connect to the clustered instance of SQL Server.
    • Имя ресурса файловой системы. Имя для ресурса файловой системы.File System Resource Name: A name for the File System resource.
    • Устройство. Путь к общей папке NFS.device: The NFS share path
    • Устройство. Локальный путь подключения к общей папке.device: The local path that it’s mounted to the share
    • fstype. Тип общей папки (nfs).fstype: File share type (i.e. nfs)

    Замените значения в приведенном ниже скрипте значениями для своей среды.Update the values from the following script for your environment. Запустите его в одном узле, чтобы настроить и запустить кластеризованную службу.Run on one node to configure and start the clustered service.

    Например, приведенный ниже скрипт создает кластеризованный ресурс SQL Server с именем и ресурс плавающего IP-адреса с IP-адресом .For example, the following script creates a SQL Server clustered resource named , and a floating IP resources with IP address . Кроме того, он создает ресурс файловой системы и добавляет ограничения, чтобы все ресурсы находились в одном узле с ресурсом SQL.It also creates a Filesystem resource and adds constraints so all resources are colocated on same node as SQL resource.

    После отправки конфигурации SQL Server запустится в одном узле.After the configuration is pushed, SQL Server will start on one node.

  3. Убедитесь в том, что SQL Server запущен.Verify that SQL Server is started.

    В приведенных ниже примерах показаны результаты успешного запуска кластеризованного экземпляра SQL Server с помощью Pacemaker.The following examples shows the results when Pacemaker has successfully started a clustered instance of SQL Server.

1. Используя команду netstat

Netstat — это широко применяемый инструмент для запроса информации о сетевой подсистеме Linux. Вы можете использовать её для показа всех открытых портов примерно так:

sudo netstat -ltup

Флаг -l говорит netstat вывести все прослушивающие сокеты, -t означает показать все TCP соединения, -u для показа всех UDP соединений и -p включает показывать PID и имя программы/приложения, которое прослушивает порт.

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

sudo netstat -lntup

Вы также можете использовать команду grep для определения, какое приложение прослушивает определённый порт, например:

sudo netstat -lntup | grep "httpd"

Можно искать не по имени службы, а по номеру порта, с помощью этого можно определить, какая служба привязана к определённому порту:

sudo netstat -lntup | grep ":80"

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

sudo netstat -lntupc

Ручная отработка отказа кластераFailover cluster manually

Команда создает ограничение, принудительно запуская ресурс на целевом узле.The command creates a constraint forcing the resource to start on the target node.  После выполнения команды ресурс удалит ограничение, чтобы можно было снова переместить ресурс или автоматически выполнить отработку отказа ресурса.  After executing the command, executing resource will remove the constraint so it is possible to move the resource again or have the resource automatically fail over.

В следующем примере ресурс mssqlha перемещается на узел sqlfcivm2; затем ограничение удаляется, чтобы ресурс можно было переместить на другой узел позже.The following example moves the mssqlha resource to a node named sqlfcivm2, and then removes the constraint so that the resource can move to a different node later.

3.4 Примечания для dumb многопортовых плат

Использование ваших многопортовых плат зависит от того какая плата у вас есть.
Некоторые из них перечислены подробно в rc.serial или в 0setserial, который
приходит с пакетом setserial. Я строго рекомендую взять последнюю версию
setserial, если вы пытаетесь использовать многопортовые платы. Вероятно, вы
должны будете создать эти устройства.

Используйте или команду mknod, или скрипт MAKEDEV. Устройства для многопортовых
плат создаются сложением «64 + номер_порта». Так, если вы хотели создать
устройство ttyS17, то напечатайте:

Они должны быть COM5 = 0x250, COM6 = 0x258, COM7 = 0x260 и COM8 = 0x268.

Обратите внимание: Digi PC/8 Interrupt Status Register — в 0x140.

Обратите внимание: для AST Fourport, вам возможно потребуется указать
skip_test в rc.serial.

Как открыть TCP-/UDP-сокет средствами командной оболочки bash

Представьте, что вам по какой-либо причине необходимо открыть TCP-/UDP-сокет на работающем под управлением Linux сервере. Например, вам нужно проверить доступность определенного порта на удаленном узле с известным адресом. Также у вас может возникнуть потребность в загрузке определенной веб-страницы с удаленного веб-сервера или задействования restful API для тестирования сетевого сервиса. Кроме того, вы можете просто захотеть соединиться с сервером IRC или каким-либо другим удаленным сервером. Но что делать в том случае, если на вашем сервере имеется лишь очень ограниченное в плане функций рабочее окружение? Так, в нем могут быть просто не установлены такие стандартные инструменты для работы с сетью, как , и , при этом в вашем распоряжении может иметься лишь командная оболочка bash.

Фактически, одной из встроенных функций командной оболочки bash является функция открытия TCP-/UDP-сокетов с помощью файлов устройств и соответственно. В данном руководстве мы постараемся разобраться в том, как открывать TCP-/UDP-сокеты, а также осуществлять посредством них прием и передачу данных в процессе работы с командной оболочкой bash.

Открываем порты в Linux

Хоть во многих дистрибутивах по умолчанию присутствует встроенный инструмент по управлению сетями, все же такие решения часто не позволяют в полной мере осуществить настройку открытия портов. Инструкции данной статьи будут основаны на дополнительном приложении под названием Iptables — решение для редактирования параметров межсетевого экрана с использованием прав суперпользователя. Во всех сборках ОС на Линуксе она работает одинаково, разве что отличается команда для установки, но об этом мы поговорим ниже.

Подробнее: Просмотр открытых портов в Ubuntu

Шаг 1: Установка Iptables и просмотр правил

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

  1. Откройте меню и запустите «Терминал». Сделать это также можно, используя стандартную горячую клавишу Ctrl + Alt + T.

В дистрибутивах на базе Debian или Ubuntu пропишите для запуска установки, а в сборках, основанных на Fedora — . После ввода нажмите на клавишу Enter.

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

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

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

Шаг 2: Разрешение обмена данными

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

  1. Убедитесь, что в конфигурационном файле отсутствуют какие-либо правила. Лучше сразу же прописать команду для их удаления, а выглядит она так: .

Теперь добавляем правило для вводимых данных на локальном компьютере, вставив строку .

Примерно такая же команда — — отвечает за новое правило для отправки информации.

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

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

Шаг 3: Открытие необходимых портов

Вы уже ознакомлены с тем, по какому принципу добавляются новые правила в конфигурацию Iptables. Существуют и несколько аргументов, позволяющих открыть определенные порты. Давайте разберем эту процедуру на примере популярных портов под номерами 22 и 80.

  1. Запустите консоль и введите туда две следующие команды поочередно:

    .

Теперь проверьте список правил, чтобы убедиться в том, что порты были успешно проброшены. Используется для этого уже знакомая команда .

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

Поменяйте политику на стандартную через и можете смело приступать к работе между узлами.

В случае когда уже администратор компьютера внес свои правила в инструмент, организовал сброс пакетов при подходе к точке, например, через , вам нужно использовать другую команду sudo iptables: , где 1924 — номер порта. Она добавляет необходимый порт в начало цепи, и тогда пакеты не сбрасываются.

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

Теперь вы знаете, как пробрасываются порты в операционных системах Linux на примере дополнительной утилиты Iptables. Советуем обязательно следить за появляющимися строками в консоли при вводе команд, это поможет вовремя обнаружить какие-либо ошибки и оперативно устранить их.

Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.

Проверка COM порта под linux

В этой заметке я расскажу про то, как можно проверить COM порт в Linux.

Для этого нам понадобятся:

  • права на чтение и запись в COM порт
  • программа minicom
  • кусок толстого многожильного кабеля
Права доступа

проверяем какие у нас в системе есть COM порты, а также наши права на них:

# ls -l /dev/ttyS* /dev/ttyUSB*
crw-rw—- 1 root dialout 4, 64 Дек 21 11:46 devttyS0
crw-rw—- 1 root dialout 4, 65 Дек 8 15:43 devttyS1
crw-rw—- 1 root dialout 4, 66 Дек 8 15:43 devttyS2
crw-rw—- 1 root dialout 4, 67 Дек 8 15:43 devttyS3
crw-rw—- 1 root dialout 188, Дек 21 07:27 devttyUSB0

/dev/ttyS0 это первый COM порт
/dev/ttyS1 соответственно второй COM порт
/dev/ttyUSB0 специальный кабель-переходник из USB в COM (Gembird UAS111)

Как мы видим для работы с COM портом необходимы права root либо пользователь должен входить в группу dialout

Провод для связи

Берём многожильный кабель в оплётке длиной 4-6 см, и соединяем 2 и 3 выводы COM порта перемычкой из этого кусочка провода. Оплётка будет удерживать провод на контактах, а металлические жилы внутри будут проводниками.
Для любителей паять можно предложить спаять полный loop-back тестер. В нём соединить не только контакты приёма передачи, но и аппаратный контроль потока и готовность терминала.

Работа с программой minicom

Для начала необходимо настроить программу minicom

# minicom -s

+———————-+
| Каталоги и файлы
| Протоколы
| Настройка последовательного порта
| Модем и дозвон
| Экран и клавиатура
| Сохранить настройки как dfl
| Сохранить настройки как…
| Выход
| Выход из Minicom
+————————————+

Выбираем «Настройка последовательного порта»

+————————————————————————+
| A — Последовательный порт : /dev/ttyS0
| B — Размещение lock-файла : /var/lock
| C — Программа при выходе :
| D — Программа при запуске :
| E — Скорость/Чётность/Биты : 115200 8N1
| F — Аппаратное управление потоком : Да
| G — Программное управление потоком : Нет
|
| Какую настройку изменить?
+————————————————————————+

Если нужно, меняем СОМ порт, нажимая «A»
Отключаем аппаратное управление потоком, нажимая «F»
Выходим из настроек «Enter»
Сохраняем настройки по умолчанию «Сохранить настройки как dfl»
Выходим из minicom

Собственно проверка СОМ порта

Запускаем minicom без параметров.

# minicom

Пробуем нажимать на клавиши. В ответ на экране должны появляться символы.
Проверка COM порта под linux завершена.

Эта запись была сделана 21.12.2010, 13:50 под рубрикой Разное. Вы можете подписаться на эту запись с помощью RSS 2.0.
Responses are currently closed, but you can trackback from your own site.

2. Проверьте открытые порты в CentOS 7

 Nmap localhost 

Мы можем видеть, какие порты у нас открыты на данный момент, номер порта и сервис, который его открывает, так же, как мы видим, сколько портов закрыто.

примечание

В случае отсутствия установленного nmap мы можем использовать следующую команду для установки его в CentOS 7:

 sudo yum установить nmap 

Используя Nmap, мы можем визуализировать открытые порты на веб-сайте CentOS 7, например, чтобы увидеть открытые порты Solvetic.com, мы будем использовать следующую команду:

 nmap 178.33.118.246 

Мы можем видеть номер, состояние и тип обслуживания порта.

Кроме того, мы можем использовать команду netstat, чтобы детально увидеть состояние портов в CentOS 7, чтобы увидеть полный список портов, мы будем использовать следующую команду:

 netstat -l 

Смотрите статус порта в конкретном CentOS 7 В CentOS 7 мы можем использовать следующий синтаксис, чтобы увидеть состояние определенных типов портов:

 netstat -lt (инициалы порта) 
 netstat -ltup 

Если мы хотим видеть только порты TCP, мы будем использовать:

 netstat -ltp 

Наконец, в CentOS 7 мы можем использовать NetCat для определения статуса порта, для этого мы должны использовать следующий синтаксис:

 nc -vn 1 (IP-адрес) (номер порта) 
 nc -vn 1 192.168.0.29 21 

Если возвращенное сообщение « Отказано в соединении», это означает, что порт закрыт . Если отображаемое сообщение подключено, это означает, что порт открыт .

Открытые порты Ubuntu

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

В Linux существует несколько утилит, которые можно использовать, чтобы посмотреть открытые порты. Одни из них полноценные сетевые сканеры, другие — локальные утилиты, отображающие всю доступную информацию. Рассмотрим основные из них.

netstat

Это одна из самых старых и популярных утилит для просмотра открытых портов. Мы описывали её в отдельной статье, а сейчас просто кратко рассмотрим, как с ней работать. Чтобы посмотреть открытые порты, выполните такую команду:

Опция -l сообщает, что нужно посмотреть прослушиваемые порты, -p  показывает имя программы, -t и -u — отображают TCP и UDP порты, а -n показывает ip адреса в числовом виде. Дальше нужно выбрать только те строки, где встречается слово LISTEN, чтобы найти только прослушиваемые порты.

Здесь в первом столбце отображается протокол, затем два столбца — это данные, которые нам ничего полезного не говорят, а за ними уже идут локальный и внешний адреса. Если локальный адрес — 127.0.0.1, то это значит, что сервис доступен только на этом компьютере, а значение 0.0.0.0 или :: означает любой адрес, к таким сервисам могут подключаться из сети. В нашем примере это Apache и systemd-resolvd.

lsof

Утилита lsof тоже предназначена для просмотра открытых соединений. Основная ее функция — просмотр открытых файлов, но с её помощью можно посмотреть открытые порты Ubuntu. Используйте такие параметры:

Опции -n и -P указывают, что необходимо отображать не только цифровые имена портов и ip-адреса, но и  имена доменов и сервисов. Опция -i отображает все сетевые подключения, а с помощью grep мы фильтруем только те, которые находятся в состоянии прослушивания.

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

ss

Команда ss — это улучшенная версия netstat. Точно так, как для замены ifconfig была придумана утилита ip, ss разработали для замены netstat. Команда будет выглядеть следующим образом:

netstatiptables,

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

nmap

Сетевой сканер nmap позволяет проверить список портов Ubuntu так, как бы это делал злоумышленник при попытке атаки на вашу систему. Здесь вы будете видеть все порты, которые видны снаружи. Но для сканирования нужно использовать внешний ip-адрес. Не сетевой ip-адрес провайдера, а адрес вашего компьютера, например, в локальной сети чаще всего используется 192.168.1.2. Посмотреть ip вашего сетевого интерфейса можно с помощью команды ifconfig:

Чтобы просто просканировать открытые порты Ubuntu, будет достаточно выполнить:

Также можно выполнить комплексное сканирование всех уязвимостей

Важно отметить, что команда не находит все уязвимости, а проверяет только самые простые. Для активации этого режима используется опция -A:

Как пользоваться nmap, читайте в отдельной статье.

Статистика открытых портов в Linux через netstat

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

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

Формат командной строки:

Команда netstat умеет показывать сетевые соединения (входящие/исходящие), таблицу маршрутизации, статистику по сетевым интерфейсам и т.д. Список всех открытых портов (TCP):

Список всех открытых портов (UDP)

Список только прослушиваемых портов (TCP)

Статистика по всем открытым портам

Подробное отображение списка с открытыми портами — добавлен PID и имя процессов

Объединим все ключи в полезную команду для просмотра открытых TCP/UDP портов с именами процессов (может понадобиться root-доступ)

Список подключенных хостов

2. Используя команду ss

ss — это другой полезный инструмент для отображения информации о сокетах. Её вывод выглядит похоже с тем, какую информацию даёт netstat. В документации netstat сказано, что она в основном устарела и её заменой является как раз ss.

Следующая команда покажет все прослушиваемые порты для TCP и UDP соединений в виде цифровых значений:

sudo ss -lntu

Опции имеют такое же значение:

  • -l означает показать только прослушивающие сокеты (по умолчанию они опускаются);
  • -t означает показать TCP сокеты;
  • -u означает показать UDP сокеты.

Если добавить ключ -p, то программа дополнительно покажет процессы, использующие сокет:

sudo ss -lntup

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

Как посмотреть порты в Linux через netstat

Здесь стоит отметить то что:

  • -l или —listening — Показать тоолько прослушиваемые порты
  • -p или —program — Показать название программы и ее PID
  • -t или —tcp Показать tcp порты
  • -u или —udp Показать udp порты
  • -n или —numeric Показать IP адреса в числовом виде

Как посмотреть порты в Linux через lsof

Эта программа позволяет пользователю узнать какие есть открытые порты в его системе и соединения, это касается также и сетевых, но для этого нужно использовать опцию i.

Вот еще пример того, какие процессы могут использоваться с портом 80:

Как посмотреть порты в Linux через nmap

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

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

С системой в данный момент Используется только роутер и в сеть будут видны только порты роутера. Также дополнительным защитным порогом может стать NAT сервер провайдера.

Технологие под названием NAT (от англ. Network Address Translation — «преобразование сетевых адресов») позволяет нескольким пользователям использовать один внешний IP адрес. Для того чтобы узнать какие порты у вас открыты сначала нужно узнать ваш IP адрес, для лучшей надежности лучше всего использовать онлайн сервис:

 И после этого запускаем сетевое сканирование:

В итоге мы получаем результаты и открытый порт 80 вашего сервера, или даже 21-го файлового сервера, которых мы не устанавливали, эти порты уже открыты роутером. 80 — Это для Веб интерфейса, 21 — можно использовать к примеру, для обновления прошивки. Также можно еще вообще не плучить результатов, это будет означать то что все порты являются закрыты или же на сервере установлено специальная система защиты под названием IDS.
Если у вас остались вопросы или предложения по теме «Как посмотреть открытые порты в Linux», то можете писать их в комментарии. Делитесь своим мнением с другими.

3.2 Устройство cua

Каждое устройство ttyS имеет соответствующее устройство cua. Велись некоторые
разговоры об отмене cua, так что возможно самое лучшее — это использовать ttyS.
Основное различие между cua и ttyS — то, что для обычной команды «open» (без
каких-либо флажков) в прикладной программе, cua откроет порт, даже если
сигналы управления модема (типа DCD) просят этого не делать.

(Чтобы проверить сигналы управления модема должен быть установлен stty.)
Порт ttyS отказался бы открываться в этом случае, но его можно принудительно
открыть, задавая некоторые флажки в команде «open».

Таким образом порт ttyS может делать все, что может порт cua. За исключением
того, что результаты «принудительного» открытия in read statements in the
program работают по-другому, но программисты могут обойти это, изменяя
свои программы. Удаление cua привело бы Linux в большее соответствие с Posix
стандартом и решило бы некоторые проблемы с файлами блокировки.

Добавление узла в кластерAdd a node to a cluster

  1. Проверьте IP-адрес для каждого узла.Check the IP address for each node. Для отображения IP-адреса текущего узла выполните следующий сценарий.The following script shows the IP address of your current node.

  2. Новому узлу нужно уникальное имя длиной не более 15 символов.The new node needs a unique name that is 15 characters or less. По умолчанию в Red Hat Linux имя компьютера — .By default in Red Hat Linux the computer name is . Это имя по умолчанию может не быть уникальным и имеет слишком большую длину.This default name may not be unique and is too long. Задайте имя компьютера на новом узле.Set the computer name the new node. Задайте имя компьютера, добавив его к .Set the computer name by adding it to . Следующий сценарий позволяет изменить с помощью .The following script lets you edit with .

    В следующем примере показан с дополнениями для трех узлов , и .The following example shows with additions for three nodes named , , and.

    Файл должен быть одинаковым на каждом узле.The file should be the same on every node.

  3. Остановите службу SQL Server на новом узле.Stop the SQL Server service on the new node.

  4. Следуйте инструкциям по подключению каталога файлов базы данных к общему расположению:Follow the instructions to mount the database file directory to the shared location:

    На сервере NFS установите .From the NFS server, install

    Откройте брандмауэр в клиентах и на сервере NFS:Open up the firewall on clients and NFS server

    Измените файл /etc/fstab, добавив команду mount:Edit /etc/fstab file to include the mount command:

    Чтобы изменения вступили в силу, выполните команду .Run for the changes to take effect.

  5. На новом узле создайте файл для хранения имени пользователя и пароля SQL Server для входа с помощью Pacemaker.On the new node, create a file to store the SQL Server username and password for the Pacemaker login. Следующая команда создает и заполняет такой файл:The following command creates and populates this file:

  6. В брандмауэрах на новом узле откройте порты для Pacemaker.On the new node, open the Pacemaker firewall ports. Чтобы открыть эти порты с помощью , выполните следующую команду:To open these ports with , run the following command:

    Примечание

    Если вы используете другой брандмауэр, который не имеет встроенной конфигурации высокого уровня доступности, откройте следующие порты, чтобы Pacemaker мог связываться с другими узлами в кластере.If you’re using another firewall that doesn’t have a built-in high-availability configuration, the following ports need to be opened for Pacemaker to be able to communicate with other nodes in the cluster

    • TCP: порты 2224, 3121, 21064TCP: Ports 2224, 3121, 21064
    • UDP: порт 5405UDP: Port 5405
  7. Установите пакеты Pacemaker на новом узле.Install Pacemaker packages on the new node.

  8. Задайте пароль для пользователя по умолчанию, который создается при установке пакетов Pacemaker и Corosync.Set the password for the default user that is created when installing Pacemaker and Corosync packages. Используйте тот же пароль, что и для существующих узлов.Use the same password as the existing nodes.

  9. Включите и запустите службу и Pacemaker.Enable and start service and Pacemaker. Это позволит новым узлам повторно подключаться к кластеру после перезагрузки.This will allow the new node to rejoin the cluster after the reboot. Выполните следующую команду на новом узле.Run the following command on the new node.

  10. Установите агент ресурсов отказоустойчивого кластера для SQL Server.Install the FCI resource agent for SQL Server. Выполните следующую команду на новом узле.Run the following commands on the new node.

  11. На существующем узле кластера выполните проверку подлинности нового узла и добавьте его в кластер:On an existing node from the cluster, authenticate the new node and add it to the cluster:

    В следующем примере в кластер добавляется узел с именем vm3.The following example adds a node named vm3 to the cluster.

Настройка общего хранилища и перемещение файлов базы данныхConfigure shared storage and move database files

Существует множество решений для предоставления общего хранилища.There are a variety of solutions for providing shared storage. В этом пошаговом руководстве демонстрируется настройка общего хранилища с NFS.This walk-through demonstrates configuring shared storage with NFS. Мы рекомендуем следовать рекомендациям и использовать Kerberos для защиты NFS (пример можно найти здесь: https://www.certdepot.net/rhel7-use-kerberos-control-access-nfs-network-shares/) ).We recommend to follow best practices and use Kerberos to secure NFS (you can find an example here: https://www.certdepot.net/rhel7-use-kerberos-control-access-nfs-network-shares/).

Предупреждение

Если не защитить NFS, любой пользователь, который может получить доступ к вашей сети и подменить IP-адрес узла SQL, сможет получить и доступ к файлам данных.If you do not secure NFS, then anyone who can access your network and spoof the IP address of a SQL node will be able to access your data files. Как всегда, проведите моделирование угроз для вашей системы, прежде чем использовать ее в рабочей среде.As always, make sure you threat model your system before using it in production. Другой вариант хранения — использовать общую папку SMB.Another storage option is to use SMB fileshare.

Настройка общего хранилища с NFSConfigure shared storage with NFS

Важно!

Размещение файлов базы данных на NFS-сервере с версией ниже 4 не поддерживается в этом выпуске.Hosting database files on a NFS server with version Это относится и к использованию NFS для отказоустойчивой кластеризации общих дисков, а также для баз данных в некластеризованных экземплярах.This includes using NFS for shared disk failover clustering as well as databases on nonclustered instances. Мы работаем над включением других версий сервера NFS в будущих выпусках.We are working on enabling other NFS server versions in the upcoming releases.

На сервере NFS выполните указанные ниже действия.On the NFS Server do the following:

  1. установить ;Install

  2. Включите и запустите .Enable and start

  3. Включите и запустите .Enable and start

  4. Измените , чтобы экспортировать каталог, общий доступ к которому необходимо предоставить.Edit to export the directory you want to share. Для каждой нужной общей папки требуется одна строка.You need 1 line for each share you want. Пример:For example:

  1. Экспортируйте общие папки:Export the shares

  2. Убедитесь в том, что пути являются общими или экспортированными. На сервере NFS выполните следующую команду:Verify that the paths are shared/exported, run from the NFS server

  3. Добавьте исключение в SELinux:Add exception in SELinux

  4. Откройте брандмауэр на сервере.Open the firewall the server.

Выполните указанные ниже действия во всех узлах кластера.Do the following steps on all cluster nodes.

  1. установить ;Install
  1. Откройте брандмауэр в клиентах и на сервере NFS:Open up the firewall on clients and NFS server

  2. Убедитесь в том, что общие папки NFS доступны на клиентских компьютерах.Verify that you can see the NFS shares on client machines

  3. Повторите эти действия во всех узлах кластера.Repeat these steps on all cluster nodes.

Дополнительные сведения об использовании NFS см. в следующих статьях:For more information about using NFS, see the following resources:

  • Серверы и брандмауэры NFS | Stack ExchangeNFS servers and firewalld | Stack Exchange
  • Подключение тома NFS | Руководство для сетевых администраторов LinuxMounting an NFS Volume | Linux Network Administrators Guide
  • Конфигурация сервера NFS | Портал для клиентов Red HatNFS server configuration | Red Hat Customer Portal

Используя команду netcat

Утилита netcat позволяет передавать/принимать данные через TCP/UDP соединения.

Шаблон вызова утилиты

Откроем прием (ключ -l) данных на порте 1234 с подробным выводом информации (ключ -v) и продолжением работы после разрыва соединения (ключ -k), по-умолчанию nc разрывает соединение после первого дисконекта.

Подключаемся к открытому порту и отправим import antigravity

Пример более полезного использования nc — передача файла. На принимающей стороне

На отправляющей стороне

Или можно отдавать файл любому подключившемуся. На передающей стороне

На принимающей стороне

Пример открытия shell’а на определенном порте (источник). На стороне, где нужно открыть шел

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

watch w | nc localhost 1234

Какие порты открыты для внешнего мира?

Обратите внимание, что сервис может иметь открытый порт, который можно прослушивать только на текущей машине. То есть, порт открыт, но вы не сможете получить к нему доступ из сети

Это полезно для безопасности, например, веб-сервер должен иметь открытый для остального мира порт 80, но мир не должен знать о (или иметь возможность подключения) порте 3306, который прослушивает сервер MySQL, поддерживающий вебсайт.

В идеале, если вы используете веб-сервер, единственные порты, которые должны быть видны извне это HTTP-порт 80, и возможно, SSH порт 22, поскольку вам понадобится подключаться к веб-серверу для выполнения команд.

Порты для служб, доступных только на локальном компьютере, будут иметь IP адрес 127.0.0.1 в поле локального адреса. В вышеприведенном примере это будет:

Как видно, MySQL прослушивает порт 3306 по IP адресу 127.0.0.1. Это означает, что к MySQL серверу могут подключиться только программы на той же машине.

Ссылка на основную публикацию