Безопасное и удобное использование SSH

На сегодняшний день, системные инженеры, программисты имеют возможность безопасно управлять сервером на Linux удаленно с помощью консоли. Для Windows существуют специальные утилиты для подключения к Linux-серверам по SSH, такие как Putty, для пользователей MacOS и Linux можно использовать встроенный в операционную систему пакет ssh-client. Помимо SSH существуют и другие технологии удаленного доступа к физическим и виртуальным серверам: IPMI, VNC, RDP и прочие. Continue reading «Безопасное и удобное использование SSH»

Команда ss с примерами: отображение информации о сети/сокете TCP/UDP в Linux

Команда ss используется для отображения статистики сокетов. Она может отображать статистику для сокетов: PACKETTCPUDPDCCPRAW, сокетов Unix и т.д. Также она позволяет отображать информацию, аналогичную команде netstat. Команда ss может отображать наибольшее количество информации о TCP по сравнению с другими инструментами. Это новый, невероятно полезный и быстрый (по сравнению с netstat) инструмент для отслеживания TCP-соединений и сокетов. SS может предоставить информацию о:

  • Всех сокетах TCP.
  • Всех сокетах UDP.
  • Всех установленных соединениях ssh/ftp/http/https.
  • Всех локальных процессах, подключенных к X-серверу.
  • Всех сокетах tcp в состоянии FIN-WAIT-1
  • Может выполнять фильтрацию по состоянию подключенных и синхронизированных, SYN-RECVSYN-SENTTIME-WAIT адресов и портов.

Continue reading «Команда ss с примерами: отображение информации о сети/сокете TCP/UDP в Linux»

Новый публичный DNS-сервер от Cloudflare

Встречайте – еще один public DNS с IP-адресом 1.1.1.1, на этот раз от Cloudflare. Из Киева до него пинг всего 1 мс (против 30 сек до широкоизвестных гугловых 8.8.8.8 и 8.8.4.4).

Итого список легко запоминающихся DNS-серверов выглядит теперь примерно так:

  • 1.1.1.1 (Cloudflare)
  • 4.2.2.2 (Level3)
  • 8.8.4.4 (Google)
  • 8.8.8.8 (Google)
  • 9.9.9.9 (Проект quad9.net от IBM и Packet Clearing House)

Resolve IP адресов на Linux — самое детальное исследование.

Настройка сетевого взаимодействия сервисов не самая простая задача и часто осуществляется без глубокого понимания как требуется настраивать систему и какие настройки на что влияют. После миграции сервисов в docker контейнерах с centos 6 на centos 7 я столкнулся со странным поведением вебсервера: он пытался присоединиться к сервису по IPv6, а сервис же слушал только IPv4 адрес. Стандартный совет в такой ситуации — отключить поддержку IPv6. Но это не поможет в ряде случаев. Каких? В этой статье я задался целью собрать и детально объяснить как приложения resolve‘ят адреса.

Прочев эту статью вы узнаете:

  • какой алгоритм в Linux для резолва хостнеймов;
  • как переопределить логику определения хостнеймов;
  • какие функции и библиотеки использует ОС;
  • какие ловушки существуют при конфигурировании и как их не допускать;

Continue reading «Resolve IP адресов на Linux — самое детальное исследование.»

Всё об IP адресах и о том, как с ними работать

Для начала, стоит сказать о том, что такое IP адрес.

IP-адрес — уникальный сетевой адрес узла в компьютерной сети, построенной на основе стека протоколов TCP/IP (TCP/IP – это набор интернет-протоколов, о котором мы поговорим в дальнейших статьях). IP-адрес представляет собой серию из 32 двоичных бит (единиц и нулей). Так как человек невосприимчив к большому однородному ряду чисел, такому как этот 11100010101000100010101110011110 (здесь, к слову, 32 бита информации, так как 32 числа в двоичной системе), было решено разделить ряд на четыре 8-битных байта и получилась следующая последовательность: 11100010.10100010.00101011.10011110. Это не сильно облегчило жизнь и было решение перевести данную последовательность в, привычную нам, последовательность из четырёх чисел в десятичной системе, то есть 226.162.43.158. 4 разряда также называются октетами. Данный IP адрес определяется протоколом IPv4. По такой схеме адресации можно создать более 4 миллиардов IP-адресов. Continue reading «Всё об IP адресах и о том, как с ними работать»

Runlevel в Linux

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

Обычная последовательность загрузки в Linux состоит из нескольких этапов: Continue reading «Runlevel в Linux»