# Задание 2 На машине `studX-net1` настройте в подсети `192.168.0.0/24` DHCP сервер в файле `/etc/systemd/network/ens18.network`. На другой машине `studX-net2` настройте получение IP адреса по DHCP. Проверьте, что машины видят друг друга. 0. Узнайте статус сервиса `systemd-networkd`. ``` # systemctl status systemd-networkd ``` 1. Активируйте `systemd-networkd`, если он не активирован (disabled). ``` # systemctl enable systemd-networkd ``` 2. Запустите systemd-networkd, если он не запущен (inactive, dead). ``` # systemctl start systemd-networkd ``` 3. Определите имя настраиваемого интерфейса (не loopback). ``` # ip link ``` 4. Для настройки интерфейса `ens18` машин `stud1-net1` и `stud1-net2` создайте или отредактируйте в каждой` /etc/systemd/network/ens18.network`. конфигурация `ens18.network` машины `stud1-net1` с DHCP сервером. ``` [Match] Name=ens18 [Network] Address=192.168.0.2/24 DHCPServer=yes [DHCPServer] EmitDNS=yes DNS=1.1.1.1 EmitRouter=yes Router=192.168.0.1 PoolOffset=1 PoolSize=252 ``` Такой DHCP сервер будет выдавать новым устройствам IP из диапазона 192.168.0.[3-255], адрес шлюза и DNS сервер. При этом, сам машина с DHCP сервером не будет иметь доступ в интернет (у неё не будет шлюза и DNS адреса). конфигурация `ens18.network` машины `stud1-net2`, которая получает адрес от DHCP сервера. ``` [Match] Name=ens18 [Network] DHCP=yes ``` 5. Перечитайте конфигурацию сети на обеих машинах. ``` # networkctl reload ``` 6. На машине `stud1-net2` определите выданный DHCP сервером ip адрес для интерфейса `ens18`. ``` ip a ``` Срок, на который выдан адрес можно посмотреть командой `ip` в поле `valid_lft`: ``` ip -4 address show ens18 ``` а в логах увидеть факт получения адреса ``` journalctl --unit=systemd-networkd ``` После конфигурации на обеих машинах проверьте их взаимную доступность по сети. ``` stud@stud1-net2$ ping 192.168.0.2 stud@stud1-net1$ ping 192.168.0.X ``` 7. В случае проблемы, проверьте, что `systemd-networkd` запущен и в его логах нет ошибок на обоих машинах. ``` # systemctl status systemd-networkd ``` Изучите логи модуля `systemd-networkd` на ошибки ``` journalctl --unit=systemd-networkd ``` Обратитесь к секциям `[Network]`, `[DHCPServer]` в странице мануала `systemd.network`. Для быстрого поиска можете использовать `/`, по аналогии с поиском в vim. Проверьте настройки `ens18.network` на ошибки.