가상 Linux 인터페이스에 대한 "네트워크에 연결할 수 없습니다" 오류를 디버깅하는 방법

가상 Linux 인터페이스에 대한 "네트워크에 연결할 수 없습니다" 오류를 디버깅하는 방법

시스템에는 루프백(lo)과 가상 인터페이스만 있습니다. 다른 모든 인터페이스를 닫았습니다. 방화벽, selinux, iptables도 중지했습니다. 라우팅 테이블의 IP 주소를 ping하려고 하는데 아래와 같이 "네트워크에 연결할 수 없습니다"라는 오류가 발생합니다.

내가 배우고 싶은 것은 그러한 문제에 어떻게 접근해야 하는가? dmesg 또는 시스템 메시지에는 아무것도 표시되지 않습니다. 인터페이스에 연결할 수 없는 이유는 무엇이며 문제를 어떻게 찾을 수 있습니까?

미리 감사드립니다

# ping 172.99.0.2
PING 172.99.0.2 (172.99.0.2) 56(84) bytes of data.
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable

# ifconfig 
gtp1: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 0
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

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 1000  (Local Loopback)
        RX packets 479  bytes 40888 (40.8 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 479  bytes 40888 (40.8 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.99.0.2      0.0.0.0         255.255.255.255 UH    0      0        0 gtp1

# find / -name gtp1
/proc/sys/net/ipv4/conf/gtp1
/proc/sys/net/ipv4/neigh/gtp1
/sys/class/net/gtp1
/sys/devices/virtual/net/gtp1

답변1

이 경로에 할당된 인터페이스에는 자체 IP가 없으므로 이 주소는 라우팅 테이블에 있지만 ping을 수행할 수 없습니다. 따라서 호스트는 그곳으로 패킷을 보낼 수 없습니다.

일반적으로 네트워크에 대해 배우고 싶다면 Wireshark/tcpdump를 사용해 보는 것이 좋습니다. 이렇게 하면 패킷 흐름, 주소 지정 방식, 낮은 수준의 트래픽 등을 확인할 수 있습니다. 예를 들어 브라우저를 통해 httpbin.org/ip에 연결할 때 표시되는 모든 패킷을 이해하려고 노력합니다.

관련 정보