У меня в системе есть только loopback (lo) и виртуальный интерфейс. Я закрыл все остальные интерфейсы. Я также остановил брандмауэр, selinux и iptables. Я хочу пинговать IP-адрес в таблице маршрутизации, но получаю ошибку «сеть недоступна», как показано ниже.
Что я хочу узнать, как мне подойти к такой проблеме? 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 для себя. Поэтому ваш хост не может отправить туда пакет.
В общем, когда вы хотите узнать о сети, я рекомендую начать играться с Wireshark/tcpdump. Таким образом вы увидите, как идет поток пакетов, как работает адресация, какой у вас низкоуровневый трафик и т. д. Например, попытайтесь понять каждый пакет, который появляется при подключении браузера к (например) httpbin.org/ip.