Как Linux обрабатывает маршрутизацию запроса на свой собственный IP-адрес?

Как Linux обрабатывает маршрутизацию запроса на свой собственный IP-адрес?

CentOS в частности. Допустим, машина находится на 1.2.3.4, работает httpd и делает запросhttp://1.2.3.4, машина сразу понимает, что запрос адресован ей, и направляет его внутрь, или он отправляется наружу и обратно?

Мне интересно понять, как это работает.

решение1

Да, машина сразу узнает, что запрос предназначен для нее. Она делает это, сравнивая адрес назначения пакетов со всеми известными IP-адресами, назначенными сетевым интерфейсам, и помечая пакет какместный, обращаясь к специальной таблице маршрутизации ( ip route show table local ), которая автоматически обновляется правилами для локально назначенных IP-адресов, и заменяя сетевой интерфейс для доставки lo, даже если адрес назначения не является 127.0.0.1(попробуйте tcpdump -ni loвыполнить ping-тестирование локального адреса).

Вы также можете использовать , ip route get 1.2.3.4чтобы показать, как ядро ​​Linux классифицирует маршрут ( local) и через какой интерфейс оно доставит пакет, вместе с другой информацией, такой как шлюз и т. д.

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