По крайней мере, в двух версиях Linux (Ubuntu 9 и Debian 7) я заметил, что, хотя у меня настроен только один адрес обратной связи (lo - стандартный 127.0.0.1), он с радостью принимает пакеты для ЛЮБОГО 127.xxx адрес. Я нашел это довольно удивительным, так как другие варианты Unix отбрасывают пакеты для ненастроенных адресов.
- Почему / как это происходит? Это не происходит для любого другого диапазона адресов, не так ли?
- Как мне заставить его сделать более разумным (и безопасным!) вещь а на самом деле обращать внимание на настроенные адреса?
Редактировать: я прочитал RFC 5735, и это довольно небрежная интерпретация того, что переход от «адресов в пределах всего блока 127.0.0.0/8 нигде не появляется в сети на законных основаниях», чтобы «эта машина должна принимать пакеты для всех эти IP-адреса ". В конце концов, вы не видите хостов, принимающих пакеты для всех 172.16.0.0/12, просто потому, что у них настроен один из этих адресов.
Я хотел спросить не о спецификации адресов, а о реализации в Linux логики приема пакетов. "Почему" и "как" здесь означают, что в настоящем ядре Linux вызывает нормальную логику "этот пакет для меня"?