Я видел, что некоторые люди говорят, что файл для установки статического 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
но это просто уничтожает соединение серверов с Интернетом.
Я нашел другой способ, используя cloud-init.
/etc/cloud/cloud.cfg.d/50-curtin-networking.cfg
- содержимое кажется таким же, как и в /etc/netplan. очистить, перезагрузить и заново инициализировать cloud-init
с помощью этой команды:
sudo cloud-init clean -r
Вот и все! Ваша система перезагрузится, cloud-init
будет повторно инициализировать и зафиксировать изменения в /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg
и применить их к /etc/netplan/50-cloud-init.yaml
, и все будет хорошо. Проверьте с помощью ifconfig
.
Это настройка, которая заставляет его работать.
$sudo nano /etc/netplan/50-cloud-init.yaml
network:
ethernets:
eth0:
addresses:
- 192.168.1.9/24
dhcp: false
gateway4: 192.168.1.1
nameservers:
addresses:
- 192.168.1.1
- 8.8.8.8
- 8.8.4.4
search: []
version: 2
$sudo netplan apply
перезагрузите сервер
измените eth0 на свой адаптер, найдите свой адаптер с помощью ifconfig.
Затем отредактируйте файл 50-cloud-init.yaml, используя $sudo vim /etc/netplan/50-cloud-init.yaml
network:
ethernets:
eno1:
addresses:
- 10.0.1.10/24
dhcp4: false
gateway4: 10.0.1.1
nameservers:
addresses:
- 10.0.1.2
search: []
version: 2
$ sudo netplan apply
Использование Ubuntu 18.04 теперь Netplan для конфигурирования сетевых интерфейсов, таким образом, конфигурация должна быть реализована в файле /etc/netplan/50-cloud-init.yaml
, документация советует для не питания больше со старым файлом /etc/network/interfaces
. Я использовал эту конфигурацию со своей виртуальной машиной Сервера Ubuntu, и она работает до сих пор, просто удостоверьтесь, что информация корректна; optional: true
установка, предположительно, ускоряет время начальной загрузки, не проверяя, соединен ли интерфейс или нет, это - значение по умолчанию, также нет никакой потребности объявить значения, не используемые, например, DHCP, если они отсутствуют, они взяты, как отключено, также рендерер по умолчанию в Сервере Ubuntu networkd
таким образом, нет никакой потребности объявить это. Беря информацию из Вашего сообщения, это должно быть похожим на это:
network:
ethernets:
eht0:
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]
optional: true
version: 2
После того как Вы сохранили файл, работаете sudo netplan --debug apply
debug
флаг произведет больше информации и может помочь обнаружить любые ошибки. Проверьте кабель Ethernet, если в виртуальном обзоре конфигурация VM. При использовании WLAN я считал, что это немного более хитро для установки, но я еще не настроил машину, подключенную к WiFi с этой серверной версией.
Если Вы хотите больше информации о Netplan существует веб-сайт, это имеет некоторые примеры базовой конфигурации.
$ sudo nano /etc/netplan/50-cloud-init.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens160:
dhcp4: no
addresses: [192.168.1.137/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
$ sudo netplan apply
В случае, если Вы сталкиваетесь с некоторыми проблемами, выполнитесь:
$ sudo netplan --debug apply
[ПРИМЕЧАНИЕ]:
/24
эквивалентно с 255.255.255.0
ens160
Ваше имя Ethernet, можно получить его использование $ ifconfig
Файл конфигурации находится в формате YAML: не используйте ВКЛАДКУ при конфигурировании файла. Это только работает с ПРОСТРАНСТВОМ.
Это было моей проблемой.
Все ответы, говоря Вам непосредственно отредактировать /etc/netplan/50-cloud-init.yaml
являются неправильными, так как CloudInit используется и генерирует тот файл. В Ubuntu 18.04.2 это ясно записано в файле:
$ cat /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
eno1:
dhcp4: true
version: 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
потому что конфигурация находится на сервере.
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: no
addresses: [192.168.1.246/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]
Найти доступное использование интерфейсов Ethernet ip link show
Затем отредактируйте 50 облаков init.yaml использование файла $sudo nano /etc/netplan/50-cloud-init.yaml
Добавьте конфигурацию для доступных интерфейсов как eth0: и eth1:
network:
ethernets:
eth0:
addresses:
- 192.168.1.9/24
dhcp: false
gateway4: 192.168.1.1
nameservers:
addresses:
- 192.168.1.1
- 8.8.8.8
- 8.8.4.4
search: []
eth0:
addresses:
- 192.168.1.9/24
dhcp: false
version: 2
Затем используйте команду $sudo netplan apply
применять изменения.
Настройка сети в 18.04 управляется через netplan и настраивается с помощью cloud-init.
Чтобы изменить конфигурацию сети, отредактируйте файл 50-curtin-networking.cfg
в /etc/cloud/cloud.cfg.d/
. Если этот файл не существует, создайте его.
Найдите имя своего интерфейса
ip address show
Редактируйте/создайте файл конфигурации сети cloud-init
sudo nano /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg
Чтобы установить статический IP-адрес, используйте ключ address, который берет список (IPv4 или IPv6) адресов вместе с длина префикса подсети (например, /24). Также может быть предоставлена информация о шлюзе и DNS:
network:
version: 2
ethernets:
eth0:
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]
Дополнительные параметры конфигурации можно найти на странице https://netplan.io/examples
Перезагрузите конфигурацию cloud-init. Это перезагрузит ваш сервер.
sudo cloud-init clean -r