конспект сиса

Настройка сети и системы

Пошаговое руководство по базовой настройке инфраструктуры: хост, адресация IPv4, пользователи, коммутация OVS, SSH, GRE-туннели, OSPF, NAT, DHCP и синхронизация времени. Команды для Linux (ALT/RHEL-семейство) и роутеров EcoRouter.

1Настройка хоста

Linux

bashКопироватьHostnamectl set-hostname "имя хоста"; exec bash

Имя хоста заполняется в формате имя_хоста.домен (например isp.ledi-gaga.com).

Проверить:

bashКопироватьhostname -f

EcoRouter

EcoRouter CLIКопироватьhostname "имя хоста" ip domain-name "домен"

2Настройка IPv4

На всех устройствах необходимо сконфигурировать IPv4:

  • Локальная сеть в сторону VLAN 100 — необходимо выделить сеть размером не более 32 адресов из адресного пространства 10.10.100.0/27.
  • Локальная сеть в сторону VLAN 200 — необходимо выделить сеть размером не более 16 адресов из адресного пространства 10.10.200.0/28.
  • Локальная сеть для управления VLAN 999 — необходимо выделить сеть размером не более 8 адресов из адресного пространства 10.10.30.0/29.
  • В локальной сети в сторону сервера — необходимо выделить сеть размером не более 16 адресов из адресного пространства 10.20.20.0/28.
  • В локальной сети в сторону компьютера — необходимо выделить сеть размером не более 8 адресов из адресного пространства 10.20.30.0/29.

Linux

Проверить адреса интерфейсов:

ip -br a

Основные директории для редактирования конфигурации интерфейса:

/etc/net/ifaces/ensX/optionsПример содержимого файла options

  • Type — тип подключения.
  • Config wireless — конфигурировать ли беспроводную сеть.
  • Bootproto — использование статического адреса или dhcp.
  • Config_ipv4 — конфигурировать ли ipv4.
  • Disabled — отключен интерфейс или нет.

В /etc/net/ifaces/ensX/ipv4address содержится адрес интерфейса в формате:

172.16.1.1/28 # ip address / маска подсети

etc/net/ifaces/ens3/ipv4address10.1.100.2/27Бр-срв

Vim /etc/net/ifaces/ens3/ipv4address10.20.20.2/28

После внесения изменений в конфигурацию сети, чтобы изменения вступили в силу, необходимо перезапустить службу network:

systemctl restart network

3Настройка пользователя

Linux

Перед тем как редактировать или добавлять пользователя, необходимо проверить, существует ли он:

cat /etc/psswd | grep hahauser

Для того чтобы добавить пользователя, необходимо ввести следующую команду:

useradd -u 2026 hahauser useradd -u идентификатор_пользователя имя_пользователя

Для того чтобы поменять или назначить пароль пользователю:

passwd hahauser passwd имя_пользователя

Для того чтобы проверить идентификатор пользователя:

id sshuser -u id имя_пользователя -u

Чтобы добавить пользователя в группу суперпользователей:

usermod -aG wheel hahauser usermod -aG wheel имя_пользователя

Для того чтобы проверить, может ли пользователь пользоваться sudo без ввода пароля, следует сначала проверить файл по следующей директории:

cat /etc/sudoers | grep hahauser

Если его там нет, проверить следующую директорию:

ls /etc/sudoers.d/ ls /etc/sudoers.d/ | grep hahauser

И проверить содержимое файла, если он там есть:

cat /etc/sudoers.d/hahauser

Пример вывода:

hahauser ALL=(ALL) NOPSSWD: ALL

EcoRouter

Чтобы проверить список созданных пользователей:

EcoRouter CLIКопироватьshow users localdb

Если пользователя нет, можно создать следующими командами.

Создание пользователя:

EcoRouter

Router_a(config)#username haha_root

Назначение пароля пользователю:

Router_a(config-user)#password Pa$w0rd

4Настройка коммутатора через утилиту OVS

Чтобы посмотреть, что настроено на коммутаторе, нужно ввести команду:

ovs-vsctl show

  • Port — физический порт.
  • Tag — какому VLAN принадлежит порт.
  • Interface — логический интерфейс.
  • Type — тип интерфейса, указывается, если он логический.

Чтобы добавить мост, необходимо вписать команду:

ovs-vsctl add-br "название моста"

Для того чтобы добавить порт к мосту:

ovs-vsctl add-port "название_моста" "название_порта" ovs-vsctl add-port "название_моста" "название_порта" tag="влан_тег"

По аналогии вы также добавляете всё остальное.

