|
|
# Задание 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` на ошибки. |