Как установить статический IP на Сервере Ubuntu 18.04

Я видел, что некоторые люди говорят, что файл для установки статического 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 но это просто уничтожает соединение серверов с Интернетом.

29
задан 27 December 2018 в 20:51

9 ответов

Я нашел другой способ, используя cloud-init.

  1. Отредактируйте файл /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg - содержимое кажется таким же, как и в /etc/netplan.
  2. очистить, перезагрузить и заново инициализировать cloud-init с помощью этой команды:

    sudo cloud-init clean -r
    
  3. Вот и все! Ваша система перезагрузится, cloud-init будет повторно инициализировать и зафиксировать изменения в /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg и применить их к /etc/netplan/50-cloud-init.yaml, и все будет хорошо. Проверьте с помощью ifconfig.

4
ответ дан 23 November 2019 в 00:52

Это настройка, которая заставляет его работать.

$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.

0
ответ дан 23 November 2019 в 00:52

Как настроить статический IP-адрес на сервере Ubuntu 18.04

Затем отредактируйте файл 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

Apply изменения:

$ sudo netplan apply

0
ответ дан 23 November 2019 в 00:52

Использование 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 существует веб-сайт, это имеет некоторые примеры базовой конфигурации.

https://netplan.io/

6
ответ дан 23 November 2019 в 00:52

Это установлено статическая инструкция по IP в Сервере Ubuntu 18.04

$ 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

[ПРИМЕЧАНИЕ]:

13
ответ дан 23 November 2019 в 00:52

Файл конфигурации находится в формате YAML: не используйте ВКЛАДКУ при конфигурировании файла. Это только работает с ПРОСТРАНСТВОМ.

Это было моей проблемой.

5
ответ дан 23 November 2019 в 00:52

Все ответы, говоря Вам непосредственно отредактировать /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]
13
ответ дан 23 November 2019 в 00:52

Найти доступное использование интерфейсов 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 применять изменения.

0
ответ дан 23 November 2019 в 00:52

Настройка сети в 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
1
ответ дан 2 December 2019 в 06:58

Другие вопросы по тегам:

Похожие вопросы: