Comments 21
Непонятны обстоятельства и причины такой ситуации.
Это где произошло - дома, в аудитории, в общежитии, на работе?
Почему не проходили DNS-запросы к 8.8.8.8?
Что за адреса DNS назначались по DHCP?
Что за виртуализация использовалась?
Использовался VirtualBox, сеть через домашний роутер, 8.8.8.8 не пинговалось потому что адрес шлюза стоял неверный. Видимо стоит подкорректировать, раз вы заметили.
Адреса, назначенные по DHCP, видны на скрине с автоматической настройкой.
Один из недостатков линуксов - тьма способов решения одной и той же задачи, и их хаотичное применение в разных версиях из поставки. в разных вариантах кастомной установки. С этим ничего не поделаешь. Я сам регулярно перезадаю вопрос нейросети - как узнать, чем управляется сетевая подсистема в ? и каждый раз забываю, методом тыка нахожу и тп. Хрен знает что с этим делать. только помнить, имхо - надежнее и быстрее метода нет.
И это не единственная проблема. Скажем в поставке современных линуксов нет сетевых утилит. В пакетах они находятся не под своими названиями а под странными, да еще и в нескольких вариантах упаковки. Удачно что в убунту. например, на эту тему есть хелпер. Он экономит много времени. Но вообщето это дичь все. И это не единственный варик, на самом деле. Ничего не поделаешь - философия линукс располагает к таким проблемам.
Это из разряда проблем с Windows когда иной раз абсолютно не понятно как получить обратную связь от сервиса. Вроде журналы поддерживаются. Но почемуто сервис не имеет режима отладки. Или скудно пишет, или вообще не пишет ничего специального.
Я все время вспоминаю свою бывшую. когда ее спрашиваешь о чем нибудь. мол - почему? Она так пожимает плечами, и говорит "ну... так..".
Правильно ли я понимаю, что всего лишь был выбран IP-адрес не из той сети? И надо было не 192.168.1.100 ставить, а, допустим, 10.0.2.100?
Судя по всему, да. Автор вбил какие-то выдуманные настройки сети, ничего не заработало, после чего автор три дня бился с этим.
Не уверен, что всё это достойно статьи на Хабре...
Пожалуй, здесь удивить может разве что работоспособность связки ip 192.168.1.100/24 и шлюза 10.0.0.2 (в отсутствие маршрута до него). Это волшебство видимо обеспечивается Nat в хостовой ОС.
Вообще говоря, иногда возишься с проблемой, копаешь глубоко, а всего лишь ошибся в написании опции или что-то другое элементарное, поэтому может статья имеет смысл, чтобы проиллюстрировать поиск решения в некоторых ситуациях.
Это была лабораторная работа с чётко заданным необходимым ip.
У вас был целый набор путей:
добавить в гостевую ОС виртуальный интерфейс - например, бридж - с заданным адресом
добавить этот адрес как дополнительный на существующий интерфейс (правда получить рабочее сочетание DHCP + static на одном интерфейсе с помощью "удобных инструментов администратора" это задача со звездочкой)
добавить в виртуальную машину второй сетевой адаптер привязанный к host-only сети виртуалбокса и сконфигурировать там статический адрес.
Но, с упорством, достойным лучшего применения, вы три дня методом эникейского тыка пытались дойти до тайного знания (и, похоже, не поняли вообще ничего - потому что не разделили в голове настройки сети и настройки DNS). Да-да, ping 8.8.8.8 это проверка работоспособности сети, а dig/nslookup это проверка DNS. А люимый многими ping google.com может споткнуться как в DNS так и в сети.
Сеть у вас заработала после указания маршрутизатора по умолчанию - строки IP4.ROUTE[2] и IP4.ROUTE[3] как на последней картинке как раз и показывают этот статус: ROUTE[3] это указанный вами default gateway, а ROUTE[2] это работа NetworkManager который "понимает базу": поскольку адрес default gateway не принадлежит сети которая назначена интерфейсу, то без указания явного маршрута на default gateway ничего работать не будет. И поэтому NM добавляет маршрут сразу.
DNS вы не починили потому, что он не был сломан (или сломан не вами) - просто администратор вашей сети внезапно(ц) зафильтровал исходящий DNS-трафик. Поэтому использовать внутренние DNS - работает, а внешние - нет.
А я смотрю, Linux хорошеет с каждым днём. ;)
PS: На рутерах и серверах надо использовать FreeBSD.
Да всё в порядке с Linux, ошибиться при настройке можно в любой системе.
Да всё в порядке с Linux
Нет. Далеко не всё в порядке. Нет стандартизации в настройке базовой функциональности.
Удача, если открыв /etc/network/interfaces найдёшь там заботливо оставленную фразу типа "можешь даже не пытаться тут что-то редактировать, настройки переехали туда-то и туда-то", чаще или фразы нет, или файла. И сиди бегай по мануалам, куда засунули и чем теперь считается "правильно" управлять сетевыми интерфейсами и службами. И это даже не в разных дистрибутивах, а просто при обновлении с одной стабильной версии ОС на следующую стабильную версию. При этом где-то 255.255.255.0 принимается, а где-то только /24. Расширения, имена, внутренние форматы файлов - запомнить нереально. . .conf .cfg .config .yaml .toml.Только каждый раз читать родные мануалы, написанные, видимо, в расчете на тех, кому это и так очевидно... Потому что самое главное или не упомянуто, или написано внизу "мелким шрифтом" за десятой ссылкой.
Про разнообразие, куда и в каком формате вписать IP DNS серверов, тоже можно вспомнить. Про файрволл по-умолчанию, ещё одна отдельная история.
У меня в инфраструктуре есть некоторое количество легаси бизнес систем, имеющих в своём составе VM на двух десятках разных версий Linux, каждый раз элементарная задача превращается в короткий квест с поиском документации.
В FreeBSD же, которая тоже имеется, с этим всё стабильно и понятно.
ошибиться при настройке можно в любой системе.
Согласен, но к собственным ошибкам тут добавляется фактор отсутствия стандартизации, когда начинаешь сомневаться, то ли ты опечатался, то ли вообще не там что-то менял.
Если сравнивать зоопарк, то с зоопарком, то есть, все Linux со всеми *BSD. Если сравнивать одну систему, то с одной системой. Допустим, Debian GNU/Linux и FreeBSD.
Ну и настраивать в основном нужно не саму систему, а тот или иной софт под неё, а он может быть одинаковым и для Linux, и для *BSD, потому разница в настройках разных приложений будет и там, и там.
Ну и настраивать в основном нужно не саму систему, а тот или иной софт под неё, ..
В моём случае наиболее часто встречающаяся задача - миграция сервисов в другие сегменты сети. При этом сначала обеспечивается сетевая связность хостов, а уже потом при необходимости тюнится софт. За который отвечает подразделение бизнес приложений. Отсюда и потребность разбираться с "зоопарком".
все Linux со всеми *BSD
Я был неточен: BSD семейство у нас представлено не только в виде FreeBSD, в основном это сетевые и около сетевые appliances на базе разных дистрибутивов NetBSD, FreeBSD, OpenBSD .. . Так что сравнивал. В BSD порядка больше.
Снесите Вы этот NetworkManager и не мучайтесь. systemd-networkd проще и его предостаточно.
Centos 7 не вышел из моды, он EOL. Больше 10 лет старичку, отпустите и забудте
Изучите разницу в VirtualBox между сетями "Виртуальная сеть" и "Сеть NAT".
Спасибо, что поделились своим опытом траблшутинга, было интересно почитать. Однако, появился вопрос.
Я так понимаю, что в virtualbox стоял "Тип подключения: NAT", а что если поставить "Сетевой мост"? Будут ли такие танцы вокруг DNS? :)
Настройка статического ip на CentOS 7 для чайников