Я видел, как некоторые люди говорят, что файл для установки статического IP-адреса все еще /etc/network/interfaces
И я видел, как другие люди говорили, что в 18.04 это сейчас на /etc/netplan
(о чем люди, похоже, недовольны)
Я пытался поставить это:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
dhcp6: no
addresses: [192.168.1.9/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1, 8.8.8.8, 8.8.4.4]
По моему /etc/netplan/50-cloud-init.yaml
и делаю sudo netplan apply
но это просто убивает подключение серверов к интернету.
networking
server
ip
18.04
final20
источник
источник
Ответы:
Это задает статическую IP-инструкцию в Ubuntu-Server 18.04.
Затем замените свою конфигурацию, например, следующими строками:
Применять изменения:
Если у вас возникнут проблемы, выполните:
[ ПРИМЕЧАНИЕ ]:
/24
эквивалентно255.255.255.0
ens160
ваше сетевое имя, вы можете получить его с помощью$ ifconfig
источник
service networking restart
Все ответы,
/etc/netplan/50-cloud-init.yaml
указывающие на прямое редактирование , неверны, поскольку CloudInit используется и генерирует этот файл. В Ubuntu 18.04.2 в файле четко написано:Таким образом, вам не следует редактировать этот файл, а тот, который находится под,
/etc/cloud/cloud.cfg.d/
если вы все еще хотите использовать CloudInit.Другой способ - сначала полностью отключить CloudInit, создав пустой файл
/etc/cloud/cloud-init.disabled
(см. Https://cloudinit.readthedocs.io/en/latest/topics/boot.html ), а затем остальные ответы в порядке. Под Ubuntu 18.04.2 мне пришлось использовать,dpkg-reconfigure cloud-init
чтобы он учитывал файл/etc/cloud/cloud-init.disabled
. Я думаю, что это немного странно.Я предлагаю вам переименовать файл (не правильное имя, так как
50-cloud-init.yaml
давайте думать, что он все еще использует CloudInit).Тогда вы можете получить имя файла,
/etc/netplan/01-netcfg.yaml
которое содержит конфигурацию ниже. Обратите внимание на использованиеnetworkd
рендерера вместо того,NetworkManager
потому что конфигурация находится на сервере.источник
sudo cloud-init clean -r
чтобы получить изменение, согласно ответу veperr (по крайней мере, для меня на Ubuntu Server 18.04.3).renderer
кажется, строка больше не действительна (и отсутствует в базовой версии редактируемого файла).Ubuntu 18.04 теперь использует Netplan для настройки сетевых интерфейсов, поэтому настройку необходимо выполнить в файле
/etc/netplan/50-cloud-init.yaml
, документация рекомендует больше не связываться со старым файлом/etc/network/interfaces
. Я использовал эту конфигурацию с моей виртуальной машиной Ubuntu Server, и пока она работает, просто убедитесь, что информация верна;optional: true
установка предположительно ускоряет время начальной загрузки, не проверяя , если интерфейс подключен или нет, это по умолчанию, а также нет необходимости значений DECLARE не используется, например , DHCP, если они отсутствуют , они воспринимаются как инвалиды, также рендер по умолчанию в Ubuntu Server,networkd
поэтому нет необходимости объявлять его. Взяв информацию из вашего поста, она должна выглядеть так:После того, как вы сохраните файл, запустите выходной флаг будет больше информации и может помочь обнаружить ошибки. Проверьте кабель Ethernet, если в виртуальном режиме проверьте конфигурацию виртуальной машины. При использовании WLAN я прочитал, что это немного сложнее в настройке, но я еще не настроил машину, подключенную к WiFi, с этой версией сервера.
sudo netplan --debug apply
debug
Если вы хотите больше информации о Netplan, есть веб-сайт, у него есть несколько простых примеров конфигурации.
https://netplan.io/
источник
Файл конфигурации имеет формат YAML : не используйте TAB при настройке файла. Работает только с SPACE .
Это была моя проблема.
источник
Я нашел другой способ, используя cloud-init.
/etc/cloud/cloud.cfg.d/50-curtin-networking.cfg
- содержимое кажется таким же, как в / etc / netplan.очистите, перезагрузите и повторно инициализируйте
cloud-init
с помощью этой команды:Это оно! Ваша система перезагрузится,
cloud-init
повторно инициализирует и заберет изменения/etc/cloud/cloud.cfg.d/50-curtin-networking.cfg
и применит их,/etc/netplan/50-cloud-init.yaml
и все будет хорошо. Подтвердите сifconfig
.источник
Это настройка, которая заставляет его работать.
перезагрузите сервер
замените eth0 на свой адаптер, найдите свой адаптер с помощью ifconfig.
источник
Чтобы найти доступные интерфейсы Ethernet, используйте
ip link show
Затем отредактируйте файл 50-cloud-init.yaml, используя
$sudo nano /etc/netplan/50-cloud-init.yaml
Добавьте конфигурацию для доступных интерфейсов, таких как eth0: и eth1:
Затем используйте команду,
$sudo netplan apply
чтобы применить изменения.источник
Как настроить статический IP на Ubuntu Server 18.04
Затем отредактируйте файл 50-cloud-init.yaml, используя
$sudo vim /etc/netplan/50-cloud-init.yaml
Применять изменения:
$ sudo netplan apply
источник
Конфигурация сети в 18.04 управляется через netplan и настраивается с помощью cloud-init. Чтобы изменить конфигурацию сети, отредактируйте
50-curtin-networking.cfg
файл в/etc/cloud/cloud.cfg.d/
. Если этот файл не существует, создайте его.Найдите название вашего интерфейса
Редактировать / создать файл конфигурации сети cloud-init
Чтобы установить статический IP-адрес, используйте ключ адресов, который принимает список адресов (IPv4 или IPv6), а также длину префикса подсети (например, / 24). Информация о шлюзе и DNS также может быть предоставлена:
Вы можете найти больше вариантов конфигурации на https://netplan.io/examples
Перезагрузите конфигурацию cloud-init. Это перезагрузит ваш сервер.
источник