
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 lo
fazer ping em um endereço local).
Você também pode usar ip route get 1.2.3.4
para 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.