Como o Linux lida com o roteamento de uma solicitação para seu próprio IP?

Como o Linux lida com o roteamento de uma solicitação para seu próprio IP?

CentOS em particular. Digamos que a máquina esteja em 1.2.3.4 executando httpd e faça uma solicitação parahttp://1.2.3.4, a máquina sabe imediatamente que a solicitação se destina a ela mesma e, portanto, a encaminha internamente ou ela sai e volta?

Estou interessado em entender como isso funciona.

Responder1

Sim, a máquina sabe imediatamente que a solicitação se destina a ela mesma. Ele faz isso comparando o endereço de destino dos pacotes com todos os endereços IP conhecidos atribuídos às interfaces de rede, marcando o pacote comolocal, consultando uma tabela de roteamento especial ( ip route show table local ) que é atualizada automaticamente com regras para endereços IP atribuídos localmente e substituindo a interface de rede para entregá-la por lo, mesmo que o endereço de destino não seja 127.0.0.1(tente tcpdump -ni lofazer ping em um endereço local).

Você também pode usar ip route get 1.2.3.4para mostrar como o kernel do Linux classifica a rota ( local) e através de qual interface ele entregará o pacote, junto com outras informações como o gateway etc.

informação relacionada