решение1
Чтобы выполнить ping по IP-адресу, DNS не учитывается, поэтому мы рассмотрим это позже.
Мой стандартный подход к сетевому подключению:
ping localhost
ping gateway IP
ping google.com
Если что-то не получается (например, google.com), чтобы узнать, как далеко прошёл пакет, введите
traceroute google
Странно, что apt-get работает, но более надежным тестом было бы открыть браузер и зайти на какой-нибудь постоянно работающий веб-сайт, например google.com. Используйте lynx, если ничего больше не установлено.
Я наблюдал странное поведение сети в средах виртуальных машин. Проверьте, работает ли (или нет) сетевое подключение на других виртуальных машинах, работающих на том же компьютере. Я предполагаю по вашему вопросу, что физическое оборудование принадлежит вам и что у вас есть полный административный контроль над гипервизором и всеми операционными системами, работающими на нем.
Редко, но стоит обратить внимание, что ping использует мертвый интерфейс. Вы можете попробовать
ping -I interface google.com
Или вы можете вызвать поддельную версию ping. Вы должны вызвать /bin/ping
which ping
Другая возможность заключается в том, что ICMP где-то блокируется. Чтобы это доказать, попробуйте подключиться по ssh к любому известному работающему серверу. Даже если вы получите отказ в подключении, вы будете знать, что, по крайней мере, достигли устройства.