루프백 주소에 대한 라우팅 항목이 없나요?

루프백 주소에 대한 라우팅 항목이 없나요?
$ /sbin/route -n 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.122.1   0.0.0.0         UG    0      0        0 ens3
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 ens3

$ /sbin/ifconfig
ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.122.202  netmask 255.255.255.0  broadcast 192.168.122.255
        inet6 fe80::5054:ff:fe99:5eee  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:99:5e:ee  txqueuelen 1000  (Ethernet)
        RX packets 14906  bytes 18020195 (17.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7390  bytes 786783 (768.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 35568

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 496  bytes 39840 (38.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 496  bytes 39840 (38.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

패킷이 호스트에 도착하고 패킷의 목적지가 루프백 주소(127.0.0.1)인 경우,

  • 라우팅 테이블의 첫 번째 규칙에 따라 ens3(192.168.122.202)으로 전송된 다음 게이트웨이(192.168.122.1)로 전송됩니까?

  • 그렇다면 의도한 대상(127.0.0.1)이 localhost에 있으므로 잘못된 것이 아닌가요?

대상 주소가 루프백 주소인 경우 실제로 라우팅 항목이 없는 것인가요?

감사해요.

답변1

커널이 패킷을 처리할 때 라우팅 테이블은 커널이 패킷을 처리할 때 가장 먼저 고려하는 것이 아닙니다. 먼저 를 보는 데 사용할 수 있는 규칙 테이블이 있습니다 ip rule list. ip route list(및 더 이상 사용되지 않음 route) 기본 테이블을 나열하지만 우선 순위가 더 높고 ip route show table local이를 보기 위해 실행된 루프백 인터페이스와 관련된 모든 경로를 나열하는 로컬 테이블이 있습니다.

루프백 주소로 전송된 패킷은 시스템을 떠나지 않습니다.

관련 정보