Есть в 20й и 18й версии сервера один момент, с непривычки понятный не каждому. Теперь, для того чтобы без лишних телодвижений поменять сетевые настройки необходимо править файлик в каталоге /etc/netplan/. В Ubuntu Server 20.04 — установка статического IP, стандартное действие проделываемое практически с каждым сервером. Вы можете либо выдавать адрес серверу через DHCP, избегая необходимости лезть в настройки сети сервера. Но в случае если DHCP сервер упал, работа может встать до его повторного введения в строй. Поэтому более разумно, если у вашего сервера только один Ethernet порт, настраивать на нем статический IP адрес, не забывая при этом настраивать резервирование на DHCP сервере.
Слышали ли вы ранее о netplan? Далеко не факт. Это средство настройки сетевых интерфейсов, впервые появившееся в убунту начиная с версии 17.10. Эта утилита пришла на замену файлу /etc/network/interfaces, который ранее применялся настройки интерфейсов.
Ubuntu Server 20.04 и 18.04 — Установка статического IP
Данные которые мы будем настраивать
IP Адрес: 192.168.1.100 Маска: 24 (она же 255.255.255.0) Шлюз: 192.168.1.1 DNS: 192.168.1.1
-
Узнаём имя нашего интерфейса
ifconfig -a #или ip addr show
Как видим, имя нашего порта ens160. Его имя так же может варьироваться от ситуации к ситуации.
-
Изменяем файл настроек netplan
Файл со всеми параметрами находится в директории /etc/netplan
В нашем случае, его название 50-cloud-init.yaml . У вас он может называться по другому. Netplan считывает информацию из всех файлов в папке, попадающих под маску *.yaml . То есть на каждый интерфейс у вас может быть отдельный файл для удобства. Если файла нету, необходимо его сгенерировать командойsudo netplan generate
. При наличии файла, открываем его на редактирование с правами рутаsudo nano /etc/netplan/*.yaml
Так выглядят стандартные настройки интерфейса, сразу после установки сервера, когда при установке выбирается dhcp
network: ethernets: ens160: addresses: [] dhcp4: true optional: true version: 2
Нам необходимо привести настройки к следующему виду:
network: ethernets: ens160: dhcp4: no dhcp6: no addresses: [192.168.1.100/24, ] gateway4: 192.168.1.1 nameservers: addresses: [192.168.1.1, ] version: 2
-
Применяем изменения
Теперь осталось только применить изменения
sudo netplan apply
Так же если вы не уверены на 100% в правильности своих настроек, сначала можно использовать sudo netplay try. Эта команда применит настройки и если всё правильно, выдаст запрос на их сохранение. Если на этот запрос не ответить в течении 2х минут, настройки вернутся к изначальному состоянию. Минус этого способа, если вы конфигурируете сервер например по сети через ssh, то смена IP адреса — приведет к разрыву соединения, и ответить на запрос о подтверждении настроек вы уже не сможете. Но вы сможете подключиться к серверу по его новым реквизитам, убедиться что всё работает, и по истечении 2х минут, когда настройки сбросятся на старые, применить их окончательно.
Данные нехитрые манипуляции позволят нам настроить статический IP адрес сервера, который будет сохранен после перезагрузки.
Полезные ссылки:
8 комментариев
Работает. Спасибо!
Кстати, проблемы можно узнать с помощью команды: sudo netplan —debug apply
Спасибо, настройка сети для Ubuntu 20.04 оказалась не такой сложной. Что характерно — в ранних дистрибутивах на этапе установки настройки можно было ввести. В этот раз я то ли не увидел, то ли, почуяв DHCP, инсталлятор притопил акселлератор и более ему ничего нужно уже не было:)
Рад был помочь :). Там в инсталляторе по дефолту стоит DHCP. Чтобы настроить статику, нужно поймать момент, переключиться с DHCP на статику и там даст настроить 🙂
в версии 18.04 ругался на строку dhcp6: no, закоментил — заработало))
очень странно О_о. А насколько старый сетевой интерфейс? Может быть оно просто на уровне железа не поддерживает ipv6?
Между каждым блоком должно быть столько же + 2 пробела!
Спасибо! Помогло!