Также необходимо проверить интерфейс менеджмента (MGMT) по пути /etc/net/ifaces/MGMT/options, адрес /etc/net/ifaces/MGMT/ipv4address и маршрут по умолчанию /etc/net/ifaces/MGMT/ipv4route.

MGMT / optionsMGMT / ipv4addressMGMT / ipv4route

5Настройка SSH

Для настройки конфига необходимо перейти в директорию:

Копировать/etc/openssh/sshd_config

Чтобы ограничить количество попыток, необходимо найти следующий параметр и указать кол-во попыток:

MaxAuthTries 2

Чтобы настроить баннер, необходимо найти или ввести в документ следующую строку, указав путь до баннера:

КопироватьBanner /etc/openssh/banner

Путь может быть любым, но должен быть абсолютным. Затем создаём файл с необходимой надписью внутри него:

bashКопироватьvim /etc/openssh/banner

После чего перезапускаем службу:

bashКопироватьsystemctl restart sshd

6Настройка GRE туннеля

Router-a (с комментариями):

EcoRouter CLI — Router-aКопироватьrouter-a(config)#interface tunnel.0 # создаём интерфейс router-a(config-if-tunnel)#description "GRE" # даём название интерфейсу router-a(config-if-tunnel)#ip address 10.10.10.1/30 # назначаем адрес интерфейсу router-a(config-if-tunnel)#ip tunnel 172.16.1.2 172.16.2.2 mode gre # адреса роутера, из которого идёт трафик, и в который мы будем посылать трафик

Аналогично делаем на другом роутере:

EcoRouter CLI — Router-b

router-b(config)#interface tunnel.0

router-b(config-if-tunnel)#description "GRE"

router-b(config-if-tunnel)#ip address 10.10.10.2/30

router-b(config-if-tunnel)#ip tunnel 172.16.2.2 172.16.1.2 mode gre

router-b(config-if-tunnel)#exit

router-b(config)#write memory

Также не забудьте поставить маршрут по умолчанию:

EcoRouter CLI

router-b(config)#ip route 0.0.0.0/0 172.16.2.1 router-a(config)#ip route 0.0.0.0/0 172.16.1.1

7Настройка OSPF

Firewall

В левом столбце выбираем Маршрутизация → OSPF:

Меню: Маршрутизация → OSPF

В основных задаём параметры аутентификации соседей:

Параметры аутентификации соседей

Добавляем локальный интерфейс:

Добавление локального интерфейса

Перейдя в дополнительные настройки, смотрим, чтобы всё было проставлено как на скриншоте.

Router-a

EcoRouter CLI — Router-a

Router-a(config)#router ospf 1 Router-a(config-router)#ospf router-id 10.10.10.1

Router-a(config-router)#passive-interface default

Router-a(config-router)#no passive-interface tunnel.0

Router-a(config-router)#network 10.10.100.0/27 area 0

Router-a(config-router)#network 10.10.200.0/28 area 0

Router-a(config-router)#network 10.10.30.0/29 area 0

Router-a(config-router)#network 10.10.10.0/30 area 0

Router-a(config-router)#exit

Router-a(config-router)#interface tunnel.0 Router-a(config-if-tunnel)#ip ospf authentication message-digest Router-a(config-if-tunnel)#ip ospf message-digest-key 1 md5 P@ssw0rd

Router-b

EcoRouter CLI — Router-b

Router-b(config)#router ospf 1

Router-b(config-router)#ospf router-id 10.10.10.2

Router-b(config-router)#passive-interface default

Router-b(config-router)#no passive-interface tunnel.0

Router-b(config-router)#no passive-interface fw

Router-b(config-router)#network 10.10.10.0/30 area 0

Router-b(config-router)#network 10.20.10.1/30 area 0

Router-b(config-router)#exit

Router-b(config)#interface tunnel.0

Router-b(config-if-tunnel)#ip ospf authentication message-digest

Router-b(config-if-tunnel)#ip ospf message-digest-key 1 md5 P@ssw0rd

Router-b(config)#exit

Router-b(config)#interface fw

Router-b(config-if)#ip ospf authentication message-digest

Router-b(config-if)#ip ospf message-digest-key 1 md5 P@ssw0rd

8Настройка NAT

ISP

Проверяем переадресацию:

[root@isp ~]# sysctl -a | grep ip_forward net.ipv4.ip_forward = 1 net.ipv4.ip_forward_update_priority = 1 net.ipv4.ip_forward_use_pmtu = 0

Настраиваем NAT с помощью iptables:

[root@isp ~]#

