Libvirtd TCP порт 16514 запросы

Libvirtd TCP порт 16514 запросы

У меня есть сервер, на котором запущен libvirtd. Я только что проверил порты libvirtd и вижу вывод ниже. Мне интересно, почему порт 16514 PID всегда равен 1 и почему tcp6 обрабатывает ipv4 с несколькими соединениями.

Может ли кто-нибудь дать мне знать?

root@prd-140:~# netstat -anpt |grep 16514
tcp6       0      0 :::16514                :::*                    LISTEN      1/systemd
tcp6       0      0 10.1.6.140:16514       10.2.127.52:60556     ESTABLISHED 12289/libvirtd
tcp6       0      0 10.1.6.140:16514       10.2.127.52:29463     ESTABLISHED 12289/libvirtd
root@prd-140:~# lsof -i :16514
COMMAND    PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
systemd      1 root   59u  IPv6  9761899      0t0  TCP *:16514 (LISTEN)
libvirtd 12289 root    5u  IPv6  9761899      0t0  TCP *:16514 (LISTEN)
libvirtd 12289 root   30u  IPv6 20539283      0t0  TCP prd-140:16514->10.2.127.52:60556 (ESTABLISHED)
libvirtd 12289 root   35u  IPv6 20549679      0t0  TCP prd-140:16514->10.2.127.52:29463 (ESTABLISHED)

решение1

  • Первая часть посвящена активации systemd на основе сокетов.
  • Вторая часть посвящена обработке двойного стека IPv4/IPv6.

активация systemd на основе сокетов

systemd.сокет:

Файл конфигурации устройства, имя которого заканчивается на «.socket», кодирует информацию о сетевом сокете IPC или файловой системе FIFO, контролируемой и контролирующейся systemd, напримерактивация на основе сокета.

Для каждого блока розеток должен существовать соответствующий блок обслуживания [...]

Обратите внимание, что программное обеспечение демона, настроенное для активации сокетов с помощью сокетных модулей, должно иметь возможность принимать сокеты из systemd либо через собственный интерфейс передачи сокетов systemd (см.sd_listen_fds(3) для получения подробной информации о точном используемом протоколе и порядке передачи файловых дескрипторов) или с помощью традиционныхинетд(8)-стиль передачи сокетов (т. е. сокеты, передаваемые через стандартный ввод и вывод с использованием StandardInput=socket в служебном файле).

Эта функция является улучшением по сравнению с тем, что былоинетд(«Интернет-суперсервер») может предоставить, но может потребовать дополнительной поддержки со стороны приложения (для собственного интерфейса передачи сокетов systemd).

libvirtd предлагает такую ​​поддержку:

Монолитная системная интеграция

Когда демон libvirtd управляется systemd, становится доступен ряд желаемых функций, в частности активация сокетов.

  • libvirtd.service- основной файл модуля для запуска демона libvirtd в системном режиме.
  • libvirtd.socket- файл модуля, соответствующий основному сокету UNIX для чтения и записи /var/run/libvirt/libvirt-sock.

Здесь, похоже, настройки OP не просто используют сокет Unix по умолчанию, но и включеныУдаленные соединения TLS.

Цель состоит в том, чтобы позволитьсистемдуправлять сокетом без необходимости запускаlibvirtdпока не будет получен запрос на этот сокет.системдзатем начнетсяlibvirtdслужба, которая наследует сокет.

IPv6 использует режим двойного стека IPv4/IPv6

Вторая функция — это то, как работает двойной стек IPv4/IPv6: используйте API IPv6, получите IPv4 бесплатно. Это можно отключить с помощью IPV6_ONLYопции сокета, но по умолчанию используется двойной стек, как рекомендуется в RFC 3493: Базовые расширения интерфейса сокета для IPv6:

5.3 Параметр IPV6_V6ONLY для сокетов AF_INET6

Эта опция сокета ограничивает сокеты AF_INET6 только для связи IPv6. Как указано в разделе <3.7 Совместимость с узлами IPv4>, сокеты AF_INET6 могут использоваться для связи как по протоколу IPv4, так и по протоколу IPv6.

По умолчанию эта опция отключена.

Это означает, что по умолчанию IPv6 может обрабатывать IPv4 в системе, соответствующей RFC, и при этом приложение не отключает эту функцию активно.

netstatвыбирает отображение простого IPv4, но, например, локальный адрес, видимый на установленномРозеткина самом деле этоIPv6-адрес, сопоставленный с IPv4: ::ffff:10.1.6.140(или ::ffff:0a01:068c) как бы ss -anptотображалось вместо этого в Linux. Адрес напроволокаконечно же остается обычный адрес IPv4.

Связанный контент