Вы говорите о слабой/сильной модели хоста , а в Linux по умолчанию используется слабая.
Is there a way to check if a packet intended to interface eth1 did reach that interface?
Я бы сказал, что брандмауэр позволяет поставить такое ограничение.
I have cases where a packet arrives on an interface of a host (the first one on its way) but does not seem to reach the intended interface (the actual application is not brought up). Such a test would ensure that the firewalling/forwarding is OK and that the problem is elsewhere (in the configuration of the app, a bug in the app, etc)
Ранее в своем примере вы упомянули ICMP. Что плохого в том, чтобы использовать именно его, чтобы проверить, есть ли связь на самом деле?
Кроме того, на данный момент вы довольно близко подошли к практике использования петлевых интерфейсов для сервисов — в основном они используются в сочетании с динамической маршрутизацией, но основная идея довольно проста :не имеет значения, какой интерфейс запрашивал. пришло, важно только то, что оно вообще нашло свой путь, и ответ также может быть отправлен. Интерфейсы Loopback никогда не отключаются, если об этом не сообщается вручную — «настоящие» интерфейсы OTOH могут изменить свое состояние из-за потери связи и так далее.
Когда приложение запускается через LD_LIBRARY_PATH=PATH app
, glibc сканирует все файлы в указанных каталогах.
Когда вы не используете этот флаг, для ускорения процесса открываются только кэшированные библиотеки (/etc/ld.so.cache
). Представьте, что вам нужно запускать определенное приложение 100 000 раз подряд, и каждый раз нужно заново сканировать все каталоги. Это может замедлить все до минимума.