# 2024 Модуль Б: 1. Базовая настройка

#### Задание:

**1. Базовая настройка**

* a) Настройте имена устройств согласно топологии
  * a. Используйте полное доменное имя
* b) Сконфигурируйте адреса устройств на свое усмотрение. Для офиса HQ выделена сеть 10.0.10.0/24, для офиса BR выделена сеть 10.0.20.0/24. Данные сети необходимо разделить на подсети для каждого vlan.
* c) На SRV-HQ и SRV-BR, создайте пользователя sshuser с паролем P\@ssw0rd
  * a. Пользователь sshuser должен иметь возможность запуска утилиты sudo без дополнительной аутентификации.
  * b. Запретите парольную аутентификацию. Аутентификация пользователя sshuser должна происходить только при помощи ключей.
  * c. Измените стандартный ssh порт на 2023.
  * d. На CLI-HQ сконфигурируйте клиент для автоматического подключения к SRV-HQ и SRV-BR под пользователем sshuser. При подключении автоматически должен выбираться корректный порт. Создайте пользователя sshuser на CLI-HQ для обеспечения такого сетевого доступа.

#### Выполнение:

#### Назначаем полные доменные имена на устройства:

**RTR-HQ:**

Имя пользователя на **vESR** по умолчанию: **admin** с паролем **password**

* После первого входа на уст-во **vESR** - необходимо задать новый пароль для пользователя **admin**:

```
password P@ssw0rd
commit
confirm
```

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image.png)

* Задаём полное доменное имя (FQDN):

```
configure terminal
hostname rtr-hq.company.prof
do commit
do confirm
```

* Выполняем подключение к **ISP** для доступа в сеть **Интернет**:
  * Задаём IP-адрес из сети ISP-HQ - 11.11.11.0/24

```
interface gi1/0/1
ip address 11.11.11.11/24
description ISP
exit
```

* * Задаём параметры для DNS:

```
domain name company.prof
domain name-server 11.11.11.1
```

* * Задаём маршрут по умолчанию (шлюз):

```
ip route 0.0.0.0/0 11.11.11.1
```

* Применяем и подтверждаем внесёные измменения:

```
do commit
do confirm
```

* Проверяем доступ до сети Интернет:

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2822%29.png)

**RTR-BR:**

Аналогично **RTR-HQ:**

* задаём пароль **P\@ssw0rd** для пользователя **admin;**
* задаём полное доменное имя: **RTR-BR.company.prof**;
* выполняем подключение к провайдеру **ISP** для доступа в сеть **Интернет**;
  * сеть ISP-BR: 22.22.22.0/24

Результат:

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2823%29.png)

**SW-HQ | SRV-HQ | CLI-HQ | SW-BR | SRV-BR | CLI-BR:**

* на всех остальных устройствах выполняем команду:

```
hostnamectl set-hostname <FQDN>; exec bash
```

где:&#x20;

* **\<FQDN>** - полное доменное имя, например:
  * sw-hq.company.prof
  * srv-hq.company.prof
  * cli-hq.company.prof
  * sw-br.company.prof
  * srv-br.company.prof
  * cli-br.company.prof

Пример:

* sw-hq.company.prof

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2824%29.png)

* srv-hq.company.prof

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2825%29.png)

* cli-hq.company.prof

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2826%29.png)

* sw-br.company.prof

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2827%29.png)

* srv-br.company.prof

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2828%29.png)

* cli-br.company.prof

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2829%29.png)

#### Конфигурируем адреса устройств на свое усмотрение. Для офиса HQ выделена сеть 10.0.10.0/24, для офиса BR выделена сеть 10.0.20.0/24. Данные сети необходимо разделить на подсети для каждого vlan.

Требования к **vlan**:

* В обоих офисах **серверы** должны находиться во **vlan100**, **клиенты** – во **vlan200**, **management** подсеть – во **vlan300**
* Для каждого **vlan** рассчитайте подсети, выданные для офисов. Количество хостов в каждой подсети **не должно превышать 30-ти**

Таким образом, получаем примерно следующую таблицу разделения сетей на подсети:

* **HQ:**

| Имя подсети | Подсеть       | Диапазон адресов (узловых) |
| ----------- | ------------- | -------------------------- |
| vlan100     | 10.0.10.0/27  | 10.0.10.1 - 10.0.10.30     |
| vlan200     | 10.0.10.32/27 | 10.0.10.33 - 10.0.10.62    |
| vlan300     | 10.0.10.64/27 | 10.0.10.65 - 10.0.10.94    |

* **BR:**

| Имя подсети | Подсеть       | Диапазон адресов (узловых) |
| ----------- | ------------- | -------------------------- |
| vlan100     | 10.0.20.0/27  | 10.0.20.1 - 10.0.20.30     |
| vlan200     | 10.0.20.32/27 | 10.0.20.33 - 10.0.20.62    |
| vlan300     | 10.0.20.64/27 | 10.0.20.65 - 10.0.20.94    |

Таблица адресации устройств - выглядит следующим образом:

| Имя ВМ | Имя подсети | IP-адрес            |
| ------ | ----------- | ------------------- |
| RTR-HQ | ISP         | 11.11.11.11/24      |
|        | vlan100     | 10.0.10.1/27        |
|        | vlan200     | 10.0.10.33/27       |
|        | vlan300     | 10.0.10.65/27       |
| RTR-BR | ISP         | 22.22.22.22/24      |
|        | vlan100     | 10.0.20.1/27        |
|        | vlan200     | 10.0.20.33/27       |
|        | vlan300     | 10.0.20.65/27       |
| SW-HQ  | vlan300     | 10.0.10.66/27       |
| SW-BR  | vlan300     | 10.0.20.66/27       |
| SRV-HQ | vlan100     | 10.0.10.2/27        |
| SRV-BR | vlan100     | 10.0.20.2/27        |
| CLI-HQ | vlan200     | DHCP(10.0.10.32/27) |
| CLI-BR | vlan200     | DHCP(10.0.20.32/27) |
| CI-CD  | vlan100     | 10.0.10.3/27        |

