статус выхода команды отличается, когда она запускается через strace

Есть два способа сделать это. Один из них - легкий путь, а другой - трудный.

Самый простой способ - запустить сервер DHCPv6 в вашей сети и самостоятельно назначить адреса хоста каждому устройству. Или позвольте серверу выбрать хост-часть; серверы DHCPv6, которые я видел, сохранят ту же часть хоста, даже если префикс изменится.

Сложный способ - использовать ip token для установки токенизированных идентификаторов интерфейса. Это описывается следующим образом:

Поддержка токенизированного идентификатора интерфейса IPv6 используется для назначения узлам хорошо известных адресов частей хоста при одновременном получении префикса глобальной сети из объявлений маршрутизатора. Основной целью для токенизированных идентификаторов являются серверные платформы, адреса которых обычно настраиваются вручную, а не с использованием DHCPv6 или SLAAC. Используя токенизированные идентификаторы, хосты по-прежнему могут определять свой сетевой префикс с помощью SLAAC, но при изменении префикса сети будет легче автоматически перенумеровать их. Токенизированные идентификаторы IPv6 описаны в черновике: .

Причина, по которой это трудный путь, заключается в том, что, хотя Linux включает эту функцию, ни один из известных мне дистрибутивов Linux не включает поддержку для сохранения такой конфигурации и ее применения во время загрузки, как это делается для адресов, настроенных вручную или DHCP. . Так что это, вероятно, не будет работать для вас, пока это не сделает какой-то дистрибутив. Обратите внимание, что теперь можно настраивать токены IPv6 в NetworkManager и systemd-networkd; в более поздних ответах есть конкретные инструкции по настройке.


Наконец, если ваш интернет-провайдер время от времени меняет ваш префикс, рассмотрите возможность использования уникальных локальных адресов в вашей сети. Таким образом, у всех ваших устройств всегда будет адрес, который никогда не изменится, по которому они могут разговаривать друг с другом. Некоторые домашние маршрутизаторы / маршрутизаторы SOHO с поддержкой IPv6 (например, OpenWrt) имеют возможность включить ULA во всей домашней сети; если в доме несколько маршрутизаторов, это следует включить на маршрутизаторе, который подключается к интернет-провайдеру.

1
16.02.2016, 12:07
1 ответ

Я не знаком с этим исполняемым файлом, но я предполагаю, что он должен запускаться с привилегиями (возможно, с правами suid root или подобными). strace -f не может запустить такой процесс с привилегиями, если только сам strace не запущен от имени root, и вам может понадобиться опция -u.

3
27.01.2020, 23:26

Теги

Похожие вопросы