iptables -t nat -A POSTROUTING -s 172.16.1.0/28 -o ens3 -j MASQUERADE [root@isp ~]# iptables -t nat -A POSTROUTING -s 172.16.2.0/28 -o ens3 -j MASQUERADE

mcedit /etc/net/sysctl.conf

  • Измените строку net.ipv4.ip_forward:-#net.ipv4.ip_forward = 0 +net.ipv4.ip_forward = 1

Сохраняем конфигурацию:

[root@isp ~]# iptables-save >> /etc/sysconfig/iptables

Активируем службу:

[root@isp ~]# systemctl enable --now iptables

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

[root@isp ~]# systemctl restart network

Router-a

EcoRouter CLI — Router-a

Router-a(config)#interface isp Router-a(config-if)#ip nat outside

Router-a(config-if)#ex

Router-a(config)#interface vl100 Router-a(config-if)#ip nat inside

Router-a(config-if)#ex

Router-a(config)#interface vl200

Router-a(config-if)#ip nat inside

Router-a(config-if)#ex

Router-a(config)#interface vl999

Router-a(config-if)#ip nat inside

Router-a(config)#ip nat pool INTERNET 10.10.100.1-10.10.100.32,10.10.200.1-10.10.200.16,10.10.30.1-10.10.30.8

Router-a(config)#ip nat source dynamic inside-to-outside pool INTERNET overload interface isp

Router-b

EcoRouter CLI — Router-b

Router-b(config)#interface isp

Router-b(config-if)#ip nat outside

Router-b(config)#interface fw

Router-b(config-if)#ip nat inside

Router-b(config)#ip nat pool INTERNET 10.20.10.1-10.20.10.2,10.20.20.1-10.20.20.14,10.20.30.1-10.20.30.6

Router-b(config)#ip nat source dynamic inside-to-outside pool INTERNET overload interface isp

9Настройка DHCP с помощью nmcli

Смотрим наши подключения:

bashКопироватьnmcli connection show

Удаляем подключение:

[root@cli ~]# nmcli connection delete uuid b311a571-ca77-37d3-8f68-50e9e4b2a577

И добавляем новое:

[root@cli ~]# nmcli connection add ifname ens3 type ethernet autoconnect yes con-name dhcp ipv4.method auto

10Настройка часового пояса

EcoRouter

EcoRouter CLIКопировать

Router_a(config)#ntp timezone utc+3 router_a(config)#do show ntp timezone System Time zone: Europe/Moscow Router_a(config)#

Linux

timedatectl [root@srv ~]# timedatectl set-timezone Europe/Moscow

222222222222222222222222222222222222222222222222

Комплексное руководство по настройке корпоративной ИТ-инфраструктуры

Аннотация

В данной статье рассматриваются пошаговые инструкции по настройке ключевых сервисов корпоративной сети: управление пользователями Samba через скрипты, развёртывание сетевого хранилища NFS, синхронизация времени через Chrony/NTP, автоматизация управления сетевым оборудованием с помощью Ansible, а также развёртывание и защита веб-приложения.

1Автоматизация настройки пользователей Samba

Для массового создания пользователей, установки им паролей, отключения срока действия пароля и добавления в группу удобно использовать bash-скрипт.

Скрипт настройки:

bash · скрипт настройкиКопировать# Создание группы 'ab' samba-tool group add ab # Цикл для создания 5 пользователей (abuser1 ... abuser5) for i in {1..5}; do # Создание пользователя с паролем P@ssw0rd samba-tool user add "abuser$i" "P@ssw0rd" # Отключение срока действия пароля samba-tool user setexpiry "abuser$i" --noexpiry # Добавление пользователя в группу 'ab' samba-tool group addmembers "ab" "abuser$i" done

2Настройка файловой системы NFS

Настройка выполняется в два этапа: на стороне сервера и на стороне клиента.

2.1. Настройка сервера

bashКопировать# Создание директории для экспорта mkdir -p /raid/nfs # Установка полных прав доступа (для тестовых сред) chmod 777 /raid/nfs # Применение изменений в конфигурации экспорта exportfs -arv # Включение и запуск службы NFS-сервера systemctl enable --now nfs-server

2.2. Настройка клиента

bashКопировать# Создание точки монтирования и установка прав mkdir -p /mnt/nfs chmod 777 /mnt/nfs # Добавление записи в /etc/fstab для автоматического монтирования # Пример строки: :/raid/nfs /mnt/nfs nfs defaults,_netdev 0 0 vim /etc/fstab # Монтирование всех файловых систем из fstab с выводом информации mount -a -v

