Вопрос или проблема
Я менял свою сетевую конфигурацию с DHCP на статический IP, но после изменения интернет просто не работает с установленным статическим IP. Однако возврат к настройкам DHCP делает всё снова рабочим.
Сначала я получал предупреждение, что адрес 'gateway4' устарел
. Я применил некоторые изменения, и предупреждения больше не появлялись, но интернет вообще не работал.
Я пробовал много решений на Stack Exchange, но они не сработали.
Это конфигурации с DHCP:
Я изменил конфигурацию на статический IP:
Ранее я использовал ‘gateway4’, но опустил его после того, как одно из решений посоветовало применить это позже с помощью команды sudo netplan generate --debug
, но ничего не изменилось.
Когда я изменил свою сеть на статическую, интернет просто не работал.
Ранее я использовал источники из следующих материалов для решения этой проблемы:
Я также потратил некоторое время, пытаясь выяснить, как установить статический IP-адрес на Ubuntu 22.04. (Ubuntu Server 22.04.02 LTS)
Вот решение, которое сработало для меня:
-
Откройте файл cloud-init ‘/etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg’ и убедитесь, что здесь есть запись “network: {config: disabled}”.
-
Откройте файл /etc/netplan/00-installer-config.yaml. Примерно вы увидите что-то вроде этого:
# Это конфигурация сети, записанная 'subiquity'
network:
ethernets:
enp0s3:
dhcp4: true
version: 2
Содержимое этого файла зависит от ваших сетевых настроек.
Примечание: В моей директории netplan у меня был единственный файл /etc/netplan/00-installer-config.yaml. Если у вас есть другие конфигурационные файлы, вам также нужно будет их просмотреть.
- Из вышеизложенного вы можете увидеть, что адрес IP устанавливается автоматически DHCP-сервером. Вам нужно изменить файл /etc/netplan/00-installer-config.yaml, чтобы статический IP был установлен как статический.
# Это конфигурация сети, записанная 'subiquity'
# Изменено 2023.05.01
network:
ethernets:
enp0s3:
dhcp4: false
addresses: [192.168.56.5/24]
nameservers:
addresses: [8.8.8.4,8.8.8.8]
routes:
- to: default
via: 192.168.56.1
version: 2
a) вы устанавливаете dhcp4 в значение false, чтобы отключить автоматическую настройку IP
b) в части adresses вам нужно установить адрес IP, в моем случае это 192.168.56.5, а маска подсети 24.
c) nameservers: Я использую публичный DNS Google
d) routes: via: вам нужно установить IP-адрес шлюза, в моем случае это 192.168.56.1
Вот и всё.
Томас Уорд дал вам решение в своем первом комментарии.
Поскольку всё работало, когда использовался DHCP, вы должны использовать IP в диапазоне от 10.0.0.3 до 10.0.0.254. Даже 10.0.0.1 может работать, если он не используется другим устройством. Используйте 10.0.0.2 как ваш шлюз, так как это ваш маршрутизатор.
Вы не можете использовать 192.168.56.0/24 как вашу сеть только потому, что кто-то использовал это в учебнике.
В моем случае установлено несколько сетевых интерфейсов с правильно установленными статическими IP-адресами, каждый из которых имеет свой IP шлюза. Однако я заметил, что только первый интерфейс работает нормально. Другие интерфейсы даже не могут достичь своих шлюзов. После того, как я запустил ‘sudo ip route show’ и ‘sudo ip route del <route/0> dev’, чтобы вручную удалить записи, я заметил, что всё начало работать нормально. Но через некоторое время это прекратилось, и только первый интерфейс продолжает работать. Кто-нибудь сталкивался с этой ситуацией?
Ответ или решение
Проблема с подключением к интернету на Ubuntu Server 22.04 после настройки статического IP
Если вы столкнулись с проблемой отсутствия интернет-соединения после смены конфигурации сети с DHCP на статический IP на Ubuntu Server 22.04, это может быть обусловлено различными факторами. Ваша ситуация обрисовывает типичную проблему, которая часто возникает при неправильной настройке сетевых параметров. Давайте детально рассмотрим решение этой проблемы.
1. Проверка конфигурации сети
Первое, что следует сделать, это убедиться, что ваша конфигурация сети правильно настроена в файле 00-installer-config.yaml
. Обратите внимание на следующие ключевые параметры:
-
Отключение DHCP: Убедитесь, что параметр
dhcp4
установлен вfalse
:dhcp4: false
-
Настройка адреса: Проверьте, что вы указали правильный статический IP-адрес и маску подсети. Например:
addresses: [192.168.56.5/24]
-
Настройка DNS: Вам нужно указать корректные адреса DNS-серверов:
nameservers: addresses: [8.8.8.8, 8.8.4.4]
-
Установите маршруты: Убедитесь, что ваш маршрут прописан корректно с использованием правильного IP-адреса шлюза:
routes: - to: default via: 192.168.56.1
2. Устранение несоответствий IP
Как упоминается в вашем случае, убедитесь, что вы используете IP-адрес в допустимом диапазоне. Например, если ваш маршрутизатор находится в сети 10.0.0.0/24, используйте IP-адреса от 10.0.0.3 до 10.0.0.254, а шлюзом можете установить 10.0.0.2.
3. Применение изменений
После внесения всех необходимых изменений, чтобы убедиться, что конфигурация применена корректно:
sudo netplan generate
sudo netplan apply
Если изменений нет, используйте команду с отладкой для выявления ошибок:
sudo netplan generate --debug
Это может помочь вам понять, на каком этапе возникает проблема.
4. Проверка состояния соединения
После применения конфигурации проверьте, работает ли сетевое соединение. Выполните команду ip a
для проверки ваших интерфейсов и их IP-адресов, а также ip route
для просмотра маршрутов. Убедитесь, что вы видите маршрут по умолчанию, который указывает на ваш шлюз.
5. Проблемы с многими сетевыми интерфейсами
Если у вас несколько сетевых интерфейсов, и один из них работает, а другие нет, проверьте настройки маршрутизации. Иногда старые маршруты могут конфликтовать с новыми настройками. Удалите ненужные маршруты с помощью:
sudo ip route del <route>
Заключение
Следуя этим шагам, вы сможете диагностировать и устранить проблемы с подключением к интернету после настройки статического IP на Ubuntu Server 22.04. Если проблема сохраняется, рекомендуется дополнительно изучить логи системы и сетевых конфигураций, которые могут дать дополнительную информацию о возникших ошибках.