**RTR-HQ:**

* **gi1/0/1** - интерфейс в сторону **ISP**(сконфигурирован для доступа в сеть Интернет ранее);
* **gi1/0/2** - интерфейс в сторону **SW-HQ** (в локальную сеть офиса **HQ**)

Поскольку **SW-HQ** - выступает в роле коммутатора, а сеть разделена на подстети **vlan,** то **RTR-HQ -** будет осуществлять маршрутизацию между **VLAN-ами:**

* для реализации маршрутизации между VLAN-ами - необходимо создать и настроить **sub-interface** (подинтерфейсы):
  * для серверной подсети - **vlan100**:

```
interface gi1/0/2.100
ip firewall disable
description vlan100
ip address 10.0.10.1/27
exit
```

* * для клиентской подсети - **vlan200:**

```
interface gi1/0/2.200
ip firewall disable
description vlan200
ip address 10.0.10.33/27
exit
```

* * для подсети управления - **vlan300**:

```
interface gi1/0/2.300
ip firewall disable
description vlan300
ip address 10.0.10.65/27
exit
```

* * применяем и подтверждаем внесённые изменения:

```
do commit
do confirm
```

* Проверяем:

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2810%29.png)

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2811%29.png)

**RTR-BR:**

Аналогично **RTR-HQ:**

* для серверной подсети - **vlan100 - gi1/0/2.100 - 10.0.20.1/27;**
* для клиентской подсети - **vlan200 - gi1/0/2.200 - 10.0.20.33/27;**
* для подсети управления - **vlan300 - gi1/0/2.300 - 10.0.20.65/27**

Результат:

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2812%29.png)

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2813%29.png)

На данном этапе назначить адреса сможем ещё только на **SRV-HQ** и **SRV-BR**, т.к. **CLI-HQ** и **CLI-BR** получат адреса после настройки **DHCP-сервера**, а на **SW-HQ** и **SW-BR** для назначения адресов - необходимо настроить интерфейс управления средствами **OpenvSwitch** и уже на него назначать адрес из соответствующего vlan (vlan300)

**SRV-HQ:**

В качестве сетевой подсистемы использует **etcnet**

* назначаем **ipv4 - адрес:**

```
echo 10.0.10.2/27 > /etc/net/ifaces/ens33/ipv4address
```

* назначаем адрес **шлюза:**

```
echo default via 10.0.10.1 > /etc/net/ifaces/ens33/ipv4route
```

* перезапускаем службу **network:**

```
systemctl restart network
```

* Проверяем:

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2814%29.png)

*На данном этапе шлюз всеравно будет не доступен, т.к. не настроена коммутация на **SW-HQ**, а весь трафик входящий на **RTR-HQ** блокируется по умолчанию средствами **firewall***

**SRV-BR:**

Аналогично **SRV-HQ,** результат:

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2815%29.png)

#### На SRV-HQ и SRV-BR, создаём пользователя sshuser с паролем P\@ssw0rd

**SRV-HQ | SRV-BR:**

* Создаём пользователя **sshuser:**

```
useradd sshuser -m -U -s /bin/bash
```

где:

**-m** - если домашнего каталога пользователя не существует, то он будет создан;

**-U** - создаётся группа с тем же именем, что и у пользователя, и добавляет пользователя в эту группу;

**-s /bin/bash** - задаётся имя регистрационной оболочки пользователя

* Задаём пароль **P\@ssw0rd** для пользователя **sshuser**:

```
passwd sshuser
```

* * после чего **дважды** задаём необходимы пароль (**P\@ssw0rd**) для пользователя:

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2816%29.png)

Реализуем возможность запуска утилиты **sudo** без дополнительной аутентификации для пользователя **sshuser**:

* В Альт sudo используется фреймворк control, который задаёт права на выполнение команды sudo. С его помощью можно дать или отнять права на использование команды sudo.
  * Штатное состояние политики:

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2817%29.png)

***wheelonly** — только пользователи из группы **wheel** имеют право получить доступ к команде **/usr/bin/sudo***

* добавляем пользователя **sshuser** в группу **wheel**:

```
usermod -aG wheel sshuser
```

* настраиваем **sudo**, правим конфигурационный файл **/etc/sudoers**:

```
vim /etc/sudoers
```

1. разрешаем использовать **sudo** для всех пользователей входящих в группу **wheel**:
2. разрешаем использовать **sudo** пользователю **sshuser** без дополнительной аутентификации:

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2819%29.png)

* Проверяем:
  * Выполняем вход под пользователем **sshuser** и попытаться выполнить **sudo -i** или иную другую команду требующую повышения привелегий до **root**:
    * SRV-HQ:

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2820%29.png)

* * * SRV-BR:

![](https://sysahelper.ru/pluginfile.php/218/mod_page/content/10/image%20%2821%29.png)

*Вся последующая настройка SSH будет выполнена позднее после получения необходимых сетевых параметров для **CLI-HQ** по **DHCP**, а также сгенерированы и переданы необходимые ключи*


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://seraphim.gitbook.io/volodyazetkin2024gitbook/2024-modul-b-1.-bazovaya-nastroika.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