3Настройка синхронизации времени (Chrony / NTP)

Корректное время критически важно для работы служб аутентификации и логирования. Настроим сервер времени на Linux и клиентов на базе Linux и Ecorouter.

3.1. Настройка сервера времени (Linux)

bashКопировать# Редактирование конфигурационного файла (раскомментировать или добавить allow и server) vim /etc/chrony.conf # Перезапуск службы systemctl restart chronyd # Проверка синхронизации chronyc tracking

3.2. Настройка клиента на маршрутизаторе Ecorouter

EcoRouter CLIКопироватьEcorouter(config)# ntp server 172.16.1.1 # Проверка статуса NTP ecorouter# show ntp status

3.3. Настройка клиента на Linux

bashКопировать# Указание сервера времени в конфигурации vim /etc/chrony.conf # Добавить строку: server 172.16.1.1 iburst # Перезапуск службы systemctl restart chronyd # Проверка источников времени chronyc sources

4Настройка системы автоматизации Ansible

Ansible позволяет централизованно управлять конфигурациями как Linux-серверов, так и сетевого оборудования (Ecorouter).

4.1. Подготовка управляющей ноды (Linux)

bashКопировать# Обновление репозиториев и установка базовых пакетов apt-get update && apt-get install -y ansible sshpass # Установка необходимых зависимостей Python apt-get install -y python3-pip pip3 install ansible-pylibssh # Установка коллекций для работы с сетевым оборудованием ansible-galaxy collection install ansible.netcommon ansible-galaxy collection install cisco.ios # Настройка инвентаризационного файла vim /etc/ansible/hosts/etc/ansible/hostsКопироватьserver ansible_host=10.10.100.2 ansible_user=sshusser ansible_password=P@ssw0rd ansible_port=2026 cli ansible_host=10.10.200.2 ansible_user=root ansible_password=toor router ansible_host=172.16.1.2 ansible_user=admin ansible_password=admin ansible_connection=network_cli ansible_network_os=ios

4.2. Подготовка сетевого оборудования (Ecorouter)

Для работы Ansible по SSH без интерактивного подтверждения необходимо отключить строгие проверки безопасности (в тестовых целях):

EcoRouter CLIКопироватьEcorouter(config)# security none

4.3. Проверка подключения

bashКопировать# Проверка доступности всех узлов из инвентаря ansible -m ping all

5Развёртывание веб-приложения на сервере

Процесс включает монтирование установочного образа, копирование файлов, настройку базы данных и запуск веб-сервера.

bash · монтирование и копированиеКопировать# 1. Монтирование ISO-образа (только для чтения) mount -o -ro -t iso9660 /home/user/additional.iso /mnt/ # 2. Копирование файлов веб-приложения cp /mnt/web/index.php /var/www/html/ cp /mnt/web/logo.png /var/www/html/bash · MariaDBКопировать# 3. Настройка СУБД MariaDB systemctl enable --now mariadb # Вход в консоль MariaDB под пользователем root mariadb -u rootMariaDB консольКопировать# Внутри консоли MariaDB выполнить: MariaDB [(none)]> SHOW DATABASES; MariaDB [(none)]> USE webdb; MariaDB [webdb]> SELECT user FROM mysql.user; MariaDB [webdb]> ALTER USER 'web'@'localhost' IDENTIFIED BY 'P@ssw0rd'; MariaDB [webdb]> EXIT;bash · правка конфигурацииКопировать# 4. Правка конфигурации веб-приложения (при необходимости) vim /var/www/html/index.phpПараметры подключения к БД в index.phpbash · перезапуск веб-сервераКопировать# 5. Перезапуск веб-сервера (httpd или apache2 в зависимости от дистрибутива) systemctl restart httpd # или systemctl restart apache2bash · импорт дампа БДКопировать# 6. Импорт дампа базы данных mariadb -u web -p'P@ssw0rd' -D webdb < /mnt/cdrom/web/dump.sql

6Настройка базовой веб-аутентификации (HTTP Basic Auth)

Для ограничения доступа к веб-ресурсам можно использовать механизм .htpasswd в связке с Nginx.

bashКопировать# Установка утилиты для работы с паролями (пакет apache2-utils) apt-get install -y apache2-htpasswd # Создание файла паролей и добавление пользователя WEB # Флаг -c создает новый файл (использовать только при первом запуске) htpasswd -c /etc/nginx/.htpasswd WEBbashКопировать# Проверка конфигурационного файла Nginx на синтаксические ошибки nginx -t # Перезапуск веб-сервера Nginx для применения изменений systemctl restart nginx

СПРАВКА