Пришлось установить для ряда сервисов Ubuntu Server 18.04 LTS и при настройки сети по памяти стал редактировать /etc/network/interfaces, который оказался пустым, кроме комментариев:
# ifupdown has been replaced by netplan(5) on this system. See
# /etc/netplan for current configuration.
# To re-enable ifupdown on this system, you can run:
# sudo apt install ifupdown
ifupdown я решил не ставить, а разобраться с netplan
Быстрое гугление дало понимание, что netplan стали продвигать с версии Ubuntu 17.10, так как я использую дистрибутивы только LTS это новшество обошло меня стороной:)
Посмотрим что есть в help netplan:
# netplan -h usage: /usr/sbin/netplan [-h] [--debug] ... Network configuration in YAML optional arguments: -h, --help show this help message and exit --debug Enable debug messages Available commands: help Show this help message apply Apply current netplan config to running system generate Generate backend specific configuration files from /etc/netplan/*.yaml ip Retrieve IP information from the system try Try to apply a new netplan config to running system, with automatic rollback
Из полученного можно понять, что аргументы выполняют следующее:
- apply — применяем наш конфиг
- generate — генерация конфигурации и сохранение ее из конфигурационного файла
- ip — возможность посмотреть что нам назначил DHCP
- try — проверить и применить конфиг с возможностью отката в течении 120 секунд
В данный момент на сервере установлено две сетевые карты с интерфейсами:
- ens160 — будет смотреть в интернет
- ens192 — будет смотреть в локальную сеть
Адреса будут использоваться статические:
- 222.222.222.222/24
- 10.200.6.222/24
Файлы конфигурации netplan находятся по пути:
/etc/netplan/*.yml
Конфигурация описывается с помощью языка разметки YML, который чувствителен к отступам (используем только пробелы, никакой табуляции)
Редактируем:
sudo vi /etc/netplan/50-cloud-init.yaml network: renderer: networkd ethernets: ens160: addresses: [222.222.222.222/24] gateway4: 222.222.222.1 nameservers: addresses: [8.8.8.8] ens192: addresses: [10.200.6.222/24] gateway4: 10.200.6.1 version: 2
Применим изменения:
sudo netplan try Warning: Stopping systemd-networkd.service, but it can still be activated by: systemd-networkd.socket Do you want to keep these settings? Press ENTER before the timeout to accept the new configuration Changes will revert in 107 seconds
У нас есть 120 секунд для применения конфигурации нажатием клавиши ENTER, в противном случае конфигурация не применится
При этом если в конфигурационном файле будет ошибка, то netplan укажет вам на это
Давайте сделаем так, чтобы интерфейс в локальной сети ens192 получал ip адрес по DHCP, немного изменим конфиг:
sudo vi /etc/netplan/50-cloud-init.yaml network: renderer: networkd ethernets: ens160: addresses: [222.222.222.222/24] gateway4: 222.222.222.1 nameservers: addresses: [8.8.8.8] ens192: dhcp4: yes version: 2
Как и в прошлом примере применяем конфигурацию:
sudo netplan try
Проверим, что нам выдал DHCP сервер:
sudo netplan ip leases ens192 netplan ip leases ens192 # This is private data. Do not parse. ADDRESS=10.200.6.51 NETMASK=255.255.255.0 ROUTER=10.200.6.1 SERVER_ADDRESS=10.200.6.20 NEXT_SERVER=10.200.6.20 T1=1296000 T2=2268000 LIFETIME=2592000 DNS=10.200.6.20 NTP=10.200.6.25 CLIENTID=ff2d1aa13300020000ab116f14f8ff3e51ec6c
Собственно все, FreeBSD с ее rc.conf мне более понятна чем netpalan, тем более непонятно, для чего ушли с ifupdown