6

Я использую подсистему Windows для Linux. Когда я захожу на свой домашний сервер через SSH, я сначала получаю следующую ошибку

setsockopt IPV6_TCLASS 16: Operation not permitted:

и тогда все работает как положено:

Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-77-generic x86_64)
etc

Исходя из того, что я могу понять, setsockopt - это ... вещь (это не запускаемая команда), используемая для изменения параметров сокетов, но я понятия не имею, кто или почему.

Меня больше всего интересует, что это за ошибка и почему она всплывает, и, поскольку все по-прежнему работает, меньше интересуется, как ее исправить (если это не очень страшная вещь), хотя это тоже было бы неплохо узнать.

FWIW это недавно установленный сервер, и я использую ключи для SSH. Версия WSL Ubuntu: 16.04.2 LTS. Версия для Windows: 1703, номер сборки: 15063.296.

1 ответ1

1

setsockopt - это syscall Linux - команда, отправляемая ядру Linux из пользовательского приложения. setsockopt - очень универсальный инструмент, используемый для установки различных опций на всех видах сокетов. В вашем случае это, скорее всего, дескриптор соединения udp, используемого для разрешения имени (DNS) или соединения tcp с вашим домашним сервером (SSH).

IPV6_TCLASS используется для установки класса трафика IPV6, и причина его сбоя заключается в том, что Windows или WSL не поддерживают эту операцию или требуют специальных привилегий, которых у вас нет (текст «Недопустимая операция» поступает из стандартной библиотеки для ошибки ENOPERM, и хотя речь идет о разрешениях, не исключено, что WSL вернул его по другой причине для обеспечения совместимости приложений).

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

Если вы хотите больше узнать о том, как работает WSL, есть отличная серия видеороликов с сопровождающими статьями блога, охватывающими все аспекты WSL (прокрутите вниз записи блога для видео):

  1. Подсистема Windows для Linux: обзор архитектуры
  2. Подсистема Windows для Linux: Архитектура процесса
  3. Подсистема Windows для Linux: системные вызовы WSL
  4. Подсистема Windows для Linux: поддержка файловой системы WSL
  5. Совместимость с Windows и Ubuntu
  6. WSL Networking